Commit graph

373 commits

Author SHA1 Message Date
Christian Clason
1ae9b0e455 feat!: align standard captures with upstream
Problem: Sharing highlight queries with upstream tree-sitter and
Helix is difficult.

Solution: Where reasonable, use capture names in tree-sitter's standard
list or Helix's Atom-style hierarchy.

Specifically:

* tree-sitter "standard capture names"
  (3f44b89685/highlight/src/lib.rs (L20-L72)):

  - `@parameter` -> `@variable.parameter`
  - `@field` -> `@variable.member`
  - `@namespace` -> `@module`
  - `@float` -> `@number.float`
  - `@symbol` -> `@string.special.symbol`
  - `@string.regex` -> `@string.regexp`
  - `@text.*` -> `@markup.*` (`strong`, `italic`, `link`, `strikethrough`; with exceptions; see below)
  - `@text.title` -> `@markup.heading`
  - `@text.literal` -> `@markup.raw`
  - `@text.reference` -> `@markup.link`
  - `@text.uri` -> `@markup.link.url` (in markup links)
  - `@string.special` -> `@markup.link.label` (non-url links)
  - `@punctuation.special` -> `@markup.list` (markdown lists only; move subitems from `@text.todo`)

* Helix captures
  (https://docs.helix-editor.com/master/themes.html#syntax-highlighting):

  - `@method` -> `@function.method`
  - `@method.call` -> `@function.method.call`
  - `@text.{todo,warning,note,danger}` -> `@comment.{error,warning,hint,info,todo}`
  - `@text.diff.{add,delete,}` -> `@diff.{plus,minus,delta}`
  - `@text.uri` -> `@string.special.url` (outside markup)
  - `@preproc` -> `@keyword.directive`
  - `@define` -> `@keyword.directive`(`.define`?)
  - `@storageclass` -> `@keyword.storage`
  - `@conditional` -> `@keyword.conditional`
  - `@debug` -> `@keyword.debug`
  - `@exception` -> `@keyword.exception`
  - `@include` -> `@keyword.import`
  - `@repeat` -> `@keyword.repeat`

* cleanup

  - remove some redundant `@conceal` (but still allow it for conceal-only patterns)
  - remove obsolete `@error` (syntax linting is out of scope for this repo)
  - sort, cleanup capture list in `CONTRIBUTING.md`
2024-01-19 16:58:37 +01:00
Christian Clason
10dd49958c chore(tests): consistent captures 2024-01-19 16:58:37 +01:00
Jędrzej Boczar
d496c5e08e
fix(cpp): incorrect indent of class with opening { on new line (#5811) 2023-12-22 05:49:13 +09:00
Marc Jakobi
5240574bcb
feat(haskell): tweak highlights
* add cases for `qualified_variable`

* add function defined in terms of composition
2023-11-18 19:02:29 -05:00
Mark McCulloh
17e77749c1
fix(wing): update parser and queries, add maintainer (#5671) 2023-11-13 19:04:27 +00:00
Pham Huy Hoang
80f66cdef1
injections(vue): inject typescript instead of js (#5577)
Interpolations (`{{valid js code}}`) and directive attributes
(`<element :directive="valid js code"`) can also be typescript code,
hence we can inject typescript instead of javascript here and still
be ok with highlights (bar some syntax differences between ts and js)
2023-11-06 11:04:13 +09:00
Ronan Arraes Jardim Chagas
d2fe87062d Add more tests for assignments 2023-10-29 01:37:31 +02:00
Ronan Arraes Jardim Chagas
a741b5dd0d Improve curly expression alignment 2023-10-29 01:37:31 +02:00
Ronan Arraes Jardim Chagas
3d6c0af936 Fix tests 2023-10-29 01:37:31 +02:00
Ronan Arraes Jardim Chagas
fc3bfd8f89 Add initial tests for Julia language indentation 2023-10-29 01:37:31 +02:00
Carlos Afonso
bf87a16712 fix(php): fix indentation for in between braces 2023-10-15 14:34:32 -04:00
Marc Jakobi
d33dbdab01 feat(haskell): highlights improvements
- Consider functions with only one value on the rhs as variables
- Applied composition: `(f . g) <param>` -> `@function.call`
- View patterns
- `@field` in record update expression
- type_tuple and type_list as variables
- quantifier for `exp_apply (<rhs>)+ (variable)`
- type_tuple and type_list as variables
- Treat signatures with only one value on the rhs as variables
  (except for `IO a`) -> Fixes #5505.
- Remove redundant anchors from signature function queries.
- Move signature function queries to give them higher priority
- Scoped function types
- Add signature query to function with parameters query
2023-10-15 14:32:51 -04:00
Marc Jakobi
783e5fc307
feat(nix): some highlight improvements
- functions
- builtin functions with prefix
- add test file
2023-10-12 19:04:55 +00:00
Marc Jakobi
0eb1a0ad1c
fix(haskell): prevent segfault due to anchorless queries (#5502) 2023-10-10 17:12:36 +09:00
Marc Jakobi
6276cd9d41
fix(haskell): highlight fixes (#5470)
* fix(haskell): highlight fixes + merge qualified/unqualified queries

* fix(haskell): lambda params + add exp_record to function.call args

* style: apply PR suggestions
2023-10-05 20:04:46 +03:00
Marc Jakobi
d96c216c54
feat(haskell): highlights improvements + tests (#5466) 2023-10-02 10:49:12 +00:00
Christian Segundo
dac6efbaff fix(dockerfile): bash injection on run instructions 2023-09-17 16:32:21 +02:00
Christian Segundo
831dbb619e fix(yaml): promql injections block 2023-09-15 12:53:44 +02:00
Christoph Sax
5ec4217567 fix(t32): update indent queries & test
The latest release of the grammar changes the handling of consecutive
line breaks. This breaks the existing test for indents.

This commit updates the indent queries and fixes the associated test.
2023-09-14 20:07:02 +02:00
Noah
e942c720ac
fix(clojure): fix field highlighting (#5319) 2023-08-27 10:25:43 +03:00
ObserverOfTime
1ff7985a74 feat(bash): improve highlights 2023-08-24 12:11:16 +03:00
TheLeoP
bbb92b2b8e
fix(lua): luap injection (#5275)
* fix(lua): luap injection

* test(lua): check for incorrect hlgroup of injected luap

* chore(lua): injections styling

* chore(lua): ignore luacheck for test.lua
2023-08-18 02:17:04 +00:00
Christoph Sax
0fe8fa0bcf feat(t32): update tests to new node types 2023-07-30 19:29:33 +02:00
Christoph Sax
536c8a3880 feat(t32): re-enable tests
- Switch to GitLab mirror repository
- Lock grammar version 2.2.0
- Revert "fix(tests): mark t32 as allowed to fail"
  This reverts commit ba223ceecc.
- Revert "fix(tests): remove t32 tests"
  This reverts commit 97957a547b.
2023-07-30 19:29:33 +02:00
Christian Clason
97957a547b fix(tests): remove t32 tests
t32 parser is hosted on Codeberg, which has frequent outages that block
unrelated CI. Revert this commit if and when uptime has improved.
2023-07-29 10:56:17 +02:00
Amaan Qureshi
ad3805f5c3
fix(c)!: update C, CPP parsers and queries
also update derived parsers (arduino, cuda, glsl, hlsl, ispc, objc)
2023-07-27 09:51:13 +02:00
Michael Hoffmann
b64ea2ec44 feat(promql,yaml): add parser and yaml injections
Signed-off-by: Michael Hoffmann <mhoffm@posteo.de>
2023-07-18 03:03:11 -04:00
Glib Shpychka
f460cc8ee7
feat(wing): add parser (#5021)
Co-authored-by: Christian Clason <c.clason@uni-graz.at>
Co-authored-by: ObserverOfTime <chronobserver@disroot.org>
2023-06-29 10:34:46 +00:00
Pham Huy Hoang
9ec2a6bbda
tests: fix failed tests (#4901)
fix failed tests for tiger, t32 and wgsl
2023-06-05 09:52:36 +09:00
Pham Huy Hoang
1281601cb4
feat: add indents for annotation defs (#4828)
- Add indent for `@interface` and `@Annotation(...)`
- Add notes for indent queries
2023-06-04 13:28:41 +09:00
Will Ruggiano
79aedc9675
feat(prisma): highlight views 2023-06-04 00:05:57 -04:00
Ananda Umamil
bee003b880
feat(ecma): convert eligible @keyword.operators 2023-06-04 00:04:40 -04:00
Alex Manning
f84de0d6cd
fix(gleam): minor indent fixes 2023-06-04 10:39:20 +09:00
Amaan Qureshi
754b509f26
chore: update Gleam 2023-05-29 11:13:36 -04:00
Matthias Q
dae928b3bb
indents(sql): initial support (#4857)
* indents(sql): initial support

* indents(sql): fix queries and lua style
2023-05-25 05:53:14 +00:00
Christoph Sax
16cce8df58
feat(t32): add indent rules (#4782) 2023-05-18 16:40:13 +09:00
Colin Kennedy
4c35c0b75d Added USD as a language + some queries
Added USD highlight unittests

Added USD indentation

Added USD indents.scm file

Added USD indent rules

Simplified USD highlight groups

Added explicit highlight groups

Added newline

Removed after/ftdetect/usda.lua

usd/indents.scm - Added inline comments explaining the nodes

Fixed USD highlight group unittests

Added indentation unittests

Simplified USD `@identifier` highlighting

Added USD documentation highlight group tests

Simplified USD highlight groups

Moved USD `@identifier` and `@namespace` highlights into one place

Removed and simplified tests/query/highlights/usd

Simplified tests/query/highlights/usd more

Removed trailing newline

Combined USD test files

Added `set filetype=usd` to minimal_init.lua
2023-05-15 09:28:11 +02:00
Christian Clason
680807fa6a highlights(markup): distinguish heading level in queries
also add a few queries from Helix and remove controversial
code block conceal in Markdown
2023-05-13 16:50:32 +02:00
Zheng PiaoDan
dba8c8e781
fix(nickel): wrong indent on line after top level comment (#4792)
* fix(nickel): wrong indent on line after top level comment

Previous incorrect indentation on line after top level comment:

```
# no indent after this comment
  {
  another = 1
}
```

Expected result:

```
# no indent after this comment
{
  another = 1
}
````
2023-05-13 15:03:05 +09:00
Zheng PiaoDan
32d0baae44
feat: add indents.scm for nickel (#4790) 2023-05-13 02:49:39 +09:00
Pham Huy Hoang
864b4171de
feat: add swift indents (#4756) 2023-05-08 14:53:31 +09:00
Amaan Qureshi
12453e0e3d
Update Capnp (#4713)
* feat(capnp): update queries from upstream changes

* test: add tests for capnp

* fix indent queries

* ci: fix capnp indent tests

---------

Co-authored-by: Pham Huy Hoang <hoangtun0810@gmail.com>
2023-05-07 00:12:49 +09:00
Stephan Seitz
39a78192fb ci: add tests for #4632
Issue #4632 might be fixed by
https://github.com/UserNobody14/tree-sitter-dart/pull/41
2023-05-05 14:57:51 +02:00
Pham Huy Hoang
1ca9b938c1
Add Python else elif dedent (#4618)
* feat(python): add interactive else/elif dedent

* fixup

* add test
2023-04-29 10:35:35 +02:00
Amaan Qureshi
87faf372eb fix(python,starlark): builtin types should come after types 2023-04-25 03:04:05 -04:00
Amaan Qureshi
01b42a1a57 feat(python,starlark): highlight type conversions as @function.macro 2023-04-25 03:04:05 -04:00
Amaan Qureshi
5ab25d8a1f fix(python,starlark): update field match pattern 2023-04-25 03:04:05 -04:00
Amaan Qureshi
b39e6bd615 chore(smali): add tests 2023-04-25 02:37:31 -04:00
Pham Huy Hoang
eedc5198a1
tests: fix deprecated tests (#4681) 2023-04-20 15:12:31 +09:00
John Drouhard
dad0864fa3 feat(cpp): improve function.call to support any level of nesting for qualified identifiers 2023-04-15 07:00:14 -07:00