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' })