From 1586b0eec7000fe511d6ed381b35130a38759c40 Mon Sep 17 00:00:00 2001 From: oberblastmeister <61095988+oberblastmeister@users.noreply.github.com> Date: Wed, 1 Sep 2021 11:16:16 -0400 Subject: [PATCH] YAML support (#667) * added submodule * remove wrong one * added highlights * use property * add indents * shallow --- .gitmodules | 4 +++ helix-syntax/languages/tree-sitter-yaml | 1 + languages.toml | 8 ++++++ runtime/queries/yaml/highlights.scm | 33 +++++++++++++++++++++++++ runtime/queries/yaml/indents.toml | 3 +++ 5 files changed, 49 insertions(+) create mode 160000 helix-syntax/languages/tree-sitter-yaml create mode 100644 runtime/queries/yaml/highlights.scm create mode 100644 runtime/queries/yaml/indents.toml diff --git a/.gitmodules b/.gitmodules index 0e0156589..aba8084c8 100644 --- a/.gitmodules +++ b/.gitmodules @@ -102,6 +102,10 @@ path = helix-syntax/languages/tree-sitter-protobuf url = https://github.com/yusdacra/tree-sitter-protobuf.git shallow = true +[submodule "helix-syntax/languages/tree-sitter-yaml"] + path = helix-syntax/languages/tree-sitter-yaml + url = https://github.com/ikatyang/tree-sitter-yaml + shallow = true [submodule "helix-syntax/languages/tree-sitter-zig"] path = helix-syntax/languages/tree-sitter-zig url = https://github.com/maxxnino/tree-sitter-zig diff --git a/helix-syntax/languages/tree-sitter-yaml b/helix-syntax/languages/tree-sitter-yaml new file mode 160000 index 000000000..0e36bed17 --- /dev/null +++ b/helix-syntax/languages/tree-sitter-yaml @@ -0,0 +1 @@ +Subproject commit 0e36bed171768908f331ff7dff9d956bae016efb diff --git a/languages.toml b/languages.toml index 1ca40377d..7a2ea24d1 100644 --- a/languages.toml +++ b/languages.toml @@ -224,6 +224,14 @@ roots = [] comment-token = ";" indent = { tab-width = 4, unit = " " } +[[language]] +name = "yaml" +scope = "source.yaml" +file-types = ["yml", "yaml"] +roots = [] +comment-token = "#" +indent = { tab-width = 2, unit = " " } + # [[language]] # name = "haskell" # scope = "source.haskell" diff --git a/runtime/queries/yaml/highlights.scm b/runtime/queries/yaml/highlights.scm new file mode 100644 index 000000000..4ebb4440a --- /dev/null +++ b/runtime/queries/yaml/highlights.scm @@ -0,0 +1,33 @@ +(block_mapping_pair key: (_) @property) +(flow_mapping (_ key: (_) @property)) +(boolean_scalar) @boolean +(null_scalar) @constant.builtin +(double_quote_scalar) @string +(single_quote_scalar) @string +(escape_sequence) @string.escape +(integer_scalar) @number +(float_scalar) @number +(comment) @comment +(anchor_name) @type +(alias_name) @type +(tag) @type +(yaml_directive) @keyword +(ERROR) @error + +[ +"," +"-" +":" +">" +"?" +"|" +] @punctuation.delimiter + +[ +"[" +"]" +"{" +"}" +] @punctuation.bracket + +["*" "&"] @punctuation.special diff --git a/runtime/queries/yaml/indents.toml b/runtime/queries/yaml/indents.toml new file mode 100644 index 000000000..ddc3578b1 --- /dev/null +++ b/runtime/queries/yaml/indents.toml @@ -0,0 +1,3 @@ +indent = [ + "block_mapping_pair", +]