Skip to content

Commit

Permalink
feat(lang): Add esdl grammar (helix-editor#3526)
Browse files Browse the repository at this point in the history
  • Loading branch information
greym0uth authored and jdrst committed Sep 13, 2022
1 parent 1ae97cf commit 7df8600
Show file tree
Hide file tree
Showing 3 changed files with 88 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
Expand Up @@ -24,6 +24,7 @@
| elvish || | | `elvish` |
| erb || | | |
| erlang ||| | `erlang_ls` |
| esdl || | | |
| fish |||| |
| fortran || || `fortls` |
| gdscript || || |
Expand Down
13 changes: 13 additions & 0 deletions languages.toml
Original file line number Diff line number Diff line change
Expand Up @@ -1664,3 +1664,16 @@ indent = { tab-width = 4, unit = " " }
[[grammar]]
name = "xit"
source = { git = "https://github.com/synaptiko/tree-sitter-xit", rev = "7d7902456061bc2ad21c64c44054f67b5515734c" }

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

[[grammar]]
name ="esdl"
source = { git = "https://github.com/greym0uth/tree-sitter-esdl", rev = "b840c8a8028127e0a7c6e6c45141adade2bd75cf" }
74 changes: 74 additions & 0 deletions runtime/queries/esdl/highlights.scm
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
; Keywords
[
"module"
"using"
"single"
"multi"
"link"
"property"
"constraint"
"tuple"
"annotation"
"abstract"
"scalar"
"type"
"required"
"optional"
"extension"
"function"
] @keyword

(modifier) @keyword
(extending) @keyword

(module name: (identifier) @namespace)
(object_type) @type

(comment) @comment

; Properties
(property) @variable.other.member
(link) @variable.other.member
(annotation) @variable.other.member

(identifier) @variable
(string) @string
(edgeql_fragment) @string
; Builtins

(type) @type
[
"str"
"bool"
"int16"
"int32"
"int64"
"float32"
"float64"
"bigint"
"decimal"
"json"
"uuid"
"bytes"
"datetime"
"duration"
"sequence"
"anytype"
] @type.builtin

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

; Delimiters
[
";"
","
] @punctuation.delimiter

; Operators
[
"->"
":="
] @operator

0 comments on commit 7df8600

Please sign in to comment.