aboutsummaryrefslogtreecommitdiff
path: root/configs/nvim/lua
diff options
context:
space:
mode:
Diffstat (limited to 'configs/nvim/lua')
-rw-r--r--configs/nvim/lua/crupest/nvim/lsp/c.lua14
-rw-r--r--configs/nvim/lua/crupest/nvim/lsp/csharp.lua64
-rw-r--r--configs/nvim/lua/crupest/nvim/lsp/frontend.lua26
3 files changed, 104 insertions, 0 deletions
diff --git a/configs/nvim/lua/crupest/nvim/lsp/c.lua b/configs/nvim/lua/crupest/nvim/lsp/c.lua
new file mode 100644
index 0000000..c855af3
--- /dev/null
+++ b/configs/nvim/lua/crupest/nvim/lsp/c.lua
@@ -0,0 +1,14 @@
+local capabilities = require("cmp_nvim_lsp").default_capabilities()
+local lspconfig = require("lspconfig")
+
+local function setup_lsp_c()
+
+-- setup lsp clangd
+lspconfig.clangd.setup {
+ capabilities = capabilities
+}
+end
+
+return {
+ setup_lsp_c = setup_lsp_c
+}
diff --git a/configs/nvim/lua/crupest/nvim/lsp/csharp.lua b/configs/nvim/lua/crupest/nvim/lsp/csharp.lua
new file mode 100644
index 0000000..b06b9cc
--- /dev/null
+++ b/configs/nvim/lua/crupest/nvim/lsp/csharp.lua
@@ -0,0 +1,64 @@
+local lspconfig = require("lspconfig");
+local capabilities = require("cmp_nvim_lsp").default_capabilities()
+
+local is_win = vim.fn.has("win32") ~= 0
+
+local function setup_lsp_csharp()
+ local omnisharp_cmd = nil
+
+ if is_win then
+ omnisharp_cmd = { "C:/Users/crupest/Programs/omnisharp-win-x64/OmniSharp.exe" }
+ end
+
+ if omnisharp_cmd then
+ lspconfig.omnisharp.setup {
+ capabilities = capabilities,
+
+ handlers = {
+ ["textDocument/definition"] = require('omnisharp_extended').handler,
+ },
+
+ cmd = omnisharp_cmd,
+
+ -- Enables support for reading code style, naming convention and analyzer
+ -- settings from .editorconfig.
+ enable_editorconfig_support = true,
+
+ -- If true, MSBuild project system will only load projects for files that
+ -- were opened in the editor. This setting is useful for big C# codebases
+ -- and allows for faster initialization of code navigation features only
+ -- for projects that are relevant to code that is being edited. With this
+ -- setting enabled OmniSharp may load fewer projects and may thus display
+ -- incomplete reference lists for symbols.
+ enable_ms_build_load_projects_on_demand = false,
+
+ -- Enables support for roslyn analyzers, code fixes and rulesets.
+ enable_roslyn_analyzers = false,
+
+ -- Specifies whether 'using' directives should be grouped and sorted during
+ -- document formatting.
+ organize_imports_on_format = false,
+
+ -- Enables support for showing unimported types and unimported extension
+ -- methods in completion lists. When committed, the appropriate using
+ -- directive will be added at the top of the current file. This option can
+ -- have a negative impact on initial completion responsiveness,
+ -- particularly for the first few completion sessions after opening a
+ -- solution.
+ enable_import_completion = true,
+
+ -- Specifies whether to include preview versions of the .NET SDK when
+ -- determining which version to use for project loading.
+ sdk_include_prereleases = true,
+
+ -- Only run analyzers against open files when 'enableRoslynAnalyzers' is
+ -- true
+ analyze_open_documents_only = false,
+ }
+ end
+end
+
+return {
+ setup_lsp_csharp = setup_lsp_csharp
+}
+
diff --git a/configs/nvim/lua/crupest/nvim/lsp/frontend.lua b/configs/nvim/lua/crupest/nvim/lsp/frontend.lua
new file mode 100644
index 0000000..7ec094e
--- /dev/null
+++ b/configs/nvim/lua/crupest/nvim/lsp/frontend.lua
@@ -0,0 +1,26 @@
+local lspconfig = require("lspconfig");
+local capabilities = require("cmp_nvim_lsp").default_capabilities()
+
+local function setup_lsp_frontend()
+ lspconfig.cssls.setup {
+ capabilities = capabilities
+ }
+
+ lspconfig.html.setup {
+ capabilities = capabilities
+ }
+
+ lspconfig.tsserver.setup {
+ capabilities = capabilities,
+ on_new_config = function(new_config, new_root_dir)
+ local local_tsserver = require("crupest-util").find_npm_exe(new_root_dir, "typescript-language-server");
+ if local_tsserver then
+ new_config.cmd = { local_tsserver, "--stdio" }
+ end
+ end,
+ }
+end
+
+return {
+ setup_lsp_frontend = setup_lsp_frontend
+}