From fe2a821cfd92fd54e58a3f5145c87eb8f8ee364a Mon Sep 17 00:00:00 2001 From: Simon Bruder Date: Sun, 12 Jun 2022 22:44:55 +0200 Subject: [PATCH] neovim: Add tree sitter --- users/simon/modules/neovim/default.nix | 25 +++++++++++++++++++++++-- users/simon/modules/neovim/init.lua | 11 +++++++++++ 2 files changed, 34 insertions(+), 2 deletions(-) diff --git a/users/simon/modules/neovim/default.nix b/users/simon/modules/neovim/default.nix index c1d4ab7..2442679 100644 --- a/users/simon/modules/neovim/default.nix +++ b/users/simon/modules/neovim/default.nix @@ -95,7 +95,6 @@ in vim-nix vim-openscad vim-snippets - vim-toml vimtex which-key-nvim ]; @@ -104,7 +103,29 @@ in xdg.configFile = { "nvim/lua/init.lua".source = ./init.lua; "nvim/lua/snippets.lua".source = pkgs.callPackage ./snippets.nix { }; - }; + } // (lib.mapAttrs' + (name: path: lib.nameValuePair "nvim/parser/${lib.removePrefix "tree-sitter-" name}.so" { source = "${path}/parser"; }) + ({ + inherit (pkgs.tree-sitter.builtGrammars) + tree-sitter-bash + tree-sitter-c + tree-sitter-cpp + tree-sitter-css + tree-sitter-dot + tree-sitter-go + tree-sitter-haskell + tree-sitter-html + tree-sitter-json + #tree-sitter-latex # incompatible with VimTeX + tree-sitter-lua + tree-sitter-nix + tree-sitter-perl + tree-sitter-python + tree-sitter-rust + tree-sitter-scss + tree-sitter-toml + tree-sitter-yaml; + })); home.sessionVariables.EDITOR = "nvim"; } diff --git a/users/simon/modules/neovim/init.lua b/users/simon/modules/neovim/init.lua index f55ca5c..f5c43ff 100644 --- a/users/simon/modules/neovim/init.lua +++ b/users/simon/modules/neovim/init.lua @@ -305,6 +305,17 @@ lsp.rust_analyzer.setup { require('trouble').setup {} +-- Tree Sitter +require('nvim-treesitter.configs').setup { + highlight = { + enable = true, + additional_vim_regex_highlighting = false, + }, + indent = { + enable = true, + }, +} + -- VimTeX g.tex_flavor = 'latex' g.vimtex_view_method = 'zathura'