* master:
Change regexes in C/C++ highlights
Update C/C++ highlights to new query syntax
Add better highlighting for preprocessor functions in C highlights
Add operators /=,*=,|=,&= to C highlights
Add compound_statement to c queries
Add punctuation.bracket/punctuation.delimiter to C highlights
Make =,~,! operators in C highlights
Add cpp/locals.scm
Add @error highlight to c/highlights.scm
Add C++ highlights.scm
Introduce base languages for queries
Add tree-sitter-regex
feat(queries): allow for user overrides
Update issue templates
- add `exposed_state` to expose 'current_node' and 'cursor_pos'
for a current buffer to the user.
- add `get_buf_state` and `get_node_api` for users.
- add documentation about api functions.
- remove `node_movement` module which should be done in user side.
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