Commit Graph

243 Commits

Author SHA1 Message Date
ChrHorn
11367488ac
Improve Python queries, add locals (#3284) 2022-08-01 16:14:07 -05:00
ChrHorn
59bf1669ec
javascript queries: fix parameters (#3280) 2022-08-01 15:15:17 -05:00
Banst
7e06681413
feat: add cue support (#3262) 2022-07-31 07:04:57 -05:00
Erasin
919edfb323
Add Graphviz Dot lang support (#3241)
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2022-07-30 12:34:00 -05:00
Erasin
681c0a91dc
Add textobject for javascript (#3213) 2022-07-28 08:31:20 -05:00
Michael Davis
9ed9c3faca
Remove let_declaration from Rust locals tracking (#3212) 2022-07-28 12:04:50 +09:00
Philipp Mildenberger
bf74a4652d
JS/TS highlighting improvements (#3219) 2022-07-27 13:56:58 -05:00
Erasin
df5ab8b40c
Fix: Python hightlight (#3201) 2022-07-26 22:31:14 +09:00
Kirawi
0a2646e720
Improve python highlighting (#3103)
* improve python queries

* update python grammar to `0.20.2`

* fix variadic parameter scope

* add punctuation scopes

* fix order of punctuation scopes

* undo  `embedded` delete
2022-07-26 10:17:51 +09:00
Daniel Longeuay
2ede98c4b4
feat(tree-sitter): add go template support (#3091)
* feat(tree-sitter):  add go template support

* fix(tree-sitter): 🐛 go template highlight scope selectors

* chore(tree-sitter): 🔧 update go template grammar commit
2022-07-26 10:17:28 +09:00
Clay
b55573dc1d
Add elixir & heex comment textobjects (#3179) 2022-07-26 10:14:45 +09:00
Erasin
dad6d0f3b2
Fix: svelte indets.scm (#3147) 2022-07-24 17:42:27 +09:00
Clay
ec85fb9ab6
Improve HEEx comment highlights, inject comment lang (#3170) 2022-07-24 11:49:52 +09:00
Philipp Mildenberger
b6c700fce9
Replace '; inherits <language>' in treesitter queries with <language> queries instead of appending them (#2470)
Co-authored-by: Blaž Hrastnik <blaz@mxxn.io>
2022-07-22 10:28:32 +09:00
Michael Davis
9753da6ab7
Fix locals tracking in Rust closures (#3027)
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.
2022-07-20 11:51:35 +09:00
Joe
0c9594e41e
Add SCSS language support (#3074) 2022-07-17 17:55:20 +08:00
Mateusz S. Szczygieł
5f69beb87f
Add textobjects.scm to GLSL (#3051) 2022-07-12 10:13:57 -05:00
Philipp Mildenberger
e97b8607c1
Added ungrammar language support (#3048) 2022-07-12 10:06:53 -05:00
Austen LeBeau
0cb0c30618
add fortran language (#3025) 2022-07-10 11:27:44 -05:00
Jake Langford
230ba264bf
Introduce storage highlighting for typescript/javascript (#2961) 2022-07-06 08:54:07 -05:00
Ivan Tham
e35abe38f3
Remove broken ledger tag highlight (#2988) 2022-07-06 07:35:36 -05:00
A-Walrus
1378b911b6
Fix some typos (#2978) 2022-07-05 21:49:54 -05:00
Ivan Tham
b612211070
Update tree-sitter-ledger (#2936) 2022-07-05 09:12:28 -05:00
Michael Davis
aacd0c8aa5
Update TSQ queries (#2960)
A few changes to make TSQ highlights better:

* A parsing error has been fixed in the grammar itself
    * Previously tree-sitter-tsq did not parse the variables
      in predicates like `(#set! injection.language "javascript")`
* Theme nodes as `tag`
    * The newly added node to the parser (from the above fix) is
      `variable` which takes over the `variable` capture from nodes
* Highlight known predicates as `function` and unsupported
  predicates as `error`
    * This may help when translating queries from nvim-treesitter.
      For example `#any-of?` is a common one used in nvim-treesitter
      queries but not implemented in Helix or tree-sitter-cli.
* Inject tree-sitter-regex into `#match?` predicates
2022-07-05 20:01:05 +09:00
rsteube
4c30a3609a
languages: added elvish (#2948) 2022-07-03 16:19:12 -05:00
Blaž Hrastnik
9ae70cc410 Disable tree-sitter python indents, use fallback for now
There's been a lot of complaints about the state of python indentation
and the fallback actually works better until the solution proposed
in https://github.com/helix-editor/helix/issues/763#issuecomment-1137894973=
is implemented.
2022-07-01 19:17:19 +09:00
Michael Davis
c5600c9c01 markdown: limit raw block highlight to code fence content 2022-07-01 11:04:23 +02:00
Michael Davis
c8dba2f4c6 erlang: highlight modules in behaviour attributes 2022-07-01 11:04:23 +02:00
Michael Davis
19acbfe02d erlang: highlight records with macro names
You might use a macro like `?MODULE` to name a record:

    -record(?MODULE, {a, b, c}).

With this fix, the record fields correctly get `variable.other.member`
highlights.
2022-07-01 11:04:23 +02:00
Michael Davis
bf1aa8876c git-commit: fix highlight edge cases
* branch message with current branch and diverged branch has been
  added to the parser
* scissors used in verbose commits are marked as a punctuation
  delimiter
    * we could use comment instead since they're visually the
      same but IMO this works better
2022-07-01 11:04:23 +02:00
Michael Davis
4a0dab8bc2 erlang: fix '#match?' for specs/callbacks 2022-07-01 11:04:23 +02:00
Michael Davis
e4e8a39bf7 replace module captures with namespace
`module` is undocumented and does not exist in other themes. The
equivalent existing scope based on usage (Elixir for example) is
`namespace`.
2022-07-01 11:04:23 +02:00
Michael Davis
016e97314c html: highlight punctuation
* `/>` as in self-closing tags like `<hr/>`
* `=` as in the separator between attribute name and value `<a href="bar">`
2022-07-01 11:04:23 +02:00
Michael Davis
7cf88f2bac edoc: prevent rogue punctuation highlights
Punctuation highlights would show up outside of where they
were valid, for example using parentheses in some text. This
change prevents that by gating the captures to being under
the named nodes in which they are valid.
2022-07-01 11:04:23 +02:00
Michael Davis
78c944ebc3 rust: fix highlight corner-cases
* 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
2022-07-01 11:04:23 +02:00
Michael Davis
ca82cd86e6 markdown: highlight punctuation 2022-07-01 11:04:23 +02:00
Michael Davis
bd527c84e6 erlang: highlight unary '#' as punctuation.bracket
The '#' character may either be interpreted as a map when used
like so:

    %% Example 1
    #{a => b}

Or as an operator which updates an existing map when the left-hand
side is an expression:

    %% Example 2
    MyMap#{a => b}

This commit changes the highlight to `punctuation.bracket` when used
as a character in a literal map (example 1) and keeps the `operator`
highlight when used for updating (example 2).
2022-07-01 11:04:23 +02:00
Michael Davis
d523280e85 erlang: highlight nullary macros as constants 2022-07-01 11:04:23 +02:00
Michael Davis
64cf4c859b
support Bazel languages (#2903) 2022-06-28 08:48:38 +05:30
Michael Davis
9f676dab57 add test textobjects queries for erlang,gleam,go,python,rust 2022-06-21 11:32:03 -05:00
Connor Lay (Clay)
67f6c85792 text-objects: add test capture & elixir queries 2022-06-21 11:32:03 -05:00
farwyler
cad4e03a00
adds missing tree-sitter-comment injection for js/ts (#2763) 2022-06-20 10:55:51 -05:00
A-Walrus
ad15e7b5e8
Add "<<=" operator to Rust syntax highlighting (#2805) 2022-06-18 11:44:21 -05:00
Clay
b13e534b92
HEEx: upgrade version and support new special_attribute node (#2800) 2022-06-17 17:30:28 -05:00
Axot
4d604d3b50
Add clojure language support (#2780)
Co-authored-by: Mateusz Ledwoń <mateusz.ledwon@iteo.com>
2022-06-16 11:47:52 -05:00
Anton Romanov
7983c71752
Introduce storage_class highlight scope (#2731) 2022-06-14 12:35:36 -05:00
Ivan
0bc7259672
add prisma tree-sitter and lsp support (#2703)
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2022-06-12 14:08:51 -05:00
Michael Davis
4a27e2d938 capture rust closures as function textobjects
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.
2022-06-07 20:03:31 +09:00
Michael Davis
f7a3d35752 add textobject queries for gleam 2022-06-07 20:03:31 +09:00
Michael Davis
bcafdf404f add textobject queries for elixir 2022-06-07 20:03:31 +09:00