* switch to split markdown parser with separate block and inline parsers to improve performance
* add exclude_children! directive (useful for something like Injected markdown incorrectly highlights indented docstrings #2212)
* split markdown queries into block and inline ones and add the injection for inline into block grammar
* add include_dir option to parser configs (needed because the two grammars don't live in the repos root directory)
BREAKING CHANGE: downstream queries need to be adapted to new parser
Before, all identifiers containing the substring "self" were highlighted as the builtin `self`. Now, only the identifier `self` is highlighted as `self`.
- A hotlink on vimdoc is `|foo|`.
Which is a reference to part of a document,
not a URI.
- (argument) wasn't being highlighted,
wasn't sure about the best hl group for this,
but `@parameter` seems the obvious one?
This improves the following situation, in which '|' is the cursor position:
```yaml
- key1: value1
key2: value2|
```
Before this commit, by pressing Enter would result in this indentation:
```yaml
- key1: value1
key2: value2
|
```
Which is less convenient than this:
```yaml
- key1: value1
key2: value2
|
```
This helps to solve the first issue reported at #1377.
The problem is that the line loses its indentation when we start
inserting a new mapping pair (specifically, when we enter the character
":").
The issue seems to be solved by auto indenting ERROR nodes.
This solves the second issue reported at #1377, in which the cursor
would not be aligned with the line "key2: value2" when entering a new
line below it.
```yaml
- key1: value1
key2: value2
```
Add support for vlang filetypes.
- [ ] Highlight `C` as builtin variable. This is FFI in vlang land,
where C act like extern and access c functions. The vlang parser does
some extension between C function calls and arguments but I believe
highlighting C as builtin variable is sufficient indicator for now. I
tried to use offset! but failed. Any suggestions?
- [ ] Set up parser url. the vlang parser is located within [vls] repo. Is
installing from nested repo supported? `tree_sitter_v/src/parser.c`?
[vls]: https://github.com/vlang/vls/tree/master/tree_sitter_v
cc @elianiva @theHamsta