| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
| |
It will show the current branch at the cursor going the tree as such.
root->node->subnode->leaf
If an argument is provided to `statusline`, then the tree will be
truncated as follows :
..->subnode->subnode
|
| | |
|
| |
|
|
|
| |
As suggested in #37, rename the textobj module to incremental_selection.
Also adds a utility function to get the config of a module.
|
| |\
| |
| | |
Add some more community parsers
|
| | |
| |
| |
| | |
The haskell one really takes long to compile
|
| |/ |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
| |
- You should now get the configs through functions
- Configs for languages are now inside a local object called parsers
- You can get the parser installation configurations with `get_parser_configs`
- A new object has been initialized inside configs to specify module config (called config).
- Provide functions to enable/disable a module on one buffer
- Provide functions to enable/disable a module on all buffers, and if filetype is
specified, for specific filetype
- Provide function to determine if module is activated for a specified filetype
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
| |
- configs.lua holds the `repositories` data
- install health moved to health.lua
- plugins loads _root.setup() on startup
- install and list command are available through vim
> use them with `:TSInstall lang` and `:TSInstallInfo`
|
| |
|
|
|
| |
- fix parser install
- format install.lua
|
| |\
| |
| | |
feat: add parser list
|
| | | |
|
| | |
| |
| |
| |
| |
| | |
- add repo.location for typescript and compile at that location
- typescript and tsx must be installed separately as two different
parsers.
|
| | |
| |
| |
| |
| |
| | |
- clone only master at depth 1 to avoid long download from huge repos.
- use ft to specify folder name to clone so csharp can be cloned and
used properly.
|
| | | |
|
| | | |
|
| |\ \
| | |
| | | |
Node manipulation utilities
|
| | | | |
|
| | |/
|/| |
|
| |\ \
| |/
|/| |
feat/refacto: improve installer
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| | |
Instead we lazily evaluate them on request.
This allow two things :
* better performances
* being sure the locas are up to date
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| |/
|
|
|
|
|
| |
Locals will be the main interface to treesitter, through some functions:
get_definitions(bufnr) : returns all the definitions in bufnr
get_scopes(bufnr): returns all definitions in bufnr
get_references(bufnr): returns all references in bufnr
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
| |
Will be used later to setup everything so that a language works properly
in each situation.
|
| |
|