Some languages that are difficult to parse via Treesitter may
incorrectly include whitespace lines at the end of regions. This can
makes the calculated folds sub-optimal.
To recitfy, use a custom directive (trim), to calculate the range with
the trailing whitespace lines removed. Note this only works if the
region end column is 0.
Also added folds for Make.
From https://www.lua.org/pil/20.html
> The call string.sub(s,i,j) extracts a piece of the string s, from the i-th to the j-th character inclusive.
This was breaking textobjects movement.
The message does not even provide any context where it's coming from
and what it is exactly doing and has to be acknowledged when printed in
conjunction with the "wrote xxx bytes message"
* added cached to get_query
* added reload function
* fixed message
* added autocommand to reload cache on bufwrite for query file
* pass filename to autocommand v:lua fn
* removed comment
* added metatable
* fixed loop
* Update lua/nvim-treesitter/query.lua
Co-authored-by: Thomas Vigouroux <tomvig38@gmail.com>
* Update lua/nvim-treesitter/query.lua
Co-authored-by: Thomas Vigouroux <tomvig38@gmail.com>
* added do ... end to local query_cache
* made line shorter
Co-authored-by: Thomas Vigouroux <tomvig38@gmail.com>
The following query will result in matches with only one node though it
requires two nodes to be a match.
```scheme
(function_definition
(comment) @function.inner.start
body: (block) @function.inner)
```
Why? First `insert_to_path` is called for `@function.inner.start` which
will result int the following table.
```lua
{ function = { inner = { start { node } } } }
```
`insert_to_path` will overwrite the result
```lua
{ function = { inner = { node } } }
```
Related #552
The files have the mli extension. The parser grammar uses the name
ocaml_interface, but since vim the underscore has a special meaning
ocamlinterface is used as the filetype.
Starting now, runtime queries will be sourced in this order :
- Queries that are not in any `after` folder, will serve as a base, with
each occurence overwriting the others (that is, .config/nvim/queries has
the highest priority)
- Queries within the `after` directory will be sourced one after the
other.
The rationale is that this reminds all the `.vim` files (ftplugin) for
example, and this allows both to experiment and to override queries
easily.