aboutsummaryrefslogtreecommitdiff
path: root/runtime/queries
Commit message (Collapse)AuthorAge
* Add Nickel language (#2173)Erin van der Veen2022-04-20
|
* Fix Golang textobject queries (#2153)Michael Davis2022-04-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * log textobject query construction errors The current behavior is that invalid queries are discarded silently which makes it difficult to debug invalid textobjects (either invalid syntax or an update may have come through that changed the valid set of nodes). * fix golang textobject query `method_spec_list` used to be a named node but was removed (I think for Helix, it was when updated to pull in the support for generics). Instead of a named node for the list of method specs we have a bunch of `method_spec` children nodes now. We can match on the set of them with a `+` wildcard. Example go for this query: type Shape interface { area() float64 perimeter() float64 } Which is parsed as: (source_file (type_declaration (type_spec name: (type_identifier) type: (interface_type (method_spec name: (field_identifier) parameters: (parameter_list) result: (type_identifier)) (method_spec name: (field_identifier) parameters: (parameter_list) result: (type_identifier))))))
* Fixing (in two ways) a small typo (#2156)Ben Lee-Cohen2022-04-18
|
* Ruby TextObjects and more file extensions (#2143)Danillo Melo2022-04-18
|
* Update tree-sitters Erlang and HEEx (#2149)Michael Davis2022-04-17
|
* Add JavaScript control keywords (#2140)Terry Brash2022-04-17
|
* gdscript support (#1985)EmmChriss2022-04-15
|
* feat(languages): SQL (#2097)Jared Ramirez2022-04-14
|
* add tree-sitter-heexMichael Davis2022-04-13
| | | | | | | | | | | | | HEEx is a templating engine on top of Elixir's EEx templating language specific to HTML that is included in Phoenix.LiveView (though I think the plan is to eventually include it in base Phoenix). It's a superset of EEx with some additional features like components and slots. The injections don't work perfectly because the Elixir grammar is newline sensitive (the _terminator rule). See https://github.com/elixir-lang/tree-sitter-elixir/issues/24 for more information.
* add tree-sitter-eexMichael Davis2022-04-13
| | | | | | EEx is an templating language for Elixir. Since the incremental parsing refactor we can used combined injections which allows us to add EEx support.
* remove error highlighting for tree-sitter-elixirMichael Davis2022-04-13
| | | | | | | | | This will become more important with the HEEx grammar being added. Error highlighting with the Elixir grammar is a bit jumpy because in some scenarios, a bit of missing syntax can force tree-sitter to give up on error recovery and mark the entire tree as an error. This ends up looking bad when editing. We don't typically highlight error nodes so I'm inclined to leave it out of the highlights here.
* add tree-sitter-embedded-template (erb & ejs) (#2055)Michael Davis2022-04-09
| | | | | | | | | | After the incremental parsing rewrite for injections (which was released in 22.03 https://helix-editor.com/news/release-22-03-highlights/#incremental-injection-parsing-rewrite), we can now do combined injections which lets us pull in some templating grammars. The most notable of those is embedded-template - a pretty straightforward grammar that covers ERB and EJS. The grammar and highlights queries are shared between the two but they have different injections.
* Add swift language (#2033)Aaron Housh2022-04-08
|
* add languages `r` and `rmarkdown` (#1998)Matthew Toohey2022-04-08
| | | | | | | | | | | * add languages `r` and `rmarkdown` * r: fix highlights * rmarkdown: add eof in queries * rmarkdown: update lang-support.md * r: fix highlight query precedence
* add language `ron` (#1925)VuiMuich2022-04-05
|
* separate JSX queries from javascript (#1921)Michael Davis2022-04-02
| | | | | | | | | | | | | | | It looks like a24fb17b2a978d3165bd6304e9edd69bddb6dd82 (and 855e438f55cb278de8203ac4911561c4c7ad656c) broke the typescript highlights because typescript ; inherits: javascript but it doesn't have those named nodes in its grammar. So instead we can separate out JSX into its own language and copy over everything from javascript and supplement it with the new JSX highlights. Luckily there isn't too much duplication, just the language configuration parts - we can re-use the parser with the languages.toml `grammar` key and most of the queries with `inherits`.
* Update bash tree sitter (#1917)joezak112022-04-01
|
* jsx: Add special highlighting to component namesBlaž Hrastnik2022-04-01
|
* Add JSX highlighting queriesBlaž Hrastnik2022-04-01
|
* 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 tree-sitter-gleamMichael Davis2022-03-30
|
* update tree-sitter-elixirMichael Davis2022-03-30
| | | | | | | | | | | | | | | | | | news: - tree-sitter-elixir now powers Elixir syntax highlighting on github.com - GitHub now supports code-navigation for Elixir repos via tree-sitter-elixir changes: - modules now use the `@module` highlight, which was added upstream to tree-sitter - it seems appropriate to use `@namespace` to follow helix convention - added nullary range operator (e.g. `Enum.to_list(..) == []`), a new syntax for elixir 1.14 - a fix for stab clause nodes mis-highlighting when the right hand side of the stab clause contained multiple simple expressions
* update tree-sitter-erlangMichael Davis2022-03-30
| | | | | | | | | changes: - typed fields within records which do not declare a default value are now correctly highlighted as record fields - the EEP49 'maybe' form is now parsed - fixes for highlights for 'begin' and 'after' tokens
* Fix Rescript hightlights query (#1863)Jared Ramirez2022-03-23
|
* Add syntax highlighting for Solidity (#1854)Slin Lee2022-03-22
|
* Initial basic Org markup support thanks to tree-sitter-org (#1845)zetashift2022-03-20
|
* update tree-sitter-git-commit (#1838)Michael Davis2022-03-19
| | | | | | | changes: - any text following a (scissors) is now contained in one (message) - this vastly improves performance on large verbose commits: no more slowness on huge commits
* C# highlighting improvements (#1795)Philipp Mildenberger2022-03-12
|
* Add comment textobject for surround selection and navigation (#1605)Daniel S Poulin2022-03-06
|
* Add support for HCL language (#1705)Michael Daffin2022-02-25
| | | Queries based on the neovims ones: https://github.com/nvim-treesitter/nvim-treesitter/tree/master/queries/hcl and modified for helix support.
* Add kotlin language (#1689)Michael Daffin2022-02-23
| | | | | | | | | | | | | | | | | | | | | * Add kotlin language Queries taken from https://github.com/nvim-treesitter/nvim-treesitter/blob/master/queries/kotlin seem to work well enough for my needs though I don't use kotlin heavily. * Update lang-support doc * Updates the kotlin highlight query to use helixs scopes * Updates the queries from PR feedback * Adds 'shallow = true' to gitmodules * Removes kotlin locals.scm * Remove blank line Co-authored-by: Ivan Tham <pickfire@riseup.net> Co-authored-by: Ivan Tham <pickfire@riseup.net>
* Allow separate styles for markup headings (#1618)Alex2022-02-21
| | | | | * update markdown highlighting to use separate heading themes * remove markdown theme scopes in ui
* add tree-sitter-erlang (#1657)Michael Davis2022-02-15
|
* feat(languages): rescript (#1616)Jared Ramirez2022-02-06
| | | | | | | | | | | * Add rescript language support * cargo xtask docgen * Add textobjects & file line ending * Fix text objects & rerun docgen * Fix textobjects queries
* epocsquadron/add tree sitter twig (#1602)Daniel S Poulin2022-02-01
| | | | | | | | * Add tree-sitter-twig grammer and highlights The gammar itself is quite basic, but is much better than nothing for working with real files consisting mostly of html. * Docgen for newly added grammar
* Add textobjects queries for php (#1601)Daniel S Poulin2022-01-30
| | | | | | | * Add textobjects queries for php * Missing EOL fix * Update generated docs after adding textobjects to php
* add tree-sitter-iex (#1576)Michael Davis2022-01-25
| | | | | | | * add tree-sitter-iex * run docgen task * fix url for iex submodule
* feat(languages): GraphQL (#1515)Jared Ramirez2022-01-21
| | | | | | | | | | | * Add Graphql language support * Fix docs gen * Add JS Graphql injection query * Updates based on PR feedback Co-authored-by: Blaž Hrastnik <blaz@mxxn.io>
* tree sitter comments injections (#1527)Mathis Brossier2022-01-20
| | | | | | | | | | | * tree sitter comments injections * trailing newlines & julia fix * Update runtime/queries/julia/injections.scm Co-authored-by: Michael Davis <michael.davis@nfiindustries.com> Co-authored-by: Michael Davis <michael.davis@nfiindustries.com>
* feat(languages): Elm (#1514)Jared Ramirez2022-01-20
| | | | | | | * Add Elm language support * Fix docs gen * Updates based on PR feedback
* feat(languages): Lean experimental tree-sitter-lean (#1422)Anders Christiansen Sørby2022-01-17
| | | | | | | | | | | | | | | | | | | | | | | | | | * Add experimental tree-sitter-lean * Run docgen * Copy over the queries from lean.nvim * Update .gitmodules Co-authored-by: Ivan Tham <pickfire@riseup.net> * Update lean highlights and run docgen * Update runtime/queries/lean/injections.scm Co-authored-by: Michael Davis <michael.davis@nfiindustries.com> * Lean: Move variable matcher to bottom * Update runtime/queries/lean/locals.scm Co-authored-by: Michael Davis <michael.davis@nfiindustries.com> Co-authored-by: Ivan Tham <pickfire@riseup.net> Co-authored-by: Michael Davis <michael.davis@nfiindustries.com>
* Update tree-sitter-php to latest upstream (#1521)Daniel S Poulin2022-01-16
| | | Brings in PHP 8.1 features, like enums, union types and the like.
* Update zig tree-sitter (#1501)voroskoi2022-01-14
| | | | | | use latest upstream version move comptime from @keyword.function to @keyword.directive use AssignOp enhance indents
* Update tree-sitter-go with generics supportBlaž Hrastnik2022-01-11
|
* add tree-sitter-git-config (#1426)Michael Davis2022-01-09
| | | | | * add tree-sitter-git-config * add todo comment for improving filetype check
* feat: add tree-sitter-makeEric Crosson2022-01-08
| | | | | | | | This commit adds syntax highlighting for GNU Make[^1] makefiles via tree-sitter-make[^2]. [^1]: https://www.gnu.org/software/make/ [^2]: https://github.com/alemuller/tree-sitter-make
* Add fixity keywords to haskell's highlights.scmOwen Shepherd2022-01-08
|
* Upgrade haskell queriesOwen Shepherd2022-01-08
|
* capture markdown link text as markup.link.text (#1456)Michael Davis2022-01-08
|
* 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