diff --git a/after/ftplugin/cs.lua b/after/ftplugin/cs.lua index a37b283..06ae8e3 100644 --- a/after/ftplugin/cs.lua +++ b/after/ftplugin/cs.lua @@ -1,7 +1,83 @@ -require("lvim.lsp.manager").setup("csharp_ls", { +local lsp = require "lvim.lsp" + +require("lvim.lsp.manager").setup("omnisharp", { handlers = { - ["textDocument/definition"] = require("csharpls_extended").handler, + ["textDocument/definition"] = require("omnisharp_extended").handler, }, + on_attach = function(client, bufnr) + client.server_capabilities.semanticTokensProvider.legend = { + tokenModifiers = { "static" }, + tokenTypes = { + "comment", + "excluded", + "identifier", + "keyword", + "keyword", + "number", + "operator", + "operator", + "preprocessor", + "string", + "whitespace", + "text", + "static", + "preprocessor", + "punctuation", + "string", + "string", + "class", + "delegate", + "enum", + "interface", + "module", + "struct", + "typeParameter", + "field", + "enumMember", + "constant", + "local", + "parameter", + "method", + "method", + "property", + "event", + "_namespace", + "label", + "xml", + "xml", + "xml", + "xml", + "xml", + "xml", + "xml", + "xml", + "xml", + "xml", + "xml", + "xml", + "xml", + "xml", + "xml", + "xml", + "xml", + "xml", + "xml", + "xml", + "xml", + "regexp", + "regexp", + "regexp", + "regexp", + "regexp", + "regexp", + "regexp", + "regexp", + "regexp", + }, + } + + lsp.common_on_attach(client, bufnr) + end, }) local formatters = require "lvim.lsp.null-ls.formatters" diff --git a/lazy-lock.json b/lazy-lock.json index 15da230..85dfe10 100644 --- a/lazy-lock.json +++ b/lazy-lock.json @@ -15,7 +15,6 @@ "cmp-rg": { "branch": "master", "commit": "1cad8eb315643d0df13c37401c03d7986f891011" }, "cmp_luasnip": { "branch": "master", "commit": "18095520391186d634a0045dacaa346291096566" }, "crates.nvim": { "branch": "main", "commit": "3648f8787656d7572740560331553abdaa8cb982" }, - "csharpls-extended-lsp.nvim": { "branch": "master", "commit": "865ace7f8f4069b4965e86005392dc78eec0858f" }, "dressing.nvim": { "branch": "master", "commit": "f16d7586fcdd8b2e3850d0abb7e46f944125cc25" }, "friendly-snippets": { "branch": "main", "commit": "0dd6114bea08276d9111d58c5dce5e256bbc8921" }, "git-conflict.nvim": { "branch": "main", "commit": "3c89812a83ac749b8851a473863958325a1cd57c" }, @@ -33,25 +32,26 @@ "mason.nvim": { "branch": "main", "commit": "7d7efc738e08fc5bee822857db45cb6103f0b0c1" }, "middleclass": { "branch": "master", "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" }, "move.nvim": { "branch": "main", "commit": "13a812850de42bb0339b033b4ec64c5ed8622560" }, - "neodev.nvim": { "branch": "main", "commit": "13872b2e3bfe4e7c76a0fd6010bbb466f3a84f91" }, - "nlsp-settings.nvim": { "branch": "main", "commit": "887b5df517947ac43f894fd4579c42926fd52aa1" }, + "neodev.nvim": { "branch": "main", "commit": "91bebf70e2c50c1d298752b74a34ca9da3c04f85" }, + "nlsp-settings.nvim": { "branch": "main", "commit": "f6e8784d53908060b507a777c57449b472fbae97" }, "noice.nvim": { "branch": "main", "commit": "7e358170cea2314d9768b3f63616e8fad186195e" }, - "nui.nvim": { "branch": "main", "commit": "2b2732528e4a79eb8542568bd51d25f710395bd6" }, + "nui.nvim": { "branch": "main", "commit": "d5a82aae64426a805e19d8ef5a379292f9dc55d3" }, "null-ls.nvim": { "branch": "main", "commit": "c89333e034a8daba654ebfcf9a4ec9f87765f01e" }, "numb.nvim": { "branch": "master", "commit": "2c89245d1185e02fec1494c45bc765a38b6b40b3" }, "nvim-autopairs": { "branch": "master", "commit": "59df87a84c80a357ca8d8fe86e451b93ac476ccc" }, "nvim-cmp": { "branch": "main", "commit": "fc0f694af1a742ada77e5b1c91ff405c746f4a26" }, "nvim-highlight-colors": { "branch": "main", "commit": "8d7e7fe540b404ec06a248d6e5797eaf3362420c" }, "nvim-lightbulb": { "branch": "master", "commit": "ca5b44a8efffb5fec1963ccd21f25ec04cc778b7" }, - "nvim-lspconfig": { "branch": "master", "commit": "90f5b0c2d7c5d3deb76b5deb0ecc379023c4f299" }, + "nvim-lspconfig": { "branch": "master", "commit": "3817092e6b1a6b1f2de4d4c1b4dfd29889dfd9f4" }, "nvim-navic": { "branch": "master", "commit": "15704c607569d6c5cfeab486d3ef9459645a70ce" }, "nvim-surround": { "branch": "main", "commit": "10b20ca7d9da1ac8df8339e140ffef94f9ab3b18" }, - "nvim-tree.lua": { "branch": "master", "commit": "e2a4c9d09d205ebe5f071264f43f73a0077c43a3" }, - "nvim-treesitter": { "branch": "master", "commit": "6847ce4f8c93a0c8fd5a3d4df08975ab185187eb" }, + "nvim-tree.lua": { "branch": "master", "commit": "63061404f4686267673707c4baffed740b2cad6a" }, + "nvim-treesitter": { "branch": "master", "commit": "e54c8873ef964c730af451fedd4490166d335e3a" }, "nvim-ts-autotag": { "branch": "main", "commit": "40615e96075c743ef47aaf9de966dc348bec6459" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "0bf8fbc2ca8f8cdb6efbd0a9e32740d7a991e4c3" }, "nvim-ts-rainbow2": { "branch": "master", "commit": "5becf2cec4b8e06b6df745cf515ac35c6c2e6308" }, "nvim-web-devicons": { "branch": "master", "commit": "2a125024a137677930efcfdf720f205504c97268" }, + "omnisharp-extended-lsp.nvim": { "branch": "main", "commit": "53edfb413a54c9e55dcddc9e9fa4977a897e4425" }, "one_monokai.nvim": { "branch": "main", "commit": "426a46cb69322f6f25ec5ecb16e6e98c080f0399" }, "onedarker.nvim": { "branch": "freeze", "commit": "b00dd2189f264c5aeb4cf04c59439655ecd573ec" }, "playground": { "branch": "master", "commit": "2b81a018a49f8e476341dfcb228b7b808baba68b" }, @@ -68,7 +68,7 @@ "todo-comments.nvim": { "branch": "main", "commit": "09b0b17d824d2d56f02ff15967e8a2499a89c731" }, "toggleterm.nvim": { "branch": "main", "commit": "cf146a267a6a7db62b1e2aff40414b20081048a1" }, "tokyonight.nvim": { "branch": "main", "commit": "161114bd39b990995e08dbf941f6821afbdcd666" }, - "trouble.nvim": { "branch": "main", "commit": "324c977cfeacb8498ca9ba1c74cc35bd18858a8d" }, + "trouble.nvim": { "branch": "main", "commit": "23c1327b85bd51258f9f8bd8f77f024acef6de69" }, "vim-illuminate": { "branch": "master", "commit": "a2907275a6899c570d16e95b9db5fd921c167502" }, "which-key.nvim": { "branch": "main", "commit": "e271c28118998c93a14d189af3395812a1aa646c" }, "windows.nvim": { "branch": "main", "commit": "c7492552b23d0ab30325e90b56066ec51242adc8" } diff --git a/lsp-settings/omnisharp.json b/lsp-settings/omnisharp.json new file mode 100644 index 0000000..883ed47 --- /dev/null +++ b/lsp-settings/omnisharp.json @@ -0,0 +1,21 @@ +{ + "omnisharp.enableRoslynAnalyzers": true, + "omnisharp.enableAsyncCompletion": true, + "omnisharp.enableDecompilationSupport": true, + "omnisharp.organizeImportsOnFormat": true, + "omnisharp.analyzeOpenDocumentsOnly": true, + "omnisharp.enableImportCompletion": true, + "omnisharp.enableAsyncCompletion": true, + "csharp.inlayHints.parameters.enabled": true, + "csharp.inlayHints.parameters.forIndexerParameters": true, + "csharp.inlayHints.parameters.forLiteralParameters": true, + "csharp.inlayHints.parameters.forObjectCreationParameters": true, + "csharp.inlayHints.parameters.forOtherParameters": true, + "csharp.inlayHints.parameters.suppressForParametersThatDifferOnlyBySuffix": true, + "csharp.inlayHints.parameters.suppressForParametersThatMatchArgumentName": true, + "csharp.inlayHints.parameters.suppressForParametersThatMatchMethodIntent": true, + "csharp.inlayHints.types.enabled": true, + "csharp.inlayHints.types.forImplicitObjectCreation": true, + "csharp.inlayHints.types.forImplicitVariableTypes": true, + "csharp.inlayHints.types.forLambdaParameterTypes": true +} diff --git a/lua/pea/plugins.lua b/lua/pea/plugins.lua index bb9f318..c43eaa7 100644 --- a/lua/pea/plugins.lua +++ b/lua/pea/plugins.lua @@ -10,7 +10,7 @@ local plugins = { event = "BufRead", }, { - "Decodetalkers/csharpls-extended-lsp.nvim", + "Hoffs/omnisharp-extended-lsp.nvim", ft = "cs", }, {