From f2ba0f8cb1742fc28bec33e5e9a87b4b70d5ef75 Mon Sep 17 00:00:00 2001 From: seshotake <116971836+seshotake@users.noreply.github.com> Date: Tue, 1 Nov 2022 02:23:09 +0200 Subject: [PATCH] add highlights for env and ini file formats (#4536) --- book/src/generated/lang-support.md | 2 ++ languages.toml | 27 ++++++++++++++++++++++++++- runtime/queries/env/highlights.scm | 19 +++++++++++++++++++ runtime/queries/ini/highlights.scm | 6 ++++++ 4 files changed, 53 insertions(+), 1 deletion(-) create mode 100644 runtime/queries/env/highlights.scm create mode 100644 runtime/queries/ini/highlights.scm diff --git a/book/src/generated/lang-support.md b/book/src/generated/lang-support.md index 38d121b5ac64e..411e67b8a974e 100644 --- a/book/src/generated/lang-support.md +++ b/book/src/generated/lang-support.md @@ -27,6 +27,7 @@ | elixir | ✓ | ✓ | | `elixir-ls` | | elm | ✓ | | | `elm-language-server` | | elvish | ✓ | | | `elvish` | +| env | ✓ | | | | | erb | ✓ | | | | | erlang | ✓ | ✓ | | `erlang_ls` | | esdl | ✓ | | | | @@ -53,6 +54,7 @@ | html | ✓ | | | `vscode-html-language-server` | | idris | | | | `idris2-lsp` | | iex | ✓ | | | | +| ini | ✓ | | | | | java | ✓ | | | `jdtls` | | javascript | ✓ | ✓ | ✓ | `typescript-language-server` | | jsdoc | ✓ | | | | diff --git a/languages.toml b/languages.toml index ee31f3728c4da..95c37945a8c64 100644 --- a/languages.toml +++ b/languages.toml @@ -1938,4 +1938,29 @@ indent = { tab-width = 2, unit = " " } [[grammar]] name = "wit" source = { git = "https://github.com/hh9527/tree-sitter-wit", rev = "c917790ab9aec50c5fd664cbfad8dd45110cfff3" } - + +[[language]] +name = "env" +scope = "source.env" +file-types = [".env", ".env.local", ".env.development", ".env.production"] +injection-regex = "env" +comment-token = "#" +indent = { tab-width = 4, unit = "\t" } +roots = [] + +[[grammar]] +name = "env" +source = { git = "https://github.com/seshotake/tree-sitter-env", rev = "e6c6bb1e7b51d481cba463fe949f083cf22d81f7" } + +[[language]] +name = "ini" +scope = "source.ini" +file-types = ["ini"] +injection-regex = "ini" +comment-token = "#" +indent = { tab-width = 4, unit = "\t" } +roots = [] + +[[grammar]] +name = "ini" +source = { git = "https://github.com/justinmk/tree-sitter-ini", rev = "4d247fb876b4ae6b347687de4a179511bf67fcbc" } diff --git a/runtime/queries/env/highlights.scm b/runtime/queries/env/highlights.scm new file mode 100644 index 0000000000000..6a27e8e5a0494 --- /dev/null +++ b/runtime/queries/env/highlights.scm @@ -0,0 +1,19 @@ +(env_variable (quoted_string)) @string +(env_variable (unquoted_string)) @string + +(env_key) @keyword + +((variable) @keyword + (#match? @keyword "^([A-Z][A-Z_0-9]*)$")) + +[ + "{" + "}" +] @punctuation.bracket + +[ + "$" + "=" +] @operator + +(comment) @comment \ No newline at end of file diff --git a/runtime/queries/ini/highlights.scm b/runtime/queries/ini/highlights.scm new file mode 100644 index 0000000000000..6277a0676b0d8 --- /dev/null +++ b/runtime/queries/ini/highlights.scm @@ -0,0 +1,6 @@ +(section_name) @namespace + +(setting_name) @keyword +(setting_value) @string + +(comment) @comment