diff --git a/home/editors/neovim/default.nix b/home/editors/neovim/default.nix index a3f64a8..ba4ffe1 100644 --- a/home/editors/neovim/default.nix +++ b/home/editors/neovim/default.nix @@ -2,12 +2,12 @@ let neovim-unwrapped = pkgs.neovim-unwrapped.overrideAttrs (oldAttrs: rec { - version = "2020-11-20"; + version = "2020-11-26"; src = pkgs.fetchFromGitHub { owner = "neovim"; repo = "neovim"; - rev = "9e405c44b94872923be29c5e736d12d266155a4b"; - sha256 = "0k2bbrfd7xwj07d5gj35r3adrm56567jk62p7hq4xyjy2xwc9yjh"; + rev = "10a5f40f9e020c28df471d5380869ac63d8474a7"; + sha256 = "1ghdhkbznhh9n3mp39ydnsc1l94yrs4a5fbdm0hircqgz4wndh4y"; }; nativeBuildInputs = oldAttrs.nativeBuildInputs ++ [ pkgs.utf8proc pkgs.tree-sitter ]; @@ -58,6 +58,8 @@ in { vim-gitgutter vim-fugitive vim-test + vim-closetag + auto-pairs camelcasemotion argtextobj-vim wmgraphviz-vim diff --git a/home/editors/neovim/init.vim b/home/editors/neovim/init.vim index fe3a3ec..327b8b5 100644 --- a/home/editors/neovim/init.vim +++ b/home/editors/neovim/init.vim @@ -101,3 +101,6 @@ tnoremap :call TermToggle(12) " Terminal go back to normal mode tnoremap :q! :q! + +" vim-closetag +let g:closetag_filenames = "*.html,*.jsx,*.tsx,*.vue,*.xhml,*.xml" diff --git a/home/editors/neovim/lsp/lsp.lua b/home/editors/neovim/lsp/lsp.lua index bb73fca..3564120 100644 --- a/home/editors/neovim/lsp/lsp.lua +++ b/home/editors/neovim/lsp/lsp.lua @@ -1,6 +1,4 @@ -local nvim_lsp = require'nvim_lsp' -local configs = require'nvim_lsp/configs' -local util = require'nvim_lsp/util' +local config = require'lspconfig' -- format on save -- TODO often takes way longer to save than 1000 ms (e.g. 7000 ms in fitnesspilot-web) @@ -8,25 +6,28 @@ local diagnosticls_on_attach = function(_, bufnr) vim.api.nvim_command("au BufWritePre lua vim.lsp.buf.formatting_sync(nil, 1000)") end -nvim_lsp.bashls.setup{} -nvim_lsp.jsonls.setup{} -nvim_lsp.yamlls.setup{} -nvim_lsp.html.setup{} -nvim_lsp.cssls.setup{} -nvim_lsp.vimls.setup{} -nvim_lsp.dockerls.setup{} -nvim_lsp.rnix.setup{} -nvim_lsp.tsserver.setup{} -nvim_lsp.omnisharp.setup{ - cmd = {"omnisharp", "--languageserver"}; +local pid = vim.fn.getpid() + +config.bashls.setup{} +config.jsonls.setup{} +config.yamlls.setup{} +config.html.setup{} +config.cssls.setup{} +config.vimls.setup{} +config.dockerls.setup{} +config.rnix.setup{} +config.tsserver.setup{} +config.omnisharp.setup{ + cmd = {"omnisharp", "--languageserver", "--hostPID", tostring(pid)}; } -nvim_lsp.pyls.setup{} -nvim_lsp.terraformls.setup{} -nvim_lsp.hls.setup{} +config.pyls.setup{} +config.terraformls.setup{} +config.hls.setup{} -- based on: https://github.com/mikew/vimrc/blob/master/src/nvim/coc-settings.json -- TODO breaks auto-completion when using with other lsp --- nvim_lsp.diagnosticls.setup{ +-- TODO some ts projects are using tsc eslint plugin +-- config.diagnosticls.setup{ -- on_attach = diagnosticls_on_attach; -- filetypes = { -- "javascript", diff --git a/home/editors/neovim/lsp/lsp.vim b/home/editors/neovim/lsp/lsp.vim index 7f0e8ae..0b0aa51 100644 --- a/home/editors/neovim/lsp/lsp.vim +++ b/home/editors/neovim/lsp/lsp.vim @@ -37,5 +37,5 @@ nnoremap sw lua vim.lsp.buf.workspace_symbol() nnoremap f lua vim.lsp.buf.formatting() nnoremap a lua vim.lsp.buf.code_action() nnoremap r lua vim.lsp.buf.rename() -nnoremap d lua vim.lsp.util.show_line_diagnostics() +nnoremap d lua vim.lsp.diagnostic.show_line_diagnostics()