aboutsummaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorSantos Gallegos <stsewd@protonmail.com>2020-07-27 09:23:42 -0500
committerThomas Vigouroux <39092278+vigoux@users.noreply.github.com>2020-07-27 16:49:07 +0200
commit6f9e5bf23f651dc1437d9b43220a4f44a122865f (patch)
treee051995736a72c53e96ef4fef7b4e387d1f0f593 /doc
parentC++: locals template_declaration must define their own scope in which the tem... (diff)
downloadnvim-treesitter-6f9e5bf23f651dc1437d9b43220a4f44a122865f.tar
nvim-treesitter-6f9e5bf23f651dc1437d9b43220a4f44a122865f.tar.gz
nvim-treesitter-6f9e5bf23f651dc1437d9b43220a4f44a122865f.tar.bz2
nvim-treesitter-6f9e5bf23f651dc1437d9b43220a4f44a122865f.tar.lz
nvim-treesitter-6f9e5bf23f651dc1437d9b43220a4f44a122865f.tar.xz
nvim-treesitter-6f9e5bf23f651dc1437d9b43220a4f44a122865f.tar.zst
nvim-treesitter-6f9e5bf23f651dc1437d9b43220a4f44a122865f.zip
Docs: format and fixes
Format the docs to be consisted and some typos.
Diffstat (limited to 'doc')
-rw-r--r--doc/nvim-treesitter.txt250
1 files changed, 143 insertions, 107 deletions
diff --git a/doc/nvim-treesitter.txt b/doc/nvim-treesitter.txt
index 82a6539b3..7bf4b5780 100644
--- a/doc/nvim-treesitter.txt
+++ b/doc/nvim-treesitter.txt
@@ -5,13 +5,13 @@ Minimum version of neovim: nightly
Authors: Yazdani Kiyan <yazdani.kiyan@protonmail.com>, Vigouroux Thomas <tomvig38@gmail.com>
==============================================================================
-INTRODUCTION *nvim-treesitter-intro*
+INTRODUCTION *nvim-treesitter-intro*
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*
+QUICK START *nvim-treesitter-quickstart*
Install the parser for your language
@@ -30,71 +30,79 @@ By default, everything is disabled. To enable support for features, in your `ini
>
lua <<EOF
require'nvim-treesitter.configs'.setup {
- highlight = {
- enable = true, -- false will disable the whole extension
- disable = { 'c', 'rust' }, -- list of language that will be disabled
- 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
- },
- },
- incremental_selection = {
- enable = true,
- disable = { 'cpp', 'lua' },
- 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_defintions = {
- enable = true
+ highlight = {
+ enable = true, -- false will disable the whole extension
+ disable = { 'c', 'rust' }, -- list of language that will be disabled
+ 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
+ },
},
- smart_rename = {
- enable = true,
- smart_rename = "grr" -- mapping to rename reference under cursor
- },
- navigation = {
- enable = true,
- 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
+ incremental_selection = {
enable = true,
- disable = {},
- keymaps = {
- ["iL"] = { -- you can define your own textobjects directly here
- python = "(function_definition) @function",
- cpp = "(function_definition) @function",
- c = "(function_definition) @function",
- java = "(method_declaration) @function"
- },
- -- 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"
+ disable = { 'cpp', 'lua' },
+ 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
+ python = "(function_definition) @function",
+ cpp = "(function_definition) @function",
+ c = "(function_definition) @function",
+ java = "(method_declaration) @function"
+ },
+ -- 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"
}
- },
- ensure_installed = 'all' -- one of 'all', 'language', or a list of languages
+ },
+ ensure_installed = 'all' -- one of 'all', 'language', or a list of languages
}
EOF
<
+
==============================================================================
-USER QUERY EXTENSIONS *nvim-treesitter-query-extensions*
+USER QUERY EXTENSIONS *nvim-treesitter-query-extensions*
You can add your own query files by placing a query file in vim's runtime path
after `nvim-treesitter` is sourced. If the language has a built in query file,
@@ -107,28 +115,33 @@ to the runtime path by adding this to your vim config `set rtp+='path/to/queries
==============================================================================
-COMMANDS *nvim-treesitter-commands*
+COMMANDS *nvim-treesitter-commands*
-|:TSInstall| {language} ... *:TSInstall*
+ *:TSInstall*
+:TSInstall| {language} ...~
Install one or more treesitter parsers.
You can use |:TSInstall| `all` to install all parsers.
-|:TSInstallInfo| *:TSInstallInfo*
+ *:TSInstallInfo*
+:TSInstallInfo~
List informations about currently installed parsers
-|:TSBufEnable| {module} *:TSBufEnable*
+ *:TSBufEnable*
+:TSBufEnable {module}~
Enable {module} on the current buffer.
A list of modules can be found at |:TSModuleInfo|
-|:TSBufDisable| {module} *:TSBufDisable*
+ *:TSBufDisable*
+:TSBufDisable {module}~
Disable {module} on the current buffer
A list of modules can be found at |:TSModuleInfo|
-|:TSBufEnableAll| {module} [{language}] *:TSBufEnableAll*
+ *:TSBufEnableAll*
+:TSBufEnableAll {module} [{language}]~
Enable {module} for the session
if {language} is specified, enable module for the session only for this
@@ -136,7 +149,8 @@ particular language.
A list of modules can be found at |:TSModuleInfo|
A list of languages can be found at |:TSInstallInfo|
-|:TSBufDisableAll| {module} [{language}] *:TSBufDisableAll*
+ *:TSBufDisableAll*
+:TSBufDisableAll {module} [{language}]~
Disable {module} for the session
if {language} is specified, disable module for the session only for this
@@ -144,76 +158,98 @@ particular language.
A list of modules can be found at |:TSModuleInfo|
A list of languages can be found at |:TSInstallInfo|
-|:TSModuleInfo| [{module}] *:TSModuleInfo*
+ *:TSModuleInfo*
+:TSModuleInfo [{module}]~
List modules state for the current session.
==============================================================================
-UTILS *nvim-treesitter-utils*
+UTILS *nvim-treesitter-utils*
Nvim treesitter has some wrapper functions that you can retrieve with:
>
local ts_utils = require 'nvim-treesitter.ts_utils'
<
Methods
+ *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)~
-get_node_at_cursor(winnr) *ts_utils.get_node_at_cursor*
- winnr will be 0 if nil
- returns the node under the cursor
+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.
-get_node_text(node, bufnr) *ts_utils.get_node_text*
- return the text content of a node
+ *ts_utils.containing_scope*
+containing_scope(node)~
-is_parent(dest, source) *ts_utils.is_parent*
- determines wether `dest` is a parent of `source`
- return a boolean
+Returns the smallest scope containing the node.
-get_named_children(node) *ts_utils.get_named_children*
- return a table of named children of `node`
+ *ts_utils.parent_scope*
+parent_scope(node, cursor_pos)~
-get_next_node(node, allow_switch_parent, allow_next_parent) *ts_utils.get_next_node*
- return 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.
+Returns the parent scope of the current scope that contains the node.
+`cursor_pos` should be `{ row = number, col = number }`
-get_previous_node(node, allow_switch_parents, allow_prev_parent) *ts_utils.get_previous_node*
- return 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.
+ *ts_utils.nested_scope*
+nested_scope(node, cursor_pos)~
-containing_scope(node) *ts_utils.containing_scope*
- return the smallest scope containing the node
+Returns the first scope within current scope that contains the node.
+`cursor_pos` should be `{ row = number, col = number }`
-parent_scope(node, cursor_pos) *ts_utils.parent_scope*
- return the parent scope of the current scope that contains the node.
- `cursor_pos` should be `{ row = number, col = number }`
+ *ts_utils.next_scope*
+next_scope(node)~
-nested_scope(node, cursor_pos) *ts_utils.nested_scope*
- return the first scope within current scope that contains the node.
- `cursor_pos` should be `{ row = number, col = number }`
+Returns the neighbour scope of the current node.
-next_scope(node) *ts_utils.next_scope*
- return the neighbour scope of the current node
+ *ts_utils.previous_scope*
+previous_scope(node)~
-previous_scope(node) *ts_utils.previous_scope*
- return the previous neighbour scope of the current node
+Returns the previous neighbour scope of the current node.
==============================================================================
-FUNCTIONS *nvim-treesitter-functions*
+FUNCTIONS *nvim-treesitter-functions*
-|nvim_treesitter#statusline(size)|
*nvim_treesitter#statusline()*
+nvim_treesitter#statusline(size)~
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`.
-|nvim_treesitter#foldexpr()|
*nvim_treesitter#foldexpr()*
+nvim_treesitter#foldexpr()~
Functions to be used to determine the fold level at a given line number.
To use it: >
@@ -228,7 +264,7 @@ Note: This is highly experimental, and folding can break on some types of
HIGHLIGHTS *nvim-treesitter-highlights*
`TSError`
- *hl-TSError*
+ *hl-TSError*
For syntax/parser errors.
You can deactivate highlighting of syntax errors by adding this to your
@@ -389,4 +425,4 @@ Literal text.
*hl-TSURI*
Any URI like a link or email.
- vim:tw=78:ts=8:noet:ft=help:norl:
+vim:tw=78:ts=8:noet:ft=help:norl: