diff options
author | Joe | 2022-07-17 09:55:20 +0000 |
---|---|---|
committer | GitHub | 2022-07-17 09:55:20 +0000 |
commit | 0c9594e41ea18f71a0b1de386396575e6f73fc12 (patch) | |
tree | 595d1019aec48e2116db34a313a39060192cdd47 | |
parent | bcacc703d737300e3e315b0b8a4716cdf306da87 (diff) |
Add SCSS language support (#3074)
-rw-r--r-- | book/src/generated/lang-support.md | 1 | ||||
-rw-r--r-- | languages.toml | 13 | ||||
-rw-r--r-- | runtime/queries/scss/highlights.scm | 86 | ||||
-rw-r--r-- | runtime/queries/scss/injections.scm | 2 |
4 files changed, 102 insertions, 0 deletions
diff --git a/book/src/generated/lang-support.md b/book/src/generated/lang-support.md index 64cb32c3..aecf80ac 100644 --- a/book/src/generated/lang-support.md +++ b/book/src/generated/lang-support.md @@ -85,6 +85,7 @@ | rust | ✓ | ✓ | ✓ | `rust-analyzer` | | scala | ✓ | | ✓ | `metals` | | scheme | ✓ | | | | +| scss | ✓ | | | `vscode-css-language-server` | | solidity | ✓ | | | `solc` | | sql | ✓ | | | | | sshclientconfig | ✓ | | | | diff --git a/languages.toml b/languages.toml index 20493e4c..cd87d79b 100644 --- a/languages.toml +++ b/languages.toml @@ -382,6 +382,19 @@ name = "css" source = { git = "https://github.com/tree-sitter/tree-sitter-css", rev = "94e10230939e702b4fa3fa2cb5c3bc7173b95d07" } [[language]] +name = "scss" +scope = "source.scss" +injection-regex = "scss" +file-types = ["scss"] +roots = [] +language-server = { command = "vscode-css-language-server", args = ["--stdio"] } +indent = { tab-width = 2, unit = " " } + +[[grammar]] +name = "scss" +source = { git = "https://github.com/serenadeai/tree-sitter-scss.git", rev = "c478c6868648eff49eb04a4df90d703dc45b312a" } + +[[language]] name = "html" scope = "text.html.basic" injection-regex = "html" diff --git a/runtime/queries/scss/highlights.scm b/runtime/queries/scss/highlights.scm new file mode 100644 index 00000000..89cce494 --- /dev/null +++ b/runtime/queries/scss/highlights.scm @@ -0,0 +1,86 @@ +(comment) @comment + +"~" @operator +">" @operator +"+" @operator +"-" @operator +"*" @operator +"/" @operator +"=" @operator +"^=" @operator +"|=" @operator +"~=" @operator +"$=" @operator +"*=" @operator + +"in" @operator +"and" @operator +"or" @operator +"not" @operator +"only" @operator + +"@apply" @constant.builtin +"@at-root" @constant.builtin +"@charset" @constant.builtin +"@debug" @constant.builtin +"@each" @keyword.control.repeat +"@else" @keyword.control.conditional +"@error" @constant.builtin +"@extend" @constant.builtin +"@for" @keyword.control.repeat +"@forward" @keyword.control.import +"@function" @function.method +"@if" @keyword.control.conditional +"@import" @keyword.control.import +"@include" @keyword.control.import +"@keyframes" @constant.builtin +"@media" @constant.builtin +"@mixin" @constant.builtin +"@namespace" @namespace +"@return" @keyword.control.return +"@supports" @constant.builtin +"@use" @keyword.control.import +"@warn" @constant.builtin +"@while" @keyword.control.repeat + +((property_name) @variable + (match? @variable "^--")) +((plain_value) @variable + (match? @variable "^--")) + +(tag_name) @tag +(universal_selector) @tag +(attribute_selector (plain_value) @string) +(nesting_selector) @variable.other.member +(pseudo_element_selector) @attribute +(pseudo_class_selector) @attribute + +(identifier) @variable +(class_name) @variable +(id_name) @variable +(namespace_name) @variable +(property_name) @variable.other.member +(feature_name) @variable +(variable) @variable +(variable_name) @variable.other.member +(variable_value) @variable.other.member +(argument_name) @variable.parameter +(selectors) @variable.other.member + +(attribute_name) @attribute + +(function_name) @function + +(to) @keyword +(from) @keyword +(important) @keyword + +(string_value) @string +(color_value) @string.special + +(integer_value) @constant.numeric.integer +(float_value) @constant.numeric.float +(unit) @type + +"#" @punctuation.delimiter +"," @punctuation.delimiter diff --git a/runtime/queries/scss/injections.scm b/runtime/queries/scss/injections.scm new file mode 100644 index 00000000..321c90ad --- /dev/null +++ b/runtime/queries/scss/injections.scm @@ -0,0 +1,2 @@ +((comment) @injection.content + (#set! injection.language "comment")) |