2020-04-28 12:22:11 +02:00
|
|
|
*nvim-treesitter*
|
|
|
|
|
|
|
|
|
|
Minimum version of neovim: nightly
|
|
|
|
|
|
2020-04-28 12:32:01 +02:00
|
|
|
Authors: Yazdani Kiyan <yazdani.kiyan@protonmail.com>, Vigouroux Thomas <tomvig38@gmail.com>
|
2020-04-28 12:22:11 +02:00
|
|
|
|
|
|
|
|
==============================================================================
|
2020-04-28 12:32:01 +02:00
|
|
|
INTRODUCTION *nvim-treesitter-intro*
|
2020-04-28 12:22:11 +02:00
|
|
|
|
|
|
|
|
nvim-treesitter wraps the neovim treesitter api to provide functionnalities such
|
|
|
|
|
as highlighting and incremental selection, and a command to easily install parsers.
|
|
|
|
|
|
|
|
|
|
==============================================================================
|
|
|
|
|
QUICK START *nvim-treesitter-quickstart*
|
|
|
|
|
|
|
|
|
|
Install the parser for your language
|
2020-04-28 12:32:01 +02:00
|
|
|
|
2020-04-28 12:22:11 +02:00
|
|
|
>
|
2020-04-28 12:32:01 +02:00
|
|
|
:TSInstall {language}
|
2020-04-28 12:22:11 +02:00
|
|
|
<
|
|
|
|
|
|
|
|
|
|
To get a list of supported languages
|
2020-04-28 12:32:01 +02:00
|
|
|
|
2020-04-28 12:22:11 +02:00
|
|
|
>
|
2020-04-28 12:32:01 +02:00
|
|
|
:TSInstallInfo
|
2020-04-28 12:22:11 +02:00
|
|
|
<
|
|
|
|
|
|
|
|
|
|
By default, everything is disabled. To enable support for features, in your `init.vim`:
|
|
|
|
|
|
|
|
|
|
>
|
2020-04-28 12:32:01 +02:00
|
|
|
lua <<EOF
|
|
|
|
|
require'nvim-treesitter.configs'.setup {
|
2020-05-03 11:10:36 +02:00
|
|
|
highlight = {
|
2020-05-08 11:22:59 +02:00
|
|
|
enable = true, -- false will disable the whole extension
|
|
|
|
|
disable = { 'c', 'rust' }, -- list of language that will be disabled
|
2020-05-03 11:10:36 +02:00
|
|
|
},
|
2020-05-08 11:22:59 +02:00
|
|
|
incremental_selection = {
|
2020-05-03 11:10:36 +02:00
|
|
|
enable = true,
|
|
|
|
|
disable = { 'cpp', 'lua' },
|
|
|
|
|
keymaps = { -- mappings for incremental selection (visual mappings)
|
2020-05-08 11:22:59 +02:00
|
|
|
init_selection = 'gnn', -- maps in normal mode to init the node/scope selection
|
|
|
|
|
node_incremental = "grn", -- increment to the upper named parent
|
|
|
|
|
scope_incremental = "grc", -- increment to the upper scope (as defined in locals.scm)
|
|
|
|
|
scope_decremental = "grm", -- decrement to the previous scope
|
2020-05-03 11:10:36 +02:00
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
node_movement = { -- this cursor movement in node hierachy
|
|
|
|
|
enable = true,
|
|
|
|
|
disable = { 'cpp', 'rust' },
|
2020-05-08 11:22:59 +02:00
|
|
|
keymaps = { -- mappings for scope movement
|
|
|
|
|
parent_scope = "<a-k>", -- default is to move with alt key hold
|
|
|
|
|
child_scope = "<a-j>",
|
|
|
|
|
next_scope = "<a-h>",
|
|
|
|
|
previous_scope = "<a-l>",
|
2020-05-03 11:10:36 +02:00
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
ensure_installed = 'all' -- one of 'all', 'language', or a list of languages
|
2020-04-28 12:32:01 +02:00
|
|
|
}
|
2020-04-28 12:22:11 +02:00
|
|
|
<
|
|
|
|
|
|
|
|
|
|
==============================================================================
|
2020-04-28 12:32:01 +02:00
|
|
|
COMMANDS *nvim-treesitter-commands*
|
2020-04-28 12:22:11 +02:00
|
|
|
|
2020-04-28 12:32:01 +02:00
|
|
|
|:TSInstall| {language} *:TSInstall*
|
2020-04-28 12:22:11 +02:00
|
|
|
|
|
|
|
|
Download, compile and install a parser for {language}
|
|
|
|
|
|
|
|
|
|
|:TSInstallInfo| *:TSInstallInfo*
|
|
|
|
|
|
|
|
|
|
List informations about currently installed parsers
|
|
|
|
|
|
|
|
|
|
|:TSBufEnable| {module} *:TSBufEnable*
|
|
|
|
|
|
|
|
|
|
Enable {module} on the current buffer.
|
|
|
|
|
A list of modules can be found at |:TSModuleInfo|
|
|
|
|
|
|
|
|
|
|
|:TSBufDisable| {module} *:TSBufDisable*
|
|
|
|
|
|
|
|
|
|
Disable {module} on the current buffer
|
|
|
|
|
A list of modules can be found at |:TSModuleInfo|
|
|
|
|
|
|
|
|
|
|
|:TSBufEnableAll| {module} [{language}] *:TSBufEnableAll*
|
|
|
|
|
|
|
|
|
|
Enable {module} for the session
|
|
|
|
|
if {language} is specified, enable module for the session only for this
|
|
|
|
|
particular language.
|
|
|
|
|
A list of modules can be found at |:TSModuleInfo|
|
|
|
|
|
A list of languages can be found at |:TSInstallInfo|
|
|
|
|
|
|
2020-04-28 12:32:01 +02:00
|
|
|
|:TSBufDisableAll| {module} [{language}] *:TSBufDisableAll*
|
2020-04-28 12:22:11 +02:00
|
|
|
|
|
|
|
|
Disable {module} for the session
|
|
|
|
|
if {language} is specified, disable module for the session only for this
|
|
|
|
|
particular language.
|
|
|
|
|
A list of modules can be found at |:TSModuleInfo|
|
|
|
|
|
A list of languages can be found at |:TSInstallInfo|
|
|
|
|
|
|
2020-04-28 12:32:01 +02:00
|
|
|
|:TSModuleInfo| [{module}] *:TSModuleInfo*
|
2020-04-28 12:22:11 +02:00
|
|
|
|
|
|
|
|
List modules state for the current session.
|
|
|
|
|
|
2020-05-07 08:18:13 +02:00
|
|
|
==============================================================================
|
|
|
|
|
FUNCTIONS~
|
|
|
|
|
*nvim-treesitter-functions*
|
|
|
|
|
|
|
|
|
|
|nvim_treesitter#statusline(size)|
|
|
|
|
|
*nvim_treesitter#statusline()*
|
2020-04-28 12:22:11 +02:00
|
|
|
|
2020-05-07 08:18:13 +02:00
|
|
|
Returns a string describing the current position in the syntax tree. This
|
|
|
|
|
could be used as a statusline indicator.
|
|
|
|
|
Note: The `size` argument is optionnal. When specified, the string will not be
|
|
|
|
|
longer than `size`.
|
|
|
|
|
|
|
|
|
|
vim:tw=78:ts=8:noet:ft=help:norl:
|