mirror of
https://github.com/nvim-treesitter/nvim-treesitter.git
synced 2026-07-16 02:10:15 -04:00
Docs: format and fixes
Format the docs to be consisted and some typos.
This commit is contained in:
parent
1301884e97
commit
6f9e5bf23f
3 changed files with 235 additions and 176 deletions
|
|
@ -6,8 +6,9 @@ If you haven't already, you should really come and reach out to us on our [gitte
|
|||
room, so we can help you with any question you might have!
|
||||
|
||||
As you know, `nvim-treesitter` is roughly splitted in two parts :
|
||||
- Parser configurations : for various things like `locals`, `highlights`
|
||||
- What we like to call *modules* : tiny lua modules that provide a given feature, based on parser configurations
|
||||
|
||||
- Parser configurations : for various things like `locals`, `highlights`
|
||||
- What we like to call *modules* : tiny lua modules that provide a given feature, based on parser configurations
|
||||
|
||||
Depending on which part of the plugin you want to contribute to, please read the appropriate section.
|
||||
|
||||
|
|
@ -26,12 +27,13 @@ ln -s ../../scripts/pre-push .git/hooks/pre-push
|
|||
## Adding new modules
|
||||
|
||||
If you want to see a new functionality added to `nvim-treesitter` feel free to first open an issue
|
||||
to that we can track our solution !
|
||||
to that we can track our solution!
|
||||
Thus far, there is basically two types of modules:
|
||||
- Little modules (like `incremental selection`) that are built in `nvim-treesitter`, we call them
|
||||
`builtin modules`.
|
||||
- Bigger modules (like `completion-treesitter`, or `nvim-tree-docs`), or modules that integrate
|
||||
with other plugins, that we call `remote modules`.
|
||||
|
||||
- Little modules (like `incremental selection`) that are built in `nvim-treesitter`, we call them
|
||||
`builtin modules`.
|
||||
- Bigger modules (like `completion-treesitter`, or `nvim-tree-docs`), or modules that integrate
|
||||
with other plugins, that we call `remote modules`.
|
||||
|
||||
In any case, you can build your own module ! To help you started in the process, we have a template
|
||||
repository designed to build new modules [here](https://github.com/nvim-treesitter/module-template).
|
||||
|
|
@ -46,17 +48,19 @@ Before going any further, we highly suggest that you [read more about tree-sitte
|
|||
|
||||
Each query has an appropriate name, which is then used by modules to extract data from the syntax tree.
|
||||
For now two types of queries are used by `nvim-treesitter`:
|
||||
- `highlights.scm` : used for syntax highlighting, using the `highlight` module.
|
||||
- `locals.scm` : used to extract keyword definitions, scopes, references,... using the `locals` module.
|
||||
|
||||
- `highlights.scm` : used for syntax highlighting, using the `highlight` module.
|
||||
- `locals.scm` : used to extract keyword definitions, scopes, references, etc, using the `locals` module.
|
||||
|
||||
For both of these types there is a *norm* you will have to follow so that features work fine.
|
||||
Here are some global advices :
|
||||
- If your language is listed [here](https://tree-sitter.github.io/tree-sitter/using-parsers#pattern-matching-with-queries),
|
||||
you can debug and experiment with your queries there.
|
||||
- If not, you should consider installing the [tree-sitter cli](https://github.com/tree-sitter/tree-sitter/tree/master/cli),
|
||||
you should then be able to open a local playground using `tree-sitter build-wasm && tree-sitter web-ui` within the
|
||||
parsers repo.
|
||||
- An Example of somewhat complex highlight queries can be found in queries/ruby/highlights.scm (Maintained by @TravonteD)
|
||||
|
||||
- If your language is listed [here](https://tree-sitter.github.io/tree-sitter/using-parsers#pattern-matching-with-queries),
|
||||
you can debug and experiment with your queries there.
|
||||
- If not, you should consider installing the [tree-sitter cli](https://github.com/tree-sitter/tree-sitter/tree/master/cli),
|
||||
you should then be able to open a local playground using `tree-sitter build-wasm && tree-sitter web-ui` within the
|
||||
parsers repo.
|
||||
- An Example of somewhat complex highlight queries can be found in queries/ruby/highlights.scm (Maintained by @TravonteD)
|
||||
|
||||
### Highlights
|
||||
|
||||
|
|
@ -64,8 +68,8 @@ As languages differ quite a lot, here is a set of captures available to you when
|
|||
One important thing to note is that many of these capture groups are not supported by `neovim` for now, and will not have any
|
||||
effect on highlighting. We will work on improving highlighting in the near future though.
|
||||
|
||||
|
||||
#### Misc
|
||||
|
||||
```
|
||||
@comment
|
||||
@error for error (ERROR` nodes.
|
||||
|
|
@ -75,13 +79,16 @@ effect on highlighting. We will work on improving highlighting in the near futur
|
|||
|
||||
Some captures are related to language injection (like markdown code blocks). As this is not supported by neovim yet, these
|
||||
are optional and will not have any effect for now.
|
||||
|
||||
```
|
||||
@embedded
|
||||
@injection
|
||||
language
|
||||
content
|
||||
```
|
||||
|
||||
#### Constants
|
||||
|
||||
```
|
||||
@constant
|
||||
builtin
|
||||
|
|
@ -96,6 +103,7 @@ are optional and will not have any effect for now.
|
|||
```
|
||||
|
||||
#### Functions
|
||||
|
||||
```
|
||||
@function
|
||||
builtin
|
||||
|
|
@ -109,6 +117,7 @@ are optional and will not have any effect for now.
|
|||
```
|
||||
|
||||
#### Keywords
|
||||
|
||||
```
|
||||
@conditional
|
||||
@repeat
|
||||
|
|
@ -161,4 +170,3 @@ Mainly for markup languages.
|
|||
@scope
|
||||
@reference
|
||||
```
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue