Mercurial > dotfiles
comparison .chezmoitemplates/init.lua @ 555:3b9c7a3a068a
always enable lsp keymaps on attach
Sometimes capabilities are resolved later then when the function runs
leading to disabled maps even when the features are available
author | zegervdv <zegervdv@me.com> |
---|---|
date | Sun, 06 Feb 2022 11:54:00 +0100 |
parents | 15d6c097f1c9 |
children | bb1e1f4320d5 |
comparison
equal
deleted
inserted
replaced
554:62dfda3f3d31 | 555:3b9c7a3a068a |
---|---|
840 local map = vim.keymap.set | 840 local map = vim.keymap.set |
841 local nmap = function(lhs, rhs, opts) | 841 local nmap = function(lhs, rhs, opts) |
842 return vim.keymap.set('n', lhs, rhs, opts) | 842 return vim.keymap.set('n', lhs, rhs, opts) |
843 end | 843 end |
844 | 844 |
845 if client.resolved_capabilities.goto_definition == true then | 845 vim.bo.tagfunc = 'v:lua.vim.lsp.tagfunc' |
846 vim.bo.tagfunc = 'v:lua.vim.lsp.tagfunc' | 846 nmap('gp', require('goto-preview').goto_preview_definition, { silent = true, buffer = 0 }) |
847 nmap('gp', require('goto-preview').goto_preview_definition, { silent = true, buffer = 0 }) | 847 nmap('gP', require('goto-preview').close_all_win, { silent = true, buffer = 0 }) |
848 nmap('gP', require('goto-preview').close_all_win, { silent = true, buffer = 0 }) | |
849 end | |
850 | 848 |
851 nmap('gd', vim.lsp.buf.declaration, { silent = true, buffer = 0 }) | 849 nmap('gd', vim.lsp.buf.declaration, { silent = true, buffer = 0 }) |
852 nmap('K', vim.lsp.buf.hover, { silent = true, buffer = 0 }) | 850 nmap('K', vim.lsp.buf.hover, { silent = true, buffer = 0 }) |
853 nmap('gD', vim.lsp.buf.implementation, { silent = true, buffer = 0 }) | 851 nmap('gD', vim.lsp.buf.implementation, { silent = true, buffer = 0 }) |
854 nmap('1gD', vim.lsp.buf.type_definition, { silent = true, buffer = 0 }) | 852 nmap('1gD', vim.lsp.buf.type_definition, { silent = true, buffer = 0 }) |
855 nmap('gr', vim.lsp.buf.references, { silent = true, buffer = 0 }) | 853 nmap('gr', vim.lsp.buf.references, { silent = true, buffer = 0 }) |
856 nmap('g0', vim.lsp.buf.document_symbol, { silent = true, buffer = 0 }) | 854 nmap('g0', vim.lsp.buf.document_symbol, { silent = true, buffer = 0 }) |
857 | 855 |
858 if client.resolved_capabilities.document_formatting == true then | 856 nmap('<c-p>', function() |
859 nmap('<c-p>', function() | 857 vim.lsp.buf.formatting_sync({}, 5000) |
860 vim.lsp.buf.formatting_sync({}, 5000) | 858 end, { |
861 end, { | 859 silent = true, |
862 silent = true, | 860 buffer = 0, |
863 buffer = 0, | 861 }) |
864 }) | 862 |
865 end | 863 vim.bo.formatexpr = 'v:lua.vim.lsp.formatexpr()' |
866 | |
867 if client.resolved_capabilities.document_range_formatting == true then | |
868 vim.bo.formatexpr = 'v:lua.vim.lsp.formatexpr()' | |
869 end | |
870 | 864 |
871 map('i', '<c-l>', vim.lsp.buf.signature_help, { silent = true, buffer = 0 }) | 865 map('i', '<c-l>', vim.lsp.buf.signature_help, { silent = true, buffer = 0 }) |
872 | 866 |
873 vim.lsp.handlers['textDocument/hover'] = vim.lsp.with(vim.lsp.handlers.hover, { border = 'single' }) | 867 vim.lsp.handlers['textDocument/hover'] = vim.lsp.with(vim.lsp.handlers.hover, { border = 'single' }) |
874 vim.lsp.handlers['textDocument/signatureHelp'] = vim.lsp.with(vim.lsp.handlers.hover, { border = 'single' }) | 868 vim.lsp.handlers['textDocument/signatureHelp'] = vim.lsp.with(vim.lsp.handlers.hover, { border = 'single' }) |