* add submodule on tree-sitter-git-diff
* add git-diff highlights
* inject git-diff into git-commit
* update tree-sitter-git-commit with fix for bad diff case
* add git-diff to language support docs
* include-children in diff injections
This ensures that children nodes of $.message are included in the
injection, such as $.user or issue/pr numbers. Without this change,
diffs containing '#' or '@' characters can trip up the injection and
be parsed separately.
See https://github.com/helix-editor/helix/pull/1373#issuecomment-1001215629
* set diff language's scope as source.diff
* Improve llvm highlighting and queries
The llvm tree-sitter parser was updated to support scopes and more
accurate highlighting.
* Group highlight expressions better
- Differentiates between `as` keyword as a binary type cast
operator and import renamer.
- `mod` and `use` are now under `@keyword.control.import`,
but `mod` is a `@keyword` if used as `mod name;`.
* allow language.config (in languages.toml) to be passed in as a toml object
* Change config field for languages from json string to toml object
* remove indents on languages.toml config
* fix: remove patch version from serde_json import in helix-core
* Use same tree-sitter-zig as upstream/master
* fix(completion_popup): Fixes#1256
* Update helix-term/src/ui/completion.rs
* feat(languages): Add support for `Dockerfile`s
* docs(cargo-xtask-docgen):
* improvement(langs-dockerfile): Add `injection-regex` to `languages.toml` for
`Dockerfile`
* improvement(langs-dockerfile): Add injections.scm
* Update .gitmodules
Co-authored-by: Blaž Hrastnik <blaz@mxxn.io>
- Rename markup.underline.link to markup.link.url
- Add markup.link.label
- Add markup.quote
(The constructor theme scope was missing from the
docs, so unrelated to this commit).
* Add language: dart
The setup requires that dart be in the users path, such as:
```
export PATH="$HOME/Android/flutter/bin/cache/dart-sdk/bin/:$PATH"
```
Refactor the dart highlights
* lang: dart: add indents and locals
* lang: dart: corrections to local scope
Co-authored-by: Blaž Hrastnik <blaz@mxxn.io>
* Move `runtime/themes/base16_default_terminal.toml` to
`base16_theme.toml` alongside `theme.toml`
* Use `terminfo` crate to detect whether the terminal supports true
color and, if the user has no theme configured and their terminal does
not support true color, load the alt default theme instead of the
normal default.
Remove `terminfo` dependency, use `COLORTERM` env instead
Prevent user from switching to an unsupported theme
Add `true-color-override` option
If the terminal is wrongly detected to not support true color,
`true-color-override = true` will override the detection.
Rename `true-color-override` to `true-color`
* do not select a foreground color in selections, as this eliminates
syntax coloring
* select lighter color for selections
* Make non-primary cursor cyan instead of green