diff options
author | Eddy Ernesto del Valle Pino <eddy@edelvalle.me> | 2021-09-06 20:49:11 +0200 |
---|---|---|
committer | Eddy Ernesto del Valle Pino <eddy@edelvalle.me> | 2021-09-06 20:49:11 +0200 |
commit | 139e305070e68bc402bf6abcdda41c4f80967412 (patch) | |
tree | cce086452c1d8931c2784309e40d6fa3b3669772 /plugins | |
parent | f119f2174a2e371a73cd963bdcd9e5cd9d232df0 (diff) | |
download | lite-xl-plugins-139e305070e68bc402bf6abcdda41c4f80967412.tar.gz lite-xl-plugins-139e305070e68bc402bf6abcdda41c4f80967412.zip |
Add syntax for ReScript
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/langauge_rescript.lua | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/plugins/langauge_rescript.lua b/plugins/langauge_rescript.lua new file mode 100644 index 0000000..94dc964 --- /dev/null +++ b/plugins/langauge_rescript.lua @@ -0,0 +1,59 @@ +-- mod-version:2 -- lite-xl 2.0 +local syntax = require "core.syntax" + +syntax.add { + files = { "%.res$" }, + comment = "//", + patterns = { + { pattern = "//.-\n", type = "comment" }, + { pattern = { "/%*", "%*/" }, type = "comment" }, + { pattern = { '"', '"', '\\' }, type = "string" }, + { pattern = { "'", "'", '\\' }, type = "string" }, + { pattern = { "`", "`", '\\' }, type = "string" }, + { pattern = "#[%a_][%w_]*", type = "literal" }, + { pattern = "0x[%da-fA-F]+", type = "number" }, + { pattern = "-?%d+[%d%.eE]*", type = "number" }, + { pattern = "-?%.?%d+", type = "number" }, + { pattern = "[%+%-=/%*%^%%<>!~|&]", type = "operator" }, + { pattern = "%f[^%.>]%l[%w_]*", type = "function" }, + { pattern = "%l[%w_]*%f[(]", type = "function" }, + { pattern = "%u[%w_]*", type = "keyword2" }, + { pattern = "[%l_][%w_%.]*", type = "symbol" }, + { pattern = "@%l[%w_]*", type = "string" }, + }, + symbols = { + ["and"] = "keyword", + ["array"] = "keyword2", + ["as"] = "keyword", + ["assert"] = "keyword", + ["bool"] = "keyword2", + ["constraint"] = "keyword", + ["downto"] = "keyword", + ["else"] = "keyword", + ["exception"] = "keyword", + ["external"] = "keyword", + ["false"] = "literal", + ["for"] = "keyword", + ["if"] = "keyword", + ["in"] = "keyword", + ["int"] = "keyword2", + ["include"] = "keyword", + ["lazy"] = "keyword", + ["let"] = "keyword", + ["module"] = "keyword", + ["mutable"] = "keyword", + ["of"] = "keyword", + ["open"] = "keyword", + ["option"] = "keyword2", + ["rec"] = "keyword", + ["switch"] = "keyword", + ["string"] = "keyword2", + ["to"] = "keyword", + ["true"] = "literal", + ["try"] = "keyword", + ["type"] = "keyword", + ["when"] = "keyword", + ["while"] = "keyword", + ["with"] = "keyword", + } +} |