aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorghashy2023-11-22 17:27:25 +0000
committerGitHub2023-11-22 17:27:25 +0000
commitff095ebd9b47bd5b06f16baca8dea9202f8d3c68 (patch)
treeb6fd1f6067daef3a9174a73dd1cebfe9398b77a1
parentf1b9c19fa91ea21b81cf912c24ef11bf267d7bc7 (diff)
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>
-rw-r--r--book/src/generated/lang-support.md1
-rw-r--r--languages.toml12
-rw-r--r--runtime/queries/dbml/highlights.scm44
3 files changed, 57 insertions, 0 deletions
diff --git a/book/src/generated/lang-support.md b/book/src/generated/lang-support.md
index f93624f6..c21ca250 100644
--- a/book/src/generated/lang-support.md
+++ b/book/src/generated/lang-support.md
@@ -24,6 +24,7 @@
| cue | ✓ | | | `cuelsp` |
| d | ✓ | ✓ | ✓ | `serve-d` |
| dart | ✓ | | ✓ | `dart` |
+| dbml | ✓ | | | |
| devicetree | ✓ | | | |
| dhall | ✓ | ✓ | | `dhall-lsp-server` |
| diff | ✓ | | | |
diff --git a/languages.toml b/languages.toml
index afbf3455..ef4687af 100644
--- a/languages.toml
+++ b/languages.toml
@@ -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" }
diff --git a/runtime/queries/dbml/highlights.scm b/runtime/queries/dbml/highlights.scm
new file mode 100644
index 00000000..accc65b4
--- /dev/null
+++ b/runtime/queries/dbml/highlights.scm
@@ -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
+