aboutsummaryrefslogtreecommitdiff
path: root/modules/neovim/nvim/lua
diff options
context:
space:
mode:
Diffstat (limited to 'modules/neovim/nvim/lua')
-rw-r--r--modules/neovim/nvim/lua/config/lsp/clangd.lua21
-rw-r--r--modules/neovim/nvim/lua/config/lsp/init.lua (renamed from modules/neovim/nvim/lua/config/lsp.lua)14
-rw-r--r--modules/neovim/nvim/lua/config/lsp/zls.lua11
3 files changed, 44 insertions, 2 deletions
diff --git a/modules/neovim/nvim/lua/config/lsp/clangd.lua b/modules/neovim/nvim/lua/config/lsp/clangd.lua
new file mode 100644
index 0000000..14554a4
--- /dev/null
+++ b/modules/neovim/nvim/lua/config/lsp/clangd.lua
@@ -0,0 +1,21 @@
+return {
+ cmd = { "clangd" },
+ filetypes = { "c", "cpp", "cuda" },
+ root_markers = {
+ "meson.build",
+ ".clang-format",
+ ".clang-tidy",
+ "compile_commands.json",
+ "compile_flags.txt",
+ "configure.ac"
+ },
+ single_file_support = true,
+ capabilities = {
+ textDocument = {
+ completion = {
+ editsNearCursor = true,
+ },
+ },
+ offsetEncoding = { "utf-8", "utf-16" },
+ },
+}
diff --git a/modules/neovim/nvim/lua/config/lsp.lua b/modules/neovim/nvim/lua/config/lsp/init.lua
index d0a9827..d618df2 100644
--- a/modules/neovim/nvim/lua/config/lsp.lua
+++ b/modules/neovim/nvim/lua/config/lsp/init.lua
@@ -4,10 +4,15 @@ vim.opt.pumblend=5
local methods = vim.lsp.protocol.Methods
local map = vim.keymap.set
+vim.lsp.config = {
+ ['clangd'] = require("config.lsp.clangd"),
+ ['zls'] = require("config.lsp.zls")
+}
+
local servers = {
clangd = {},
zls = {},
- rust_analyzer = {}
+-- rust_analyzer = {}
}
local orig_util_open_floating_preview = vim.lsp.util.open_floating_preview
@@ -81,5 +86,10 @@ local lspconfig = require('lspconfig')
for server, config in pairs(servers) do
-- config.capabilities = require('blink.cmp').get_lsp_capabilities(config.capabilities)
- lspconfig[server].setup({})
+ vim.lsp.config[server].settings = config
+ vim.lsp.enable(server)
+-- lspconfig[server].setup({})
end
+
+-- vim.lsp.config['clangd'] = require('config.lsp.clangd')
+-- vim.lsp.enable('clangd')
diff --git a/modules/neovim/nvim/lua/config/lsp/zls.lua b/modules/neovim/nvim/lua/config/lsp/zls.lua
new file mode 100644
index 0000000..d2013a4
--- /dev/null
+++ b/modules/neovim/nvim/lua/config/lsp/zls.lua
@@ -0,0 +1,11 @@
+return {
+ cmd = { "zls" },
+ filetypes = { "zig", "zir" },
+ on_new_config = function(new, old)
+ if vim.fn.filereadable(vim.fs.joinpath(new_root_dir, "zls.json")) ~= 0 then
+ new.cmd = { "zls", "--config-path", "zls.json" }
+ end
+ end,
+ root_markers = { "zls.json", "build.zig", ".git" },
+ single_file_support = true,
+}