DBML Language support (#8860)

* DBML language support

* DBML language support, highlights.scm added

* DBML support

* Update runtime/queries/dbml/highlights.scm

Co-authored-by: Michael Davis <mcarsondavis@gmail.com>

* Update runtime/queries/dbml/highlights.scm

Co-authored-by: Michael Davis <mcarsondavis@gmail.com>

* Update runtime/queries/dbml/highlights.scm

Co-authored-by: Michael Davis <mcarsondavis@gmail.com>

* remove unnecessary block highlight

* remove unnecessary line

* remove index_block query

---------

Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
This commit is contained in:
ghashy 2023-11-22 20:27:25 +03:00 committed by GitHub
parent f1b9c19fa9
commit ff095ebd9b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 57 additions and 0 deletions

View File

@ -24,6 +24,7 @@
| cue | ✓ | | | `cuelsp` |
| d | ✓ | ✓ | ✓ | `serve-d` |
| dart | ✓ | | ✓ | `dart` |
| dbml | ✓ | | | |
| devicetree | ✓ | | | |
| dhall | ✓ | ✓ | | `dhall-lsp-server` |
| diff | ✓ | | | |

View File

@ -2930,3 +2930,15 @@ language-servers = [ "templ" ]
[[grammar]]
name = "templ"
source = { git = "https://github.com/vrischmann/tree-sitter-templ", rev = "ea56ac0655243490a4929a988f4eaa91dfccc995" }
[[language]]
name = "dbml"
scope = "source.dbml"
injection-regex = "dbml"
file-types = ["dbml"]
comment-token = ";"
indent = { tab-width = 2, unit = " " }
[[grammar]]
name = "dbml"
source = { git = "https://github.com/dynamotn/tree-sitter-dbml", rev = "2e2fa5640268c33c3d3f27f7e676f631a9c68fd9" }

View File

@ -0,0 +1,44 @@
; comments highlighting
(comment) @comment
; keyword highlighting
(keyword_def) @keyword
(keyword_enum) @keyword
(keyword_ref) @keyword
; identify blocks and definitions
(definition) @function
; for identifiers
(identifier) @variable
(type) @keyword
; Highlight special types for database/data types
("Project" ) @type
("Table" ) @type
("TableGroup" ) @type
("database_type" ) @variable
; string and number constants
("'''") @constant.character.escape
(string) @string
(number) @constant.numeric
; brackets
[
"("
")"
"{"
"}"
"["
"]"
] @punctuation.bracket
; brackets
[
":"
"."
","
] @punctuation.delimiter