From 166818359030cd1649327160c9020d943a8de244 Mon Sep 17 00:00:00 2001 From: Fanda Vacek Date: Sun, 1 May 2022 16:34:46 +0200 Subject: [PATCH] feat(lang): Cpon lang support (#2355) Co-authored-by: Fanda Vacek --- book/src/generated/lang-support.md | 1 + languages.toml | 14 ++++++++++++++ runtime/queries/cpon/highlights.scm | 26 ++++++++++++++++++++++++++ runtime/queries/cpon/indents.scm | 12 ++++++++++++ 4 files changed, 53 insertions(+) create mode 100644 runtime/queries/cpon/highlights.scm create mode 100644 runtime/queries/cpon/indents.scm diff --git a/book/src/generated/lang-support.md b/book/src/generated/lang-support.md index ca2be23b..5c5ecaaf 100644 --- a/book/src/generated/lang-support.md +++ b/book/src/generated/lang-support.md @@ -6,6 +6,7 @@ | cairo | ✓ | | | | | cmake | ✓ | ✓ | ✓ | `cmake-language-server` | | comment | ✓ | | | | +| cpon | ✓ | | ✓ | | | cpp | ✓ | ✓ | ✓ | `clangd` | | css | ✓ | | | `vscode-css-language-server` | | dart | ✓ | | ✓ | `dart` | diff --git a/languages.toml b/languages.toml index f065b109..10f8f844 100644 --- a/languages.toml +++ b/languages.toml @@ -1289,3 +1289,17 @@ indent = { tab-width = 4, unit = " " } [[grammar]] name = "cairo" source = { git = "https://github.com/archseer/tree-sitter-cairo", rev = "5155c6eb40db6d437f4fa41b8bcd8890a1c91716" } + +[[language]] +name = "cpon" +scope = "scope.cpon" +injection-regex = "^cpon$" +file-types = ["cpon", "cp"] +roots = [] +auto-format = true +comment-token = "//" +indent = { tab-width = 2, unit = " " } + +[[grammar]] +name = "cpon" +source = { git = "https://github.com/fvacek/tree-sitter-cpon", rev = "11ba46a4de3eb86934003133099c9963a60f9687" } diff --git a/runtime/queries/cpon/highlights.scm b/runtime/queries/cpon/highlights.scm new file mode 100644 index 00000000..f85caf46 --- /dev/null +++ b/runtime/queries/cpon/highlights.scm @@ -0,0 +1,26 @@ +[ + (true) + (false) +] @constant.builtin.boolean +(null) @constant.builtin +(number) @constant.numeric +(pair + key: (_) @keyword) +(ipair + key: (_) @keyword) +(mpair + key: (_) @keyword) + +(string) @string +(escape_sequence) @constant.character.escape +(ERROR) @error + +"," @punctuation.delimiter +[ + "[" + "]" + "{" + "}" + "<" + ">" +] @punctuation.bracket diff --git a/runtime/queries/cpon/indents.scm b/runtime/queries/cpon/indents.scm new file mode 100644 index 00000000..53c82767 --- /dev/null +++ b/runtime/queries/cpon/indents.scm @@ -0,0 +1,12 @@ +[ + (meta) + (map) + (imap) + (array) +] @indent + +[ + "]" + "}" + ">" +] @outdent