Commit graph

34 commits

Author SHA1 Message Date
Thomas Vigouroux
4d4e7d8a8c health: add highlight to healthchecks 2020-04-26 09:29:52 +02:00
Thomas Vigouroux
bb709aa8d0 refactor(textobj): remove unnecessary functions 2020-04-25 21:49:19 +02:00
Thomas Vigouroux
cadb3ee1ff refactor(textobj): use configs and don't use VimL 2020-04-25 21:46:22 +02:00
Thomas Vigouroux
7c7d4e5270 textobj: little refactor 2020-04-25 21:46:22 +02:00
Thomas Vigouroux
c62685841e textobj: add incremental scope selection 2020-04-25 21:46:22 +02:00
Thomas Vigouroux
78b40f895c textobj: add incremental node selection 2020-04-25 21:46:22 +02:00
kiyan42
f489b4b0a3 fix: config is enabled also checks parser existence 2020-04-25 16:18:53 +02:00
kiyan42
62786ec7c6 feat/refacto: improve configurations
- 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
2020-04-24 22:15:21 +02:00
haorenW1025
eb0f9b9e23 fix: add -fPIC flag to compiling 2020-04-23 13:48:20 +08:00
Thomas Vigouroux
f7424d23a1 highlight: retain highlighters with the buffers 2020-04-22 22:03:23 +02:00
Thomas Vigouroux
d05728e155 feat: syntax highlighting 2020-04-22 22:02:42 +02:00
kiyan42
62ce7744db feat/refacto: add configs.lua, setup install
- 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`
2020-04-21 23:40:23 +02:00
kiyan42
0a7f83830f fix: parser install tbl_flatten > unpack
- fix parser install
- format install.lua
2020-04-21 21:05:44 +02:00
Thomas Vigouroux
fbf6efd5b1
Merge pull request #11 from kyazdani42/parser-list
feat: add parser list
2020-04-21 20:14:41 +02:00
kiyan42
b4ca1c4f78 feat: add typescript install
- add repo.location for typescript and compile at that location
- typescript and tsx must be installed separately as two different
  parsers.
2020-04-21 19:28:23 +02:00
kiyan42
a7810728d2 refacto/feat: enable csharp install, fix clone
- 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.
2020-04-21 19:10:01 +02:00
kiyan42
7e0b69d981 fix: repositories from M.repositories since last merge. 2020-04-21 18:37:03 +02:00
kiyan42
698453e50c feat: add checkhealth 2020-04-21 13:38:16 +02:00
Thomas Vigouroux
8b01b9caee
Merge pull request #10 from vigoux/feature/node-utils
Node manipulation utilities
2020-04-20 23:37:31 +02:00
kiyan42
0de42dd7fb feat: add parser list 2020-04-20 22:33:13 +02:00
Thomas Vigouroux
30b34fa505 feat: add node manipulation utils 2020-04-20 22:22:33 +02:00
kiyan42
65af371edd feat: add most parsers 2020-04-20 22:01:52 +02:00
Thomas Vigouroux
3975ca91f6
Merge pull request #4 from kyazdani42/improve-installer
feat/refacto: improve installer
2020-04-20 21:31:07 +02:00
kiyan42
ec9daa1f8a feat/refacto: improve installer 2020-04-20 20:57:11 +02:00
Thomas Vigouroux
d25549917d perf: don't compute locals on buffer updates
Instead we lazily evaluate them on request.
This allow two things :
    * better performances
    * being sure the locas are up to date
2020-04-19 20:16:03 +02:00
Thomas Vigouroux
d169c0614c fix: prepare injections mechanism 2020-04-19 17:55:38 +02:00
Thomas Vigouroux
5783e7d248 style: avoid overindenting things 2020-04-19 17:31:00 +02:00
Thomas Vigouroux
51ca6a5069 fix(matches): better storage of nodes 2020-04-19 17:28:59 +02:00
Thomas Vigouroux
b2b6e51a7c feat: add locals to setup procedure 2020-04-19 17:28:59 +02:00
Thomas Vigouroux
b706c4e8ed feat: first version of locals
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
2020-04-19 17:28:52 +02:00
kiyan42
2967ca5203 add parser installer 2020-04-19 15:13:38 +02:00
Thomas Vigouroux
2526baf4cc feat: add parsers module and better match iter
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.
2020-04-19 09:45:54 +02:00
Thomas Vigouroux
5897d72b07 feat: add empty setup function
Will be used later to setup everything so that a language works properly
in each situation.
2020-04-18 19:32:51 +02:00
Thomas Vigouroux
e51b25dce2 feat: add some utils to read queries 2020-04-18 17:40:26 +02:00