Unnamed repository; edit this file 'description' to name the repository.
Add gherkin syntax highlighting (#11083)
Co-authored-by: Blaž Hrastnik <[email protected]>
Samy AB 2024-08-10
parent e604d9f · commit 91e642c
-rw-r--r--book/src/generated/lang-support.md1
-rw-r--r--languages.toml14
-rw-r--r--runtime/queries/gherkin/highlights.scm17
3 files changed, 30 insertions, 2 deletions
diff --git a/book/src/generated/lang-support.md b/book/src/generated/lang-support.md
index 4b0bca38..4ce9edb9 100644
--- a/book/src/generated/lang-support.md
+++ b/book/src/generated/lang-support.md
@@ -58,6 +58,7 @@
| gas | ✓ | ✓ | | |
| gdscript | ✓ | ✓ | ✓ | |
| gemini | ✓ | | | |
+| gherkin | ✓ | | | |
| git-attributes | ✓ | | | |
| git-commit | ✓ | ✓ | | |
| git-config | ✓ | | | |
diff --git a/languages.toml b/languages.toml
index d7251259..12b0ad04 100644
--- a/languages.toml
+++ b/languages.toml
@@ -3765,6 +3765,17 @@ grammar = "typescript"
'"' = '"'
[[language]]
+name = "gherkin"
+scope = "source.feature"
+file-types = ["feature"]
+comment-token = "#"
+indent = { tab-width = 2, unit = " " }
+
+[[grammar]]
+name = "gherkin"
+source = { git = "https://github.com/SamyAB/tree-sitter-gherkin", rev = "43873ee8de16476635b48d52c46f5b6407cb5c09" }
+
+[[language]]
name = "thrift"
scope = "source.thrift"
file-types = ["thrift"]
@@ -3774,5 +3785,4 @@ indent = { tab-width = 2, unit = " " }
[[grammar]]
name = "thrift"
-source = { git = "https://github.com/tree-sitter-grammars/tree-sitter-thrift" , rev = "68fd0d80943a828d9e6f49c58a74be1e9ca142cf" }
-
+source = { git = "https://github.com/tree-sitter-grammars/tree-sitter-thrift" , rev = "68fd0d80943a828d9e6f49c58a74be1e9ca142cf" } \ No newline at end of file
diff --git a/runtime/queries/gherkin/highlights.scm b/runtime/queries/gherkin/highlights.scm
new file mode 100644
index 00000000..1a17e381
--- /dev/null
+++ b/runtime/queries/gherkin/highlights.scm
@@ -0,0 +1,17 @@
+[
+ (feature_keyword)
+ (rule_keyword)
+ (background_keyword)
+ (scenario_keyword)
+ (given_keyword)
+ (when_keyword)
+ (then_keyword)
+ (and_keyword)
+ (but_keyword)
+ (asterisk_keyword)
+] @keyword
+
+(tag) @function
+(doc_string) @string
+(data_table) @special
+(comment) @comment