From 49ae828c112f32d19e491f95c0e046f93107d8db Mon Sep 17 00:00:00 2001 From: Sergey Besedin Date: Wed, 21 Jan 2026 11:04:18 +0400 Subject: [PATCH] Let's do some C# --- config/nvim/init.vim | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/config/nvim/init.vim b/config/nvim/init.vim index 93510f7..585fd94 100644 --- a/config/nvim/init.vim +++ b/config/nvim/init.vim @@ -40,6 +40,9 @@ Plug 'ziglang/zig.vim' Plug 'elixir-editors/vim-elixir' Plug 'mhinz/vim-mix-format' +" C# / .NET +Plug 'seblyng/roslyn.nvim' + " Godot Plug 'habamax/vim-godot' @@ -51,6 +54,7 @@ Plug 'milkypostman/vim-togglelist' " l and q " Snippets Plug 'L3MON4D3/LuaSnip' +Plug 'rafamadriz/friendly-snippets' " Appearance Plug 'itchyny/lightline.vim' @@ -113,6 +117,8 @@ Plug 'nvim-telescope/telescope.nvim' Plug 'MunifTanjim/nui.nvim' Plug 'nvim-neo-tree/neo-tree.nvim' +Plug 'jiangmiao/auto-pairs' + call plug#end() " Colorscheme @@ -232,7 +238,7 @@ local on_attach = function(client, bufnr) buf_set_keymap('n', '[d', 'lua vim.diagnostic.goto_prev()', opts) buf_set_keymap('n', ']d', 'lua vim.diagnostic.goto_next()', opts) buf_set_keymap('n', 'q', 'lua vim.diagnostic.setloclist()', opts) - buf_set_keymap('n', 'f', 'lua vim.lsp.buf.formatting()', opts) + buf_set_keymap('n', 'f', 'lua vim.lsp.buf.format()', opts) -- buf_set_keymap('n', 'gh', 'lua require(\'lspsaga.provider\').lsp_finder()', opts) -- buf_set_keymap('n', 'ca', 'lua require(\'lspsaga.codeaction\').code_action()', opts) @@ -283,6 +289,20 @@ vim.lsp.config('elixirls', { capabilities = capabilities }) +vim.lsp.config('roslyn', { + cmd = { + "dotnet-bin-10.0", + vim.fn.expand("~/.local/share/roslyn/content/LanguageServer/linux-x64/Microsoft.CodeAnalysis.LanguageServer.dll"), + "--logLevel", -- this property is required by the server + "Information", + "--extensionLogDirectory", -- this property is required by the server + "/tmp/roslyn_ls/logs", + "--stdio", + }, + on_attach = on_attach, + capabilities = capabilities +}) + vim.lsp.config('gdscript', { -- cmd = { "godot", "--editor", "--headless", "--lsp-port", "6005"}, on_attach = on_attach, @@ -412,6 +432,8 @@ local has_words_before = function() return col ~= 0 and vim.api.nvim_buf_get_lines(0, line - 1, line, true)[1]:sub(col, col):match("%s") == nil end +require("luasnip.loaders.from_vscode").lazy_load() + cmp.setup({ experimental = { ghost_text = { hl_group = 'Comment' }