Skip to content

Commit

Permalink
feat: Add ADL language support (helix-editor#10029)
Browse files Browse the repository at this point in the history
* feat: Add ADL language support

* removed error match & change captures to match https://docs.helix-editor.com/master/themes.html\#syntax-highlighting

* fixes to grammar, highlight changes based on PR and grammar fixes
  • Loading branch information
millergarym committed Apr 8, 2024
1 parent e663daf commit 0da809c
Show file tree
Hide file tree
Showing 5 changed files with 69 additions and 0 deletions.
1 change: 1 addition & 0 deletions book/src/generated/lang-support.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
| Language | Syntax Highlighting | Treesitter Textobjects | Auto Indent | Default LSP |
| --- | --- | --- | --- | --- |
| ada ||| | `ada_language_server`, `ada_language_server` |
| adl |||| |
| agda || | | |
| astro || | | |
| awk ||| | `awk-language-server` |
Expand Down
18 changes: 18 additions & 0 deletions languages.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3479,3 +3479,21 @@ language-servers = ["earthlyls"]
[[grammar]]
name = "earthfile"
source = { git = "https://github.com/glehmann/tree-sitter-earthfile", rev = "2a6ab191f5f962562e495a818aa4e7f45f8a556a" }

[[language]]
name = "adl"
scope = "source.adl"
injection-regex = "adl"
file-types = ["adl"]
roots = []
comment-token = "//"
indent = { tab-width = 2, unit = " " }

[language.auto-pairs]
'"' = '"'
'{' = '}'
'<' = '>'

[[grammar]]
name = "adl"
source = { git = "https://github.com/adl-lang/tree-sitter-adl", rev = "2787d04beadfbe154d3f2da6e98dc45a1b134bbf" }
37 changes: 37 additions & 0 deletions runtime/queries/adl/highlights.scm
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
; adl

[
"module"
"struct"
"union"
"type"
"newtype"
"annotation"
] @keyword

(adl (scoped_name)) @namespace
(comment) @comment
(doc_comment) @comment.block.documentation
(name) @type

(fname) @variable.other.member

(type_expr (scoped_name) @type)

(type_expr_params (param (scoped_name) @type.parameter))

; json
(key) @string.special

(string) @string

(number) @constant.numeric

[
(null)
(true)
(false)
] @constant.builtin

(escape_sequence) @constant.character.escape

12 changes: 12 additions & 0 deletions runtime/queries/adl/indents.scm
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
[
(struct)
(union)

(array)
(object)
] @indent

; [
; "}"
; "]"
; ] @outdent
1 change: 1 addition & 0 deletions runtime/queries/adl/textobjects.scm
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
(struct (_) @function.inside) @funtion.around

0 comments on commit 0da809c

Please sign in to comment.