mirror of
https://github.com/nvim-treesitter/nvim-treesitter.git
synced 2026-07-18 03:10:04 -04:00
update docs
This commit is contained in:
parent
38af29a912
commit
cabe61ac19
3 changed files with 33 additions and 50 deletions
14
README.md
14
README.md
|
|
@ -131,19 +131,13 @@ Some of these features are :
|
||||||
You can find the roadmap [here](https://github.com/nvim-treesitter/nvim-treesitter/projects/1).
|
You can find the roadmap [here](https://github.com/nvim-treesitter/nvim-treesitter/projects/1).
|
||||||
The roadmap and all features of this plugin are open to change, and any suggestion will be highly appreciated!
|
The roadmap and all features of this plugin are open to change, and any suggestion will be highly appreciated!
|
||||||
|
|
||||||
## Api
|
## Utils
|
||||||
|
|
||||||
Nvim-treesitter exposes an api to extend node capabilites. You can retrieve the api like this:
|
you can get some utility functions with
|
||||||
```lua
|
```lua
|
||||||
local ts_node_api = require 'nvim-treesitter'.get_node_api()
|
local ts_utils = require 'nvim-treesitter.ts_utils'
|
||||||
```
|
```
|
||||||
|
More information is available in neovim documentation (`:help nvim-treesitter-utils`).
|
||||||
You can also retrieve the current state of the current buffer with:
|
|
||||||
```lua
|
|
||||||
local buf_state = require'nvim-treesitter'.get_buf_state()
|
|
||||||
```
|
|
||||||
|
|
||||||
More information is available in neovim documentation (`:help nvim-treesitter-api`).
|
|
||||||
|
|
||||||
## Supported Languages
|
## Supported Languages
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -91,26 +91,28 @@ A list of languages can be found at |:TSInstallInfo|
|
||||||
List modules state for the current session.
|
List modules state for the current session.
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
API *nvim-treesitter-api*
|
UTILS *nvim-treesitter-utils*
|
||||||
|
|
||||||
Nvim treesitter exposes extended functions to use on nodes and scopes.
|
Nvim treesitter has some wrapper functions that you can retrieve with:
|
||||||
you can retrieve the api with:
|
|
||||||
>
|
>
|
||||||
local ts_node_api = require 'nvim-treesitter'.get_node_api()
|
local ts_utils = require 'nvim-treesitter.ts_utils'
|
||||||
<
|
<
|
||||||
Methods
|
Methods
|
||||||
|
|
||||||
get_node_text(node, bufnr) *ts_api.get_node_text*
|
get_node_at_cursor() *ts_utils.get_node_at_cursor*
|
||||||
|
returns the node under the cursor
|
||||||
|
|
||||||
|
get_node_text(node, bufnr) *ts_utils.get_node_text*
|
||||||
return the text content of a node
|
return the text content of a node
|
||||||
|
|
||||||
is_parent(dest, source) *ts_api.is_parent*
|
is_parent(dest, source) *ts_utils.is_parent*
|
||||||
determines wether `dest` is a parent of `source`
|
determines wether `dest` is a parent of `source`
|
||||||
return a boolean
|
return a boolean
|
||||||
|
|
||||||
get_named_children(node) *ts_api.get_named_children*
|
get_named_children(node) *ts_utils.get_named_children*
|
||||||
return a table of named children of `node`
|
return a table of named children of `node`
|
||||||
|
|
||||||
get_next_node(node, allow_switch_parent, allow_next_parent) *ts_api.get_next_node*
|
get_next_node(node, allow_switch_parent, allow_next_parent) *ts_utils.get_next_node*
|
||||||
return the next node within the same parent.
|
return the next node within the same parent.
|
||||||
if no node is found, returns `nil`.
|
if no node is found, returns `nil`.
|
||||||
if `allow_switch_parent` is true, it will allow switching parent
|
if `allow_switch_parent` is true, it will allow switching parent
|
||||||
|
|
@ -118,42 +120,28 @@ get_next_node(node, allow_switch_parent, allow_next_parent) *ts_api.get_next_nod
|
||||||
if `allow_next_parent` is true, it will allow next parent if
|
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.
|
the node is the last node and the next parent doesn't have children.
|
||||||
|
|
||||||
get_previous_node(node, allow_switch_parents, allow_prev_parent) *ts_api.get_previous_node*
|
get_previous_node(node, allow_switch_parents, allow_prev_parent) *ts_utils.get_previous_node*
|
||||||
return the previous node within the same parent.
|
return the previous node within the same parent.
|
||||||
`allow_switch_parent` and `allow_prev_parent` follow the same rule
|
`allow_switch_parent` and `allow_prev_parent` follow the same rule
|
||||||
as |ts_api.get_next_node| but if the node is the first node.
|
as |ts_utils.get_next_node| but if the node is the first node.
|
||||||
|
|
||||||
containing_scope(node) *ts_api.containing_scope*
|
containing_scope(node) *ts_utils.containing_scope*
|
||||||
return the smallest scope containing the node
|
return the smallest scope containing the node
|
||||||
|
|
||||||
parent_scope(node, cursor_pos) *ts_api.parent_scope*
|
parent_scope(node, cursor_pos) *ts_utils.parent_scope*
|
||||||
return the parent scope of the current scope that contains the node.
|
return the parent scope of the current scope that contains the node.
|
||||||
`cursor_pos` should be `{ row = number, col = number }`
|
`cursor_pos` should be `{ row = number, col = number }`
|
||||||
you can retrieve the cursor_pos with the buffer state
|
|
||||||
|
|
||||||
nested_scope(node, cursor_pos) *ts_api.nested_scope*
|
nested_scope(node, cursor_pos) *ts_utils.nested_scope*
|
||||||
return the first scope within current scope that contains the node.
|
return the first scope within current scope that contains the node.
|
||||||
`cursor_pos` should be `{ row = number, col = number }`
|
`cursor_pos` should be `{ row = number, col = number }`
|
||||||
you can retrieve the cursor_pos with the buffer state
|
|
||||||
|
|
||||||
next_scope(node) *ts_api.next_scope*
|
next_scope(node) *ts_utils.next_scope*
|
||||||
return the neighbour scope of the current node
|
return the neighbour scope of the current node
|
||||||
|
|
||||||
previous_scope(node) *ts_api.previous_scope*
|
previous_scope(node) *ts_utils.previous_scope*
|
||||||
return the previous neighbour scope of the current node
|
return the previous neighbour scope of the current node
|
||||||
|
|
||||||
Nvim-treesitter also provides access to the state of the current buffer:
|
|
||||||
>
|
|
||||||
local cur_buf_state = require'nvim-treesitter'.get_buf_state()
|
|
||||||
print(vim.inspect(cur_buf_state))
|
|
||||||
--[[
|
|
||||||
{
|
|
||||||
cursor_pos = { row = number, col = number }, (current cursor pos in the buffer)
|
|
||||||
current_node = tsnode (smallest node the cursor is on)
|
|
||||||
}
|
|
||||||
]]--
|
|
||||||
<
|
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
FUNCTIONS *nvim-treesitter-functions*
|
FUNCTIONS *nvim-treesitter-functions*
|
||||||
|
|
||||||
|
|
|
||||||
23
doc/tags
23
doc/tags
|
|
@ -6,20 +6,21 @@
|
||||||
:TSInstallInfo nvim-treesitter.txt /*:TSInstallInfo*
|
:TSInstallInfo nvim-treesitter.txt /*:TSInstallInfo*
|
||||||
:TSModuleInfo nvim-treesitter.txt /*:TSModuleInfo*
|
:TSModuleInfo nvim-treesitter.txt /*:TSModuleInfo*
|
||||||
nvim-treesitter nvim-treesitter.txt /*nvim-treesitter*
|
nvim-treesitter nvim-treesitter.txt /*nvim-treesitter*
|
||||||
nvim-treesitter-api nvim-treesitter.txt /*nvim-treesitter-api*
|
|
||||||
nvim-treesitter-commands nvim-treesitter.txt /*nvim-treesitter-commands*
|
nvim-treesitter-commands nvim-treesitter.txt /*nvim-treesitter-commands*
|
||||||
nvim-treesitter-functions nvim-treesitter.txt /*nvim-treesitter-functions*
|
nvim-treesitter-functions nvim-treesitter.txt /*nvim-treesitter-functions*
|
||||||
nvim-treesitter-intro nvim-treesitter.txt /*nvim-treesitter-intro*
|
nvim-treesitter-intro nvim-treesitter.txt /*nvim-treesitter-intro*
|
||||||
nvim-treesitter-quickstart nvim-treesitter.txt /*nvim-treesitter-quickstart*
|
nvim-treesitter-quickstart nvim-treesitter.txt /*nvim-treesitter-quickstart*
|
||||||
|
nvim-treesitter-utils nvim-treesitter.txt /*nvim-treesitter-utils*
|
||||||
nvim_treesitter#foldexpr() nvim-treesitter.txt /*nvim_treesitter#foldexpr()*
|
nvim_treesitter#foldexpr() nvim-treesitter.txt /*nvim_treesitter#foldexpr()*
|
||||||
nvim_treesitter#statusline() nvim-treesitter.txt /*nvim_treesitter#statusline()*
|
nvim_treesitter#statusline() nvim-treesitter.txt /*nvim_treesitter#statusline()*
|
||||||
ts_api.containing_scope nvim-treesitter.txt /*ts_api.containing_scope*
|
ts_utils.containing_scope nvim-treesitter.txt /*ts_utils.containing_scope*
|
||||||
ts_api.get_named_children nvim-treesitter.txt /*ts_api.get_named_children*
|
ts_utils.get_named_children nvim-treesitter.txt /*ts_utils.get_named_children*
|
||||||
ts_api.get_next_node nvim-treesitter.txt /*ts_api.get_next_node*
|
ts_utils.get_next_node nvim-treesitter.txt /*ts_utils.get_next_node*
|
||||||
ts_api.get_node_text nvim-treesitter.txt /*ts_api.get_node_text*
|
ts_utils.get_node_at_cursor nvim-treesitter.txt /*ts_utils.get_node_at_cursor*
|
||||||
ts_api.get_previous_node nvim-treesitter.txt /*ts_api.get_previous_node*
|
ts_utils.get_node_text nvim-treesitter.txt /*ts_utils.get_node_text*
|
||||||
ts_api.is_parent nvim-treesitter.txt /*ts_api.is_parent*
|
ts_utils.get_previous_node nvim-treesitter.txt /*ts_utils.get_previous_node*
|
||||||
ts_api.nested_scope nvim-treesitter.txt /*ts_api.nested_scope*
|
ts_utils.is_parent nvim-treesitter.txt /*ts_utils.is_parent*
|
||||||
ts_api.next_scope nvim-treesitter.txt /*ts_api.next_scope*
|
ts_utils.nested_scope nvim-treesitter.txt /*ts_utils.nested_scope*
|
||||||
ts_api.parent_scope nvim-treesitter.txt /*ts_api.parent_scope*
|
ts_utils.next_scope nvim-treesitter.txt /*ts_utils.next_scope*
|
||||||
ts_api.previous_scope nvim-treesitter.txt /*ts_api.previous_scope*
|
ts_utils.parent_scope nvim-treesitter.txt /*ts_utils.parent_scope*
|
||||||
|
ts_utils.previous_scope nvim-treesitter.txt /*ts_utils.previous_scope*
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue