From ff095ebd9b47bd5b06f16baca8dea9202f8d3c68 Mon Sep 17 00:00:00 2001 From: ghashy <109857267+ghashy@users.noreply.github.com> Date: Wed, 22 Nov 2023 20:27:25 +0300 Subject: [PATCH] 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 * Update runtime/queries/dbml/highlights.scm Co-authored-by: Michael Davis * Update runtime/queries/dbml/highlights.scm Co-authored-by: Michael Davis * remove unnecessary block highlight * remove unnecessary line * remove index_block query --------- Co-authored-by: Michael Davis --- book/src/generated/lang-support.md | 1 + languages.toml | 12 ++++++++ runtime/queries/dbml/highlights.scm | 44 +++++++++++++++++++++++++++++ 3 files changed, 57 insertions(+) create mode 100644 runtime/queries/dbml/highlights.scm diff --git a/book/src/generated/lang-support.md b/book/src/generated/lang-support.md index f93624f61..c21ca2501 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 afbf34557..ef4687af8 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 000000000..accc65b4c --- /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 +