diff options
Diffstat (limited to '.config/nvim')
| -rw-r--r-- | .config/nvim/init.lua | 37 | ||||
| -rw-r--r-- | .config/nvim/lua/lsp.lua | 52 | ||||
| -rw-r--r-- | .config/nvim/nvim-pack-lock.json | 20 |
3 files changed, 55 insertions, 54 deletions
diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua index 275c609..6635444 100644 --- a/.config/nvim/init.lua +++ b/.config/nvim/init.lua @@ -19,20 +19,22 @@ vim.g.loaded_perl_provider = 0 vim.g.loaded_ruby_provider = 0 vim.g.loaded_python3_provider = 0 +vim.o.autocomplete = true + vim.o.list = true vim.o.mouse = 'a' vim.o.foldcolumn = "auto" vim.o.cursorline = true vim.o.laststatus = 2 -vim.o.statusline = table.concat({ - '%<%n:', - '%f %h%w%m%r%y ', - '%=', - "%{% &showcmdloc == 'statusline' ? '%-10.S ' : '' %}", - "%{% exists('b:keymap_name') ? '<'..b:keymap_name..'> ' : '' %}", - "%{% &ruler ? ( &rulerformat == '' ? '%-14.(%l,%c%V%) %P' : &rulerformat ) : '' %}", -}) +-- vim.o.statusline = table.concat({ +-- '%<%n:', +-- '%f %h%w%m%r%y ', +-- '%=', +-- "%{% &showcmdloc == 'statusline' ? '%-10.S ' : '' %}", +-- "%{% exists('b:keymap_name') ? '<'..b:keymap_name..'> ' : '' %}", +-- "%{% &ruler ? ( &rulerformat == '' ? '%-14.(%l,%c%V%) %P' : &rulerformat ) : '' %}", +-- }) vim.o.signcolumn = 'yes' vim.o.completeopt = "menuone,noselect,popup,fuzzy" @@ -58,11 +60,26 @@ for _, value in ipairs({ vim.keymap.set({ 'n', 'i' }, value, '<Nop>', { noremap = true, silent = false }) end +vim.pack.add { + 'git://git.sudomsg.com/mirror/nvim-treesitter', + 'git://git.sudomsg.com/mirror/nvim-lspconfig', + 'git://git.sudomsg.com/mirror/mason', + 'git://git.sudomsg.com/mirror/mason-lspconfig', +} + +vim.api.nvim_create_autocmd('PackChanged', { + callback = function(ev) + local name, kind = ev.data.spec.name, ev.data.kind + if name == 'nvim-treesitter' and kind == 'update' then + if not ev.data.active then vim.cmd.packadd('nvim-treesitter') end + require 'nvim-treesitter'.update() + end + end +}) + require 'mason'.setup {} require 'mason-lspconfig'.setup {} -require 'nvim-treesitter'.update() - vim.api.nvim_create_autocmd('FileType', { callback = function(args) local ok = pcall(vim.treesitter.start, args.buf, args.match) diff --git a/.config/nvim/lua/lsp.lua b/.config/nvim/lua/lsp.lua index 144eb6a..aeee855 100644 --- a/.config/nvim/lua/lsp.lua +++ b/.config/nvim/lua/lsp.lua @@ -19,7 +19,7 @@ function Lsp(client, buf) vim.lsp.buf.type_definition() end, { buffer = buf }) - vim.keymap.set({'n', 'v'}, '<leader>f', ":Format<CR>", { buffer = buf }) + vim.keymap.set({ 'n', 'v' }, '<leader>f', ":Format<CR>", { buffer = buf }) vim.api.nvim_buf_create_user_command(buf, "Format", function(args) local range = nil @@ -50,39 +50,16 @@ function Lsp(client, buf) end, { buffer = buf }) end - if client:supports_method(ms.textDocument_completion) then - local chars = {} - for i = 32, 126 do - table.insert(chars, string.char(i)) - end - client.server_capabilities.completionProvider.triggerCharacters = chars - vim.lsp.completion.enable(true, client.id, buf, { autotrigger = true }) - end - if client:supports_method(ms.textDocument_documentHighlight) then - local highlight_augroup = vim.api.nvim_create_augroup('lsp-highlight', - { clear = false }) - vim.api.nvim_create_autocmd({ 'CursorHold', 'CursorHoldI' }, { - buffer = buf, - group = highlight_augroup, - callback = vim.lsp.buf.document_highlight, - }) + vim.lsp.semantic_tokens.enable(true, { client_id = client.id }) + end - vim.api.nvim_create_autocmd({ 'CursorMoved', 'CursorMovedI' }, { - buffer = buf, - group = highlight_augroup, - callback = vim.lsp.buf.clear_references, - }) + if client:supports_method(ms.textDocument_linkedEditingRange) then + vim.lsp.linked_editing_range.enable(true, { client_id = client.id }) + end - vim.api.nvim_create_autocmd('LspDetach', { - callback = function(event) - vim.lsp.buf.clear_references() - vim.api.nvim_clear_autocmds { - group = highlight_augroup, - buffer = event.buf - } - end, - }) + if client:supports_method(ms.textDocument_colorPresentation) then + vim.lsp.document_color.enable(true, { client_id = client.id }, { style = 'virtual' }) end if client:supports_method(ms.textDocument_foldingRange) then @@ -91,19 +68,6 @@ function Lsp(client, buf) vim.wo[win][0].foldmethod = "expr" vim.wo[win][0].foldexpr = 'v:lua.vim.lsp.foldexpr()' end - - if client:supports_method(ms.textDocument_codeLens) then - vim.keymap.set({ 'n', 'v' }, 'grl', function() - vim.lsp.codelens.run() - end, { buffer = buf }) - vim.lsp.codelens.refresh { bufnr = buf } - vim.api.nvim_create_autocmd({ 'CursorHold', 'InsertLeave' }, { - buffer = buf, - callback = function() - vim.lsp.codelens.refresh { bufnr = buf } - end, - }) - end end return Lsp diff --git a/.config/nvim/nvim-pack-lock.json b/.config/nvim/nvim-pack-lock.json new file mode 100644 index 0000000..131f738 --- /dev/null +++ b/.config/nvim/nvim-pack-lock.json @@ -0,0 +1,20 @@ +{ + "plugins": { + "mason": { + "rev": "44d1e90e1f66e077268191e3ee9d2ac97cc18e65", + "src": "git://git.sudomsg.com/mirror/mason" + }, + "mason-lspconfig": { + "rev": "037398b9ce4a53ba48d5f94765c641a1fd16d906", + "src": "git://git.sudomsg.com/mirror/mason-lspconfig" + }, + "nvim-lspconfig": { + "rev": "16812abf0e8d8175155f26143a8504e8253e92b0", + "src": "git://git.sudomsg.com/mirror/nvim-lspconfig" + }, + "nvim-treesitter": { + "rev": "7caec274fd19c12b55902a5b795100d21531391f", + "src": "git://git.sudomsg.com/mirror/nvim-treesitter" + } + } +} |
