| Age | Commit message (Collapse) | Author |
|
|
|
|
|
Textobjects submodules
|
|
- compute query language extensions *after* default ones
(jsx after javascript)
- remove outdated ts_utils functions from docs
- add better regex detection to javascript
- javascriptreact to use javascript queries
- add javascript.jsx to javascript queries
- write jsx.scm hl file
|
|
|
|
|
|
fix: refactor after upstream refactor
|
|
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.
|
|
|
|
|
|
|
|
|
|
- shared query group stuff -> query.lua
- local-specific stuff from ts_utils -> locals.lua
|
|
|
|
|
|
Allows using another query file for a language, or use a query file
from another language
|
|
|
|
|
|
|
|
- move parser list in `parsers.lua`
- most `ft` variable where changed to `lang`, `ft` is only used on
autocmd binding, and lang is used for everything else. Functions have
been defined to make the switch between `ft` and `lang`
|
|
Use same argument for nvim_get_runtime_file for base language
|
|
Some treesitter grammars just extend another treesitter grammar.
This enables us to use the C queries also for C++.
We only need to put additional queries in the C++ files.
|
|
|
|
features:
- node_movement is moving between scopes.
- add selection initialization from normal mode
- add a decremental selection
improvements:
- attach to buffer to run tree parsing on change
- run state update on CursorMoved
- the buffer state is:
```
{
cursor_pos = { row=row, col=col },
current_node = node_under_cursor,
selection = {
range = nil, -- activates when starting a selection
nodes = {} -- filling up when starting an incremental selection
},
parser = parser, -- parser for current buffer
}
```
- refacto all the modules reliant on parsing the tree, update the current nodes, get the current nodes...
fixes:
- fix has_parser to look for .so libraries
- fix should select the whole file when selection root in selection
|
|
|
|
|
|
The `parsers` module manages parsers for us, for now only in a really
basic way.
iter_prepared_mathes iters on an enhanced versions of the matches, where
captures are directly accessible via their names to allow things like :
((itentifier) @def.first (identifier) @def.last)
To be handled like this in lua:
match.def.first
match.def.last
Also adds a `set!` predicate to allow setting data within the prepared
match (see queries/lua/locals.scm) for examples.
|