summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lua/nvim-treesitter/parsers.lua8
-rw-r--r--queries/scss/highlights.scm39
-rw-r--r--queries/scss/indents.scm7
3 files changed, 54 insertions, 0 deletions
diff --git a/lua/nvim-treesitter/parsers.lua b/lua/nvim-treesitter/parsers.lua
index 9637da4e..7371277d 100644
--- a/lua/nvim-treesitter/parsers.lua
+++ b/lua/nvim-treesitter/parsers.lua
@@ -186,6 +186,14 @@ list.css = {
maintainers = {"@TravonteD"},
}
+list.scss = {
+ install_info = {
+ url = "https://github.com/serenadeai/tree-sitter-scss",
+ files = { "src/parser.c", "src/scanner.c" },
+ requires_generate_from_grammar = true,
+ },
+}
+
list.erlang = {
install_info = {
url = "https://github.com/AbstractMachinesLab/tree-sitter-erlang",
diff --git a/queries/scss/highlights.scm b/queries/scss/highlights.scm
new file mode 100644
index 00000000..7dc780a8
--- /dev/null
+++ b/queries/scss/highlights.scm
@@ -0,0 +1,39 @@
+; inherits: css
+
+[
+ "@mixin"
+ "@media"
+ "@while"
+ "@each"
+ "@include"
+] @keyword
+
+(function_name) @function
+
+
+[
+ ">="
+ "<="
+] @operator
+
+
+(mixin_statement (name) @function)
+(mixin_statement (parameters (parameter) @parameter))
+(plain_value) @string
+(keyword_query) @function
+(identifier) @variable
+(variable_name) @variable
+
+(each_statement (key) @parameter)
+(each_statement (value) @parameter)
+(each_statement (variable_value) @parameter)
+
+(argument) @parameter
+(arguments (variable_value) @parameter)
+
+[
+ "["
+ "]"
+] @punctuation.bracket
+
+(include_statement (identifier) @function)
diff --git a/queries/scss/indents.scm b/queries/scss/indents.scm
new file mode 100644
index 00000000..2889ddca
--- /dev/null
+++ b/queries/scss/indents.scm
@@ -0,0 +1,7 @@
+; inherits: css
+
+[
+ (mixin_statement)
+ (while_statement)
+ (each_statement)
+] @indent