summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoroberblastmeister2021-09-01 15:16:16 +0000
committerGitHub2021-09-01 15:16:16 +0000
commit1586b0eec7000fe511d6ed381b35130a38759c40 (patch)
tree393f80bd3e76f7a3efb65eddc1c7df7c2bcbd8ff
parentce7ad2beb5b763e55cc40933d70ca7c7b325292e (diff)
YAML support (#667)
* added submodule * remove wrong one * added highlights * use property * add indents * shallow
-rw-r--r--.gitmodules4
m---------helix-syntax/languages/tree-sitter-yaml0
-rw-r--r--languages.toml8
-rw-r--r--runtime/queries/yaml/highlights.scm33
-rw-r--r--runtime/queries/yaml/indents.toml3
5 files changed, 48 insertions, 0 deletions
diff --git a/.gitmodules b/.gitmodules
index 0e015658..aba8084c 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
+Subproject 0e36bed171768908f331ff7dff9d956bae016ef
diff --git a/languages.toml b/languages.toml
index 1ca40377..7a2ea24d 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 00000000..4ebb4440
--- /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 00000000..ddc3578b
--- /dev/null
+++ b/runtime/queries/yaml/indents.toml
@@ -0,0 +1,3 @@
+indent = [
+ "block_mapping_pair",
+]