From 9768f5b4d54869697284950b01e5bffcbd347a0f Mon Sep 17 00:00:00 2001 From: Felix Tenley Date: Wed, 23 Sep 2020 09:36:25 +0200 Subject: [PATCH] feat(neovim): update config --- home/editors/lsp.nix | 15 +++++++++++---- home/editors/lsp.vim | 26 ++++---------------------- home/editors/neovim.nix | 33 +++++++++------------------------ 3 files changed, 24 insertions(+), 50 deletions(-) diff --git a/home/editors/lsp.nix b/home/editors/lsp.nix index c623c8b..b5681af 100644 --- a/home/editors/lsp.nix +++ b/home/editors/lsp.nix @@ -3,29 +3,36 @@ let omnisharp-roslyn = pkgs.omnisharp-roslyn.overrideAttrs(oldAttrs: rec { pname = "omnisharp-roslyn"; - version = "1.37.0"; + version = "1.37.1"; src = pkgs.fetchurl { url = "https://github.com/OmniSharp/omnisharp-roslyn/releases/download/v${version}/omnisharp-mono.tar.gz"; - sha256 = "1lbwfx1nn1bjgbm8pjmr89kbvf69lwj237np3m52r3qw7pfrmqc9"; + sha256 = "04pyychzwhhcv0js0qyramz6nd0wz03qqqgvz1j9m9wxyiz0dv3c"; }; }); in { home.packages = with pkgs; [ + # language servers omnisharp-roslyn rnix-lsp terraform-lsp - python38Packages.python-language-server + python3Packages.python-language-server nodePackages.bash-language-server nodePackages.vim-language-server nodePackages.yaml-language-server - # nodePackages.vscode-json-languageserver-bin + nodePackages.vscode-json-languageserver-bin nodePackages.vscode-css-languageserver-bin nodePackages.vscode-html-languageserver-bin nodePackages.typescript-language-server nodePackages.dockerfile-language-server-nodejs haskellPackages.haskell-language-server + nodePackages.diagnostic-languageserver + + # linters + nodePackages.eslint + # nodePackages.stylelint + nodePackages.prettier ]; # UseLegacySdkResolver: true is currently required diff --git a/home/editors/lsp.vim b/home/editors/lsp.vim index 8a77287..20c0866 100644 --- a/home/editors/lsp.vim +++ b/home/editors/lsp.vim @@ -44,26 +44,6 @@ local nvim_lsp = require'nvim_lsp' local configs = require'nvim_lsp/configs' local util = require'nvim_lsp/util' --- remove once omnisharp support is merged -configs.omnisharp = { - default_config = { - cmd = {"omnisharp","-lsp"}; - filetypes = {"cs"}; - root_dir = util.root_pattern("*.csproj", "*.sln", ".git"); - settings = {}; - }; -} - -configs.hls = { - default_config = { - cmd = {"haskell-language-server-wrapper","--lsp"}; - filetypes = {"haskell","lhaskell"}; - root_dir = util.root_pattern( - "*.cabal", "stack.yaml", "cabal.project", "package.yaml", "hie.yaml", ".git"); - settings = {}; - }; -} - -- format on save -- TODO often takes way longer to save than 1000 ms (e.g. 7000 ms in fitnesspilot-web) local diagnosticls_on_attach = function(_, bufnr) @@ -71,7 +51,7 @@ local diagnosticls_on_attach = function(_, bufnr) end nvim_lsp.bashls.setup{} -nvim_lsp.jsonls.setup{} -- TODO setup lsp or use :LspInstall +nvim_lsp.jsonls.setup{} nvim_lsp.yamlls.setup{} nvim_lsp.html.setup{} nvim_lsp.cssls.setup{} @@ -79,7 +59,9 @@ nvim_lsp.vimls.setup{} nvim_lsp.dockerls.setup{} nvim_lsp.rnix.setup{} nvim_lsp.tsserver.setup{} -nvim_lsp.omnisharp.setup{} +nvim_lsp.omnisharp.setup{ + cmd = {"omnisharp", "--languageserver"}; +} nvim_lsp.pyls.setup{} nvim_lsp.terraformls.setup{} nvim_lsp.hls.setup{} diff --git a/home/editors/neovim.nix b/home/editors/neovim.nix index 9220e2c..2e5e65c 100644 --- a/home/editors/neovim.nix +++ b/home/editors/neovim.nix @@ -2,12 +2,12 @@ let neovim-unwrapped = pkgs.neovim-unwrapped.overrideAttrs (oldAttrs: rec { - version = "2020-08-26"; + version = "2020-09-16"; src = pkgs.fetchFromGitHub { owner = "neovim"; repo = "neovim"; - rev = "91109ffda23d0ce61cec245b1f4ffb99e7591b62"; - sha256 = "1rq7j6r1hfkxwmbf688fkwy9j86zam8rywy4796fwkb3imxw64rs"; + rev = "c3f4610922b3f26c952281481f65d255ad352ac5"; + sha256 = "1pcrngx26mkxpcdz897nps1v6hvwq9phrx92bsyixsva5z9h468h"; }; nativeBuildInputs = oldAttrs.nativeBuildInputs ++ [ pkgs.utf8proc @@ -16,30 +16,15 @@ let buildVimPluginFrom2Nix = pkgs.vimUtils.buildVimPluginFrom2Nix; - omnisharp-vim = buildVimPluginFrom2Nix { - pname = "omnisharp-vim"; - version = "2020-06-24"; - src = pkgs.fetchFromGitHub { - owner = "FelschR"; - repo = "omnisharp-vim"; - rev = "27e7232093ca1e537789a75ace204b569c42659b"; - sha256 = "1xh9fsqgh6xk83v490zfc1qb9b30h5x6a5gjk024qnn62lf0lwnm"; - }; - }; nvim-lsp = buildVimPluginFrom2Nix { - pname = "nvim-lsp"; - version = "2020-08-10"; + pname = "nvim-lspconfig"; + version = "2020-09-07"; src = pkgs.fetchFromGitHub { owner = "neovim"; - repo = "nvim-lsp"; - rev = "fc9d94ef006e082596c2e8724eb3f1c92ff203c7"; - sha256 = "1byji4p0xigyp8y71s00fs2vrhgz3xkf51mmyz489pp52c7nfx4v"; + repo = "nvim-lspconfig"; + rev = "60133c47e0fd82556d7ca092546ebfa8d047466e"; + sha256 = "15ysbbvxlgy1qx8rjv2i9pgjshldcs3m1ff0my2y5mnr3cpqb3s6"; }; - # required until omnisharp support is merged - patches = with pkgs; [ - (fetchpatch { url = "https://patch-diff.githubusercontent.com/raw/neovim/nvim-lsp/pull/296.patch"; - sha256 = "084ryddj0j7jialx91z6iqawf4s2hhn5d7wpd19cg1sl18vlyzp4"; }) - ]; }; in { @@ -55,7 +40,6 @@ in fzf-vim lightline-vim nerdtree - vim-tmux-navigator vim-startify vim-polyglot vim-multiple-cursors @@ -69,6 +53,7 @@ in vim-test camelcasemotion argtextobj-vim + wmgraphviz-vim nvim-lsp