2020-07-26 09:38:53 -05:00
|
|
|
*nvim-treesitter*
|
2020-04-28 12:22:11 +02:00
|
|
|
|
|
|
|
|
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-07-27 09:23:42 -05: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.
|
|
|
|
|
|
|
|
|
|
==============================================================================
|
2020-07-27 09:23:42 -05:00
|
|
|
QUICK START *nvim-treesitter-quickstart*
|
2020-04-28 12:22:11 +02:00
|
|
|
|
|
|
|
|
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-07-27 09:23:42 -05:00
|
|
|
highlight = {
|
|
|
|
|
enable = true, -- false will disable the whole extension
|
2020-07-27 20:59:51 -05:00
|
|
|
disable = { "c", "rust" }, -- list of language that will be disabled
|
2020-07-27 09:23:42 -05:00
|
|
|
custom_captures = { -- mapping of user defined captures to highlight groups
|
|
|
|
|
-- ["foo.bar"] = "Identifier" -- highlight own capture @foo.bar with highlight group "Identifier", see :h nvim-treesitter-query-extensions
|
|
|
|
|
},
|
2020-07-04 17:15:04 +02:00
|
|
|
},
|
2020-07-27 09:23:42 -05:00
|
|
|
incremental_selection = {
|
2020-07-04 17:15:04 +02:00
|
|
|
enable = true,
|
2020-07-27 20:59:51 -05:00
|
|
|
disable = { "cpp", "lua" },
|
2020-07-27 09:23:42 -05:00
|
|
|
keymaps = { -- mappings for incremental selection (visual mappings)
|
|
|
|
|
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)
|
|
|
|
|
node_decremental = "grm", -- decrement to the previous node
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
refactor = {
|
|
|
|
|
highlight_definitions = {
|
|
|
|
|
enable = true
|
|
|
|
|
},
|
|
|
|
|
highlight_current_scope = {
|
|
|
|
|
enable = true
|
|
|
|
|
},
|
|
|
|
|
smart_rename = {
|
|
|
|
|
enable = true,
|
|
|
|
|
keymaps = {
|
|
|
|
|
smart_rename = "grr" -- mapping to rename reference under cursor
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
navigation = {
|
|
|
|
|
enable = true,
|
|
|
|
|
keymaps = {
|
|
|
|
|
goto_definition = "gnd", -- mapping to go to definition of symbol under cursor
|
|
|
|
|
list_definitions = "gnD" -- mapping to list all definitions in current file
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
textobjects = { -- syntax-aware textobjects
|
|
|
|
|
enable = true,
|
|
|
|
|
disable = {},
|
|
|
|
|
keymaps = {
|
|
|
|
|
["iL"] = { -- you can define your own textobjects directly here
|
2020-07-27 20:59:51 -05:00
|
|
|
python = "(function_definition) @function",
|
|
|
|
|
cpp = "(function_definition) @function",
|
|
|
|
|
c = "(function_definition) @function",
|
|
|
|
|
java = "(method_declaration) @function"
|
2020-07-27 09:23:42 -05:00
|
|
|
},
|
|
|
|
|
-- or you use the queries from supported languages with textobjects.scm
|
|
|
|
|
["af"] = "@function.outer",
|
|
|
|
|
["if"] = "@function.inner",
|
|
|
|
|
["aC"] = "@class.outer",
|
|
|
|
|
["iC"] = "@class.inner",
|
|
|
|
|
["ac"] = "@conditional.outer",
|
|
|
|
|
["ic"] = "@conditional.inner",
|
|
|
|
|
["ae"] = "@block.outer",
|
|
|
|
|
["ie"] = "@block.inner",
|
|
|
|
|
["al"] = "@loop.outer",
|
|
|
|
|
["il"] = "@loop.inner",
|
|
|
|
|
["is"] = "@statement.inner",
|
|
|
|
|
["as"] = "@statement.outer",
|
|
|
|
|
["ad"] = "@comment.outer",
|
|
|
|
|
["am"] = "@call.outer",
|
|
|
|
|
["im"] = "@call.inner"
|
2020-08-02 19:35:52 +02:00
|
|
|
},
|
|
|
|
|
-- swap parameters (keymap -> textobject query)
|
|
|
|
|
swap_next = {
|
|
|
|
|
["<a-p>"] = "@parameter.inner",
|
|
|
|
|
},
|
|
|
|
|
swap_previous = {
|
|
|
|
|
["<a-P>"] = "@parameter.inner",
|
|
|
|
|
},
|
|
|
|
|
-- set mappings to go to start/end of adjacent textobjects (keymap -> textobject query)
|
|
|
|
|
goto_previous_start = {
|
|
|
|
|
["[m"] = "@function.outer",
|
|
|
|
|
["[["] = "@class.outer",
|
|
|
|
|
},
|
|
|
|
|
goto_previous_end = {
|
|
|
|
|
["[M"] = "@function.outer",
|
|
|
|
|
["[]"] = "@class.outer",
|
|
|
|
|
},
|
|
|
|
|
goto_next_start = {
|
|
|
|
|
["]m"] = "@function.outer",
|
|
|
|
|
["]]"] = "@class.outer",
|
|
|
|
|
},
|
|
|
|
|
goto_next_end = {
|
|
|
|
|
["]M"] = "@function.outer",
|
|
|
|
|
["]["] = "@class.outer",
|
|
|
|
|
},
|
2020-07-27 09:23:42 -05:00
|
|
|
},
|
2020-07-27 20:59:51 -05:00
|
|
|
ensure_installed = "all" -- one of "all", "language", or a list of languages
|
2020-04-28 12:32:01 +02:00
|
|
|
}
|
2020-05-19 10:05:35 -07:00
|
|
|
EOF
|
2020-04-28 12:22:11 +02:00
|
|
|
<
|
2020-07-27 09:23:42 -05:00
|
|
|
|
2020-07-12 14:51:11 +02:00
|
|
|
==============================================================================
|
2020-07-27 09:23:42 -05:00
|
|
|
USER QUERY EXTENSIONS *nvim-treesitter-query-extensions*
|
2020-07-12 14:51:11 +02:00
|
|
|
|
2020-08-12 23:06:08 +02:00
|
|
|
Queries are what `nvim-treesitter` uses to extract informations from the syntax tree, and they are
|
|
|
|
|
located in the `queries/{lang}/*` runtime directories (like the `queries` folder of this plugin).
|
2020-07-12 14:51:11 +02:00
|
|
|
|
2020-08-12 23:06:08 +02:00
|
|
|
`nvim-treesitter` considers queries as any runtime file (see `:h rtp`), that is :
|
2020-07-12 14:51:11 +02:00
|
|
|
|
2020-08-12 23:06:08 +02:00
|
|
|
- if the file is in any `after/queries/` folder, then it will be used to extend the already defined
|
|
|
|
|
queries.
|
|
|
|
|
- Otherwise, it will be used as a base to define the query, the first query found (with the highest
|
|
|
|
|
priority) will be the only one to be used.
|
|
|
|
|
|
|
|
|
|
This hybrid approach is the most standard way, and according to that, here is some ideas on how to
|
|
|
|
|
use is :
|
|
|
|
|
- If you want to rewrite (or write) a query, don't use `after/queries`.
|
|
|
|
|
- If you want to override a part of a query (only one match for example), use the `after/queries`
|
|
|
|
|
directory.
|
2020-04-28 12:22:11 +02:00
|
|
|
|
|
|
|
|
==============================================================================
|
2020-07-27 09:23:42 -05:00
|
|
|
COMMANDS *nvim-treesitter-commands*
|
2020-04-28 12:22:11 +02:00
|
|
|
|
2020-07-27 09:23:42 -05:00
|
|
|
*:TSInstall*
|
|
|
|
|
:TSInstall| {language} ...~
|
2020-04-28 12:22:11 +02:00
|
|
|
|
2020-06-27 12:43:19 +02:00
|
|
|
Install one or more treesitter parsers.
|
|
|
|
|
You can use |:TSInstall| `all` to install all parsers.
|
2020-04-28 12:22:11 +02:00
|
|
|
|
2020-07-27 09:23:42 -05:00
|
|
|
*:TSInstallInfo*
|
|
|
|
|
:TSInstallInfo~
|
2020-04-28 12:22:11 +02:00
|
|
|
|
|
|
|
|
List informations about currently installed parsers
|
2020-08-01 18:32:12 +02:00
|
|
|
|
2020-07-31 20:27:06 +02:00
|
|
|
*:TSUpdate*
|
|
|
|
|
:TSUpdate {language}~
|
|
|
|
|
|
|
|
|
|
Update the installed parser of {language} or all installed parsers
|
|
|
|
|
if {language} is omitted.
|
2020-04-28 12:22:11 +02:00
|
|
|
|
2020-08-01 18:32:12 +02:00
|
|
|
*:TSUninstall*
|
|
|
|
|
:TSUninstall {language}~
|
|
|
|
|
|
|
|
|
|
Deletes the parser for corresponding {language}. You can use 'all' for
|
|
|
|
|
language to uninstall all parsers.
|
|
|
|
|
|
2020-07-27 09:23:42 -05:00
|
|
|
*:TSBufEnable*
|
|
|
|
|
:TSBufEnable {module}~
|
2020-04-28 12:22:11 +02:00
|
|
|
|
|
|
|
|
Enable {module} on the current buffer.
|
|
|
|
|
A list of modules can be found at |:TSModuleInfo|
|
|
|
|
|
|
2020-07-27 09:23:42 -05:00
|
|
|
*:TSBufDisable*
|
|
|
|
|
:TSBufDisable {module}~
|
2020-04-28 12:22:11 +02:00
|
|
|
|
|
|
|
|
Disable {module} on the current buffer
|
|
|
|
|
A list of modules can be found at |:TSModuleInfo|
|
|
|
|
|
|
2020-07-27 09:23:42 -05:00
|
|
|
*:TSBufEnableAll*
|
|
|
|
|
:TSBufEnableAll {module} [{language}]~
|
2020-04-28 12:22:11 +02:00
|
|
|
|
|
|
|
|
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-07-27 09:23:42 -05:00
|
|
|
*:TSBufDisableAll*
|
|
|
|
|
:TSBufDisableAll {module} [{language}]~
|
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-07-27 09:23:42 -05:00
|
|
|
*:TSModuleInfo*
|
|
|
|
|
:TSModuleInfo [{module}]~
|
2020-04-28 12:22:11 +02:00
|
|
|
|
|
|
|
|
List modules state for the current session.
|
|
|
|
|
|
2020-05-07 08:18:13 +02:00
|
|
|
==============================================================================
|
2020-07-27 09:23:42 -05:00
|
|
|
UTILS *nvim-treesitter-utils*
|
2020-05-15 14:19:29 +02:00
|
|
|
|
2020-06-19 13:51:09 +02:00
|
|
|
Nvim treesitter has some wrapper functions that you can retrieve with:
|
2020-05-15 14:19:29 +02:00
|
|
|
>
|
2020-06-19 13:51:09 +02:00
|
|
|
local ts_utils = require 'nvim-treesitter.ts_utils'
|
2020-05-15 14:19:29 +02:00
|
|
|
<
|
|
|
|
|
Methods
|
2020-07-27 09:23:42 -05:00
|
|
|
*ts_utils.get_node_at_cursor*
|
|
|
|
|
get_node_at_cursor(winnr)~
|
|
|
|
|
|
|
|
|
|
`winnr` will be 0 if nil.
|
|
|
|
|
Returns the node under the cursor.
|
|
|
|
|
|
|
|
|
|
*ts_utils.get_node_text*
|
|
|
|
|
get_node_text(node, bufnr)~
|
|
|
|
|
|
|
|
|
|
Returns the text content of a `node`.
|
|
|
|
|
|
|
|
|
|
*ts_utils.is_parent*
|
|
|
|
|
is_parent(dest, source)~
|
|
|
|
|
|
|
|
|
|
Determines whether `dest` is a parent of `source`.
|
|
|
|
|
Returns a boolean.
|
|
|
|
|
|
|
|
|
|
*ts_utils.get_named_children*
|
|
|
|
|
get_named_children(node)~
|
|
|
|
|
|
|
|
|
|
Returns a table of named children of `node`.
|
|
|
|
|
|
|
|
|
|
*ts_utilsiget_next_node*
|
|
|
|
|
get_next_node(node, allow_switch_parent, allow_next_parent)~
|
|
|
|
|
|
|
|
|
|
Returns the next node within the same parent.
|
|
|
|
|
If no node is found, returns `nil`.
|
|
|
|
|
If `allow_switch_parent` is true, it will allow switching parent
|
|
|
|
|
when the node is the last node.
|
|
|
|
|
If `allow_next_parent` is true, it will allow next parent if
|
|
|
|
|
the node is the last node and the next parent doesn't have children.
|
|
|
|
|
|
|
|
|
|
*ts_utils.get_previous_node*
|
|
|
|
|
get_previous_node(node, allow_switch_parents, allow_prev_parent)~
|
2020-05-15 14:19:29 +02:00
|
|
|
|
2020-07-27 09:23:42 -05:00
|
|
|
Returns the previous node within the same parent.
|
|
|
|
|
`allow_switch_parent` and `allow_prev_parent` follow the same rule
|
|
|
|
|
as |ts_utils.get_next_node| but if the node is the first node.
|
2020-06-19 13:51:09 +02:00
|
|
|
|
2020-05-15 14:19:29 +02:00
|
|
|
==============================================================================
|
2020-07-27 09:23:42 -05:00
|
|
|
FUNCTIONS *nvim-treesitter-functions*
|
2020-05-07 08:18:13 +02:00
|
|
|
|
|
|
|
|
*nvim_treesitter#statusline()*
|
2020-07-27 09:23:42 -05:00
|
|
|
nvim_treesitter#statusline(size)~
|
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`.
|
|
|
|
|
|
2020-05-25 10:29:18 +02:00
|
|
|
*nvim_treesitter#foldexpr()*
|
2020-07-27 09:23:42 -05:00
|
|
|
nvim_treesitter#foldexpr()~
|
2020-05-25 10:29:18 +02:00
|
|
|
|
|
|
|
|
Functions to be used to determine the fold level at a given line number.
|
|
|
|
|
To use it: >
|
|
|
|
|
set foldmethod=expr
|
|
|
|
|
set foldexpr=nvim_treesitter#foldexr()
|
|
|
|
|
<
|
|
|
|
|
Note: This is highly experimental, and folding can break on some types of
|
|
|
|
|
edits. If you encounter such breakage, hiting `zx` should fix folding.
|
|
|
|
|
In any case, feel free to open an issue with the reproducing steps.
|
|
|
|
|
|
2020-06-21 19:43:02 +02:00
|
|
|
==============================================================================
|
|
|
|
|
HIGHLIGHTS *nvim-treesitter-highlights*
|
|
|
|
|
|
2020-06-27 20:43:41 +02:00
|
|
|
`TSError`
|
2020-07-27 09:23:42 -05:00
|
|
|
*hl-TSError*
|
2020-06-27 20:43:41 +02:00
|
|
|
For syntax/parser errors.
|
|
|
|
|
|
|
|
|
|
You can deactivate highlighting of syntax errors by adding this to your
|
|
|
|
|
init.vim: >
|
|
|
|
|
highlight link TSError Normal
|
2020-06-21 19:43:02 +02:00
|
|
|
|
|
|
|
|
`TSPunctDelimiter`
|
|
|
|
|
*hl-TSPunctDelimiter*
|
|
|
|
|
For delimiters ie: `.`
|
|
|
|
|
|
|
|
|
|
`TSPunctBracket`
|
|
|
|
|
*hl-TSPunctBracket*
|
|
|
|
|
For brackets and parens.
|
|
|
|
|
|
|
|
|
|
`TSPunctSpecial`
|
|
|
|
|
*hl-TSPunctSpecial*
|
|
|
|
|
For special punctutation that does not fall in the catagories before.
|
|
|
|
|
|
|
|
|
|
`TSConstant`
|
|
|
|
|
*hl-TSConstant*
|
|
|
|
|
For constants
|
|
|
|
|
|
|
|
|
|
`TSConstBuiltin`
|
|
|
|
|
*hl-TSConstBuiltin*
|
|
|
|
|
For constant that are built in the language: `nil` in Lua.
|
|
|
|
|
|
|
|
|
|
`TSConstMacro`
|
|
|
|
|
*hl-TSConstMacro*
|
|
|
|
|
For constants that are defined by macros: `NULL` in C.
|
|
|
|
|
|
|
|
|
|
`TSString`
|
|
|
|
|
*hl-TSString*
|
|
|
|
|
For strings.
|
|
|
|
|
|
|
|
|
|
`TSStringRegex`
|
|
|
|
|
*hl-TSStringRegex*
|
|
|
|
|
For regexes.
|
|
|
|
|
|
|
|
|
|
`TSStringEscape`
|
|
|
|
|
*hl-TSStringEscape*
|
|
|
|
|
For escape characters within a string.
|
|
|
|
|
|
|
|
|
|
`TSCharacter`
|
|
|
|
|
*hl-TSCharacter*
|
|
|
|
|
For characters.
|
|
|
|
|
|
|
|
|
|
`TSNumber`
|
|
|
|
|
*hl-TSNumber*
|
|
|
|
|
For integers.
|
|
|
|
|
|
|
|
|
|
`TSBoolean`
|
|
|
|
|
*hl-TSBoolean*
|
|
|
|
|
For booleans.
|
|
|
|
|
|
|
|
|
|
`TSFloat`
|
|
|
|
|
*hl-TSFloat*
|
|
|
|
|
For floats.
|
|
|
|
|
|
|
|
|
|
`TSFunction`
|
|
|
|
|
*hl-TSFunction*
|
|
|
|
|
For function (calls and definitions).
|
|
|
|
|
|
|
|
|
|
`TSFuncBuiltin`
|
|
|
|
|
*hl-TSFuncBuiltin*
|
|
|
|
|
For builtin functions: `table.insert` in Lua.
|
|
|
|
|
|
|
|
|
|
`TSFuncMacro`
|
|
|
|
|
*hl-TSFuncMacro*
|
|
|
|
|
For macro defined fuctions (calls and definitions): each `macro_rules` in
|
|
|
|
|
Rust.
|
|
|
|
|
|
|
|
|
|
`TSParameter`
|
|
|
|
|
*hl-TSParameter*
|
|
|
|
|
For parameters of a function.
|
|
|
|
|
|
2020-08-15 09:24:24 -05:00
|
|
|
`TSParameterReference`
|
|
|
|
|
*hl-TSParameterReference*
|
|
|
|
|
For references to parameters of a function.
|
|
|
|
|
|
2020-06-21 19:43:02 +02:00
|
|
|
`TSMethod`
|
|
|
|
|
*hl-TSMethod*
|
|
|
|
|
For method calls and definitions.
|
|
|
|
|
|
|
|
|
|
`TSField`
|
|
|
|
|
*hl-TSField*
|
|
|
|
|
For fields.
|
|
|
|
|
|
|
|
|
|
`TSProperty`
|
|
|
|
|
*hl-TSProperty*
|
|
|
|
|
Same as `TSField`.
|
|
|
|
|
|
|
|
|
|
`TSConstructor`
|
|
|
|
|
*hl-TSConstructor*
|
|
|
|
|
For constructor calls and definitions: `{}` in Lua, and Java constructors.
|
|
|
|
|
|
|
|
|
|
`TSConditional`
|
|
|
|
|
*hl-TSConditional*
|
|
|
|
|
For keywords related to conditionnals.
|
|
|
|
|
|
|
|
|
|
`TSRepeat`
|
|
|
|
|
*hl-TSRepeat*
|
|
|
|
|
For keywords related to loops.
|
|
|
|
|
|
|
|
|
|
`TSLabel`
|
|
|
|
|
*hl-TSLabel*
|
2020-06-27 20:33:55 +02:00
|
|
|
For labels: `label:` in C and `:label:` in Lua.
|
2020-06-21 19:43:02 +02:00
|
|
|
|
|
|
|
|
`TSOperator`
|
|
|
|
|
*hl-TSOperator*
|
|
|
|
|
For any operator: `+`, but also `->` and `*` in C.
|
|
|
|
|
|
|
|
|
|
`TSKeyword`
|
|
|
|
|
*hl-TSKeyword*
|
|
|
|
|
For keywords that don't fall in previous categories.
|
|
|
|
|
|
2020-08-03 21:40:23 -05:00
|
|
|
`TSKeywordFunction`
|
|
|
|
|
*hl-TSKeywordFunction*
|
|
|
|
|
For keywords used to define a fuction.
|
|
|
|
|
|
2020-06-21 19:43:02 +02:00
|
|
|
`TSException`
|
|
|
|
|
*hl-TSException*
|
|
|
|
|
For exception related keywords.
|
|
|
|
|
|
|
|
|
|
`TSType`
|
|
|
|
|
*hl-TSType*
|
|
|
|
|
For types.
|
|
|
|
|
|
|
|
|
|
`TSTypeBuiltin`
|
|
|
|
|
*hl-TSTypeBuiltin*
|
|
|
|
|
For builtin types (you guessed it, right ?).
|
|
|
|
|
|
|
|
|
|
`TSStructure`
|
|
|
|
|
*hl-TSStructure*
|
|
|
|
|
This is left as an exercise for the reader.
|
|
|
|
|
|
|
|
|
|
`TSInclude`
|
|
|
|
|
*hl-TSInclude*
|
|
|
|
|
For includes: `#include` in C, `use` or `extern crate` in Rust, or `require`
|
2020-08-16 15:43:16 +02:00
|
|
|
in Lua.
|
|
|
|
|
|
|
|
|
|
`TSAnnotation`
|
|
|
|
|
*hl-TSAnnotation*
|
|
|
|
|
For C++/Dart attributes, annotations that can be attached to the code to
|
|
|
|
|
denote some kind of meta information.
|
2020-06-21 19:43:02 +02:00
|
|
|
|
2020-07-26 09:38:53 -05:00
|
|
|
`TSText`
|
|
|
|
|
*hl-TSText*
|
|
|
|
|
For strings considered text in a markup language.
|
|
|
|
|
|
|
|
|
|
`TSStrong`
|
|
|
|
|
*hl-TSStrong*
|
|
|
|
|
For text to be represented with strong.
|
|
|
|
|
|
|
|
|
|
`TSEmphasis`
|
|
|
|
|
*hl-TSEmphasis*
|
|
|
|
|
For text to be represented with emphasis.
|
|
|
|
|
|
|
|
|
|
`TSUnderline`
|
2020-08-16 15:43:16 +02:00
|
|
|
*hl-TSUnderline*
|
2020-07-26 09:38:53 -05:00
|
|
|
For text to be represented with an underline.
|
|
|
|
|
|
|
|
|
|
`TSTitle`
|
2020-08-16 15:43:16 +02:00
|
|
|
*hl-TSTitle*
|
2020-07-26 09:38:53 -05:00
|
|
|
|
|
|
|
|
Text that is part of a title.
|
|
|
|
|
|
|
|
|
|
`TSLiteral`
|
|
|
|
|
*hl-TSLiteral*
|
|
|
|
|
Literal text.
|
|
|
|
|
|
|
|
|
|
`TSURI`
|
|
|
|
|
*hl-TSURI*
|
|
|
|
|
Any URI like a link or email.
|
|
|
|
|
|
2020-08-16 15:43:16 +02:00
|
|
|
==============================================================================
|
|
|
|
|
MODULE-HIGHLIGHTS *nvim-treesitter-module-highlights*
|
|
|
|
|
|
2020-08-17 21:16:03 +09:00
|
|
|
Apart from the general purpose highlights in |nvim-treesitter-highlights|,
|
2020-08-16 15:43:16 +02:00
|
|
|
some submodules use their own highlight groups to visualize additional
|
|
|
|
|
information.
|
|
|
|
|
|
|
|
|
|
`TSDefinition`
|
|
|
|
|
*hl-TSDefinition*
|
|
|
|
|
Used by refactor.highlight_definitions to highlight the definition of the
|
|
|
|
|
symbol under the cursor.
|
|
|
|
|
|
|
|
|
|
`TSDefinitionUsage`
|
|
|
|
|
*hl-TSDefinitionUsage*
|
|
|
|
|
Used by refactor.highlight_definitions to highlight usages of the symbol under
|
|
|
|
|
the cursor.
|
|
|
|
|
|
|
|
|
|
`TSCurrentScope`
|
|
|
|
|
*hl-TSCurrentScope*
|
|
|
|
|
Used by refactor.highlight_current_scope to highlight the current scope.
|
|
|
|
|
|
2020-07-27 09:23:42 -05:00
|
|
|
vim:tw=78:ts=8:noet:ft=help:norl:
|