Nvim-treesitter configuration

From wikinotes
Revision as of 03:07, 18 July 2021 by Will (talk | contribs)

Locations

~/.config/nvim/init.vim neovim config
~/.vim/queries/**/* language-specific module configs

Enabling Features

Modules

Enable modules within your init.nvim

# ~/.config/nvim/init.vim

lua <<EOF
require'nvim-treesitter.configs'.setup {
  highlight = {
    enable = true,

    -- when true, enables vim syntaxhighlighting alongside tree-sitters
    -- true/false or a list of languages
    additional_vim_regex_highlighting = false,
  },

  incremental_selection = {
    enable = true;
  },

  indent = {
    enable = true;
  },
}
EOF

Folds

Adjust the foldmethods/foldexprs for languages you'd like to fold using tree-sitter.

set foldmethod=expr
set foldexpr=nvim_treesitter#foldexpr()

Customizing Features

Basics

Default configuration of features is set within the queries directory in .scm files.
In the code, these are read using nvim_get_runtime_file which layers files from ~/.vim overtop of these files.
Simply override the settings within your .vim directory.

Folds

https://neovim.io/doc/user/api.html#API