aboutsummaryrefslogtreecommitdiff
path: root/runtime/queries/rust
Commit message (Collapse)AuthorAge
* Indentation rework (#1562)Triton1712022-03-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * WIP: Rework indentation system * Add ComplexNode for context-aware indentation (including a proof of concept for assignment statements in rust) * Add switch statements to Go indents.toml (fixes the second half of issue #1523) Remove commented-out code * Migrate all existing indentation queries. Add more options to ComplexNode and use them to improve C/C++ indentation. * Add comments & replace Option<Vec<_>> with Vec<_> * Add more detailed documentation for tree-sitter indentation * Improve code style in indent.rs * Use tree-sitter queries for indentation instead of TOML config. Migrate existing indent queries. * Add documentation for the new indent queries. Change xtask docgen to look for indents.scm instead of indents.toml * Improve code style in indent.rs. Fix an issue with the rust indent query. * Move indentation test sources to separate files. Add `#not-kind-eq?`, `#same-line?` and `#not-same-line` custom predicates. Improve the rust and c indent queries. * Fix indent test. Improve rust indent queries. * Move indentation tests to integration test folder. * Improve code style in indent.rs. Reuse tree-sitter cursors for indentation queries. * Migrate HCL indent query * Replace custom loading in indent tests with a designated languages.toml * Update indent query file name for --health command. * Fix single-space formatting in indent queries. * Add explanation for unwrapping. Co-authored-by: Triton171 <triton0171@gmail.com>
* Add comment textobject for surround selection and navigation (#1605)Daniel S Poulin2022-03-06
|
* add tree-sitter-regex (#1362)Michael Davis2022-01-06
| | | | | | | | | | | | | | | | | | | | | | | | | * add tree-sitter-regex * adapt regex highlights from upstream * inject regex into elixir sigil_r/2 and sigil_R/2 * generate lang-support docs * capture interesting nodes in character-ranges * make $.character_class captures more consistent * fix fallthrough behavior for character classes * capture pattern characters as 'string' * use latest tree-sitter-regex * set elixir regex injections as combined * add link to upstream queries * inject regex in rust into 'Regex::new' raw string literals
* Add basic indentation for languages without treesitter-based indentation ↵Triton1712022-01-03
| | | | | | | rules (always use the indent of the current line for a new line). (#1341) Fix several bugs in the treesitter indentation calculation. Co-authored-by: Triton171 <triton0171@gmail.com>
* Add precise rust queries for use, mod, as (#1339)Gokul Soumya2021-12-23
| | | | | | - 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;`.
* Improve rust syntax highlighting (#1295)Gokul Soumya2021-12-20
| | | | | - Highlight fragment specifiers (expr, tt, in macro definitions) with @type. - Highlight attributes as macros
* Add tree-sitter-comment (#1300)Michael Davis2021-12-19
| | | | | | | | | | | | | | | | | | | | | | | | | * Add tree-sitter-comment Fix #1164 * fix precedence in tree-sitter-comment highlights connects https://github.com/helix-editor/helix/pull/1170 * set injection-regex for comment language * remove comment filetype * fix comment injections for neovim-style injections tags * add comment injections for elixir * remove f.comment * fix spacing in .gitmodules * run 'cargo xtask docgen' Co-authored-by: Ivan Tham <pickfire@riseup.net>
* Updated tree-sitter query scopes (#896)Kirawi2021-11-03
| | | | | | | | | | | | | | | | | | * updated theme scopes variable.property -> variable.field property -> variable.field * updated theme scopes * update book and themes updated book and themes to reflect scope changes * wip * update more queries * update dark_plus.toml
* Add treesitter textobjects (#728)Gokul Soumya2021-10-23
| | | | | | | | | | | | | | | | | | | | | | | | | * Add treesitter textobject queries Only for Go, Python and Rust for now. * Add tree-sitter textobjects Only has functions and class objects as of now. * Fix tests * Add docs for tree-sitter textobjects * Add guide for creating new textobject queries * Add parameter textobject Only parameter.inside is implemented now, parameter.around will probably require custom predicates akin to nvim' `make-range` since we want to select a trailing comma too (a comma will be an anonymous node and matching against them doesn't work similar to named nodes) * Simplify TextObject cell init
* Improve docs, fix up a few highlight scopesBlaž Hrastnik2021-09-07
|
* syntax: Add go & rust locals, improve tree-sitter error messageBlaž Hrastnik2021-09-06
|
* Improve grammar definitionsBlaž Hrastnik2021-09-06
|
* gruvbox theme changes (#594)oberblastmeister2021-08-18
| | | | | | | | | * changed some gruvbox highlights * more stuff including cursors * use property instead * use variable.property
* rust: Indent multi line call expressions one level deeperBlaž Hrastnik2021-07-26
|
* Improve rust indentation queriesBlaž Hrastnik2021-07-26
| | | | | if/if let are already handled by block, and keeping these scopes would indent else blocks one level too far.
* Rewritten Rust `highlights.scm` (#425)Kirawi2021-07-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * rewrote Rust highlights.scm * wip * wip * wip * wip * fixed type highlighting * wip * rewrite again * moved operators * missing newline * missing newline * update book * fix constructor highlighting * fix constructor highlighting * fix const highlighting * better constructor highlighting * remove dup, bug was my locals.scm file * fixed docs * merge * fixed for highlighting * add yield * remove yield * added yield back * fixed yield highlighting * unecessary
* VSCode Dark+ Theme (#414)Kirawi2021-07-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * wip * Add VSCode Dark+ Theme wip wip wip wip wip wip properly detect constants add bool wip * suggestion * add variant for c/c++ * fix hexcode error * removed regex highlight * fixed constant higlighting * wip * add space * add suggestions * update theme * update book * suggestions * fix c/c++ enum * update book
* Rust: Highlight crate namespace, categorize `mut`notoria2021-06-04
|
* Rust: Add keyword `async`, match the entire macronotoria2021-06-04
|
* Adjust rust indentsBlaž Hrastnik2021-05-30
|
* Adjust highlighting for rust.Blaž Hrastnik2021-05-16
|
* Hacky way to specify indent scopes per language via toml configs.Blaž Hrastnik2021-05-14
| | | | | | | | | Can't do it via a scm query nicely because it returns an iterator over all the matches, whereas we want to traverse the tree ourselves. Can't extract the pattern data from a parsed query either. Oh well, toml files for now.
* Highlight metavariables ($var) inside rust macros.Blaž Hrastnik2021-04-14
|
* Rust: Highlight 'crate' as a keyword.Blaž Hrastnik2021-04-13
|
* queries: rust: highlight number constants correctly.Blaž Hrastnik2021-04-08
|
* Import tree sitter queries.Blaž Hrastnik2021-04-08