aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--plugins/language_sass.lua45
1 files changed, 45 insertions, 0 deletions
diff --git a/plugins/language_sass.lua b/plugins/language_sass.lua
new file mode 100644
index 0000000..5b043c1
--- /dev/null
+++ b/plugins/language_sass.lua
@@ -0,0 +1,45 @@
+local syntax = require "core.syntax"
+
+syntax.add {
+ files = { "%.sass$" },
+ comment = "//",
+ patterns = {
+ { pattern = "/[/%*].-\n", type = "comment" },
+ { pattern = { '"', '"', '\\' }, type = "string" },
+ { pattern = { "'", "'", '\\' }, type = "string" },
+ { pattern = "$%w+", type = "keyword" },
+ { pattern = "@%w+", type = "literal" },
+ { pattern = "[#,]%w+", type = "function" },
+ { pattern = "&", type = "keyword2" },
+ { pattern = "[:%/%*%-]", type = "operator" },
+ { pattern = "[%a][%w-]*%s*%f[:]", type = "keyword2" },
+ { pattern = "-?%d+[%d%.]*p[xt]", type = "number" },
+ { pattern = "-?%d+[%d%.]*deg", type = "number" },
+ { pattern = "-?%d+[%d%.]*[s%%]", type = "number" },
+ { pattern = "-?%d+[%d%.]*", type = "number" },
+ { pattern = "[%a_][%w_]*", type = "symbol" },
+ },
+ symbols = {
+ ["transparent"] = "literal",
+ ["none"] = "literal",
+ ["absolute"] = "literal",
+ ["relative"] = "literal",
+ ["solid"] = "literal",
+ ["flex"] = "literal",
+ ["flex-start"] = "literal",
+ ["flex-end"] = "literal",
+ ["row"] = "literal",
+ ["center"] = "literal",
+ ["column"] = "literal",
+ ["pointer"] = "literal",
+ ["ease"] = "literal",
+ ["white"] = "function",
+ ["black"] = "function",
+ ["gray"] = "function",
+ ["blue"] = "function",
+ ["red"] = "function",
+ ["purple"] = "function",
+ ["green"] = "function",
+ ["yellow"] = "function"
+ }
+}