diff options
| author | Santos Gallegos <stsewd@protonmail.com> | 2020-07-27 09:23:42 -0500 |
|---|---|---|
| committer | Thomas Vigouroux <39092278+vigoux@users.noreply.github.com> | 2020-07-27 16:49:07 +0200 |
| commit | 6f9e5bf23f651dc1437d9b43220a4f44a122865f (patch) | |
| tree | e051995736a72c53e96ef4fef7b4e387d1f0f593 /CONTRIBUTING.md | |
| parent | 1301884e97e1c3e4636c9e3e872e8468c2d20d82 (diff) | |
Docs: format and fixes
Format the docs to be consisted and some typos.
Diffstat (limited to 'CONTRIBUTING.md')
| -rw-r--r-- | CONTRIBUTING.md | 42 |
1 files changed, 25 insertions, 17 deletions
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index cae75f0e..13497b47 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -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 ``` - |
