summaryrefslogtreecommitdiff
path: root/runtime/queries/rust
Commit message (Collapse)AuthorAge
* Fix locals tracking in Rust closures (#3027)Michael Davis2022-07-20
| | | | | | | | | | The fix comes from the rewriting of the `closure_parameters` stanza: it was capturing the entire `closure_parameters` node including paretheses, whitespace, and commas. Capturing the identifiers within fixes the tracking. In order to make sure locals definitions from closure parameters don't leak out of the body of the closure, though, we should also mark the closure itself as a locals scope.
* rust: fix highlight corner-casesMichael Davis2022-07-01
| | | | | | | | | * add punctuation highlights for commas as in function parameters * remove stray `variable.parameter` highlight * I couldn't find any regressions from this and it fixes an edge case I ran into (but sadly did not record 😓) * highlight `fn` as `keyword.function` * the theme docs have `fn` as an example so it seems fitting
* add test textobjects queries for erlang,gleam,go,python,rustMichael Davis2022-06-21
|
* Add "<<=" operator to Rust syntax highlighting (#2805)A-Walrus2022-06-18
|
* Introduce storage_class highlight scope (#2731)Anton Romanov2022-06-14
|
* capture rust closures as function textobjectsMichael Davis2022-06-07
| | | | | | | | | Closures like iter.map(|a| a + 1) Are sort-of functions, so `]f` or `maf` or `mif` can apply to them as well as named function definitions.
* Add `parameter.around` text object queryAndrey Tkachenko2022-05-25
|
* Include macro attributes to impls, structs, enums, functions etc. ↵Andrey Tkachenko2022-05-20
| | | | textobjects (#2494)
* 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