aboutsummaryrefslogtreecommitdiff
path: root/plugins/language_tcl.lua
diff options
context:
space:
mode:
authorFrancesco Abbate <francesco.bbt@gmail.com>2021-06-24 09:27:25 +0200
committerFrancesco Abbate <francesco.bbt@gmail.com>2021-06-24 09:27:25 +0200
commitd1b4b6ec41a7626fb18b834fdf6751eeb376c50d (patch)
tree6e55829f91f269db1c1b5ba15f80a12886f030ba /plugins/language_tcl.lua
parentdb213743f769df28e370cbd49a73e147756612c8 (diff)
downloadlite-xl-plugins-d1b4b6ec41a7626fb18b834fdf6751eeb376c50d.tar.gz
lite-xl-plugins-d1b4b6ec41a7626fb18b834fdf6751eeb376c50d.zip
Add syntax file for tcl language
Diffstat (limited to 'plugins/language_tcl.lua')
-rw-r--r--plugins/language_tcl.lua68
1 files changed, 68 insertions, 0 deletions
diff --git a/plugins/language_tcl.lua b/plugins/language_tcl.lua
new file mode 100644
index 0000000..31efa84
--- /dev/null
+++ b/plugins/language_tcl.lua
@@ -0,0 +1,68 @@
+-- mod-version:1 -- lite-xl 1.16
+local syntax = require "core.syntax"
+
+syntax.add {
+ files = { "%.tcl$" },
+ comment = "#",
+ patterns = {
+ { pattern = "#.-\n", type = "comment" },
+ { pattern = { '"', '"', '\\' }, type = "string" },
+ { pattern = "0x%x+", type = "number" },
+ { pattern = "%d+[%d%.eE]*f?", type = "number" },
+ { pattern = "%.?%d+f?", type = "number" },
+ { pattern = "%$[%a_][%w_]*", type = "literal" },
+ { pattern = "[%+%-=/%*%^%%<>!~|&]", type = "operator" },
+ { pattern = "::[%a_][%w_]*", type = "function" },
+ { pattern = "[%a_][%w_]*%f[:]", type = "function" },
+ { pattern = "[%a_][%w_]*", type = "symbol" },
+ },
+ symbols = {
+ ["set"] = "keyword",
+ ["unset"] = "keyword",
+ ["rename"] = "keyword",
+ ["upvar"] = "keyword",
+ ["incr"] = "keyword",
+ ["source"] = "keyword",
+ ["expr"] = "keyword",
+ ["gets"] = "keyword",
+ ["puts"] = "keyword",
+ ["package"] = "keyword",
+ ["list"] = "keyword",
+ ["dict"] = "keyword",
+ ["split"] = "join",
+ ["concat"] = "join",
+ ["lappend"] = "keyword",
+ ["lset"] = "keyword",
+ ["lassign"] = "keyword",
+ ["lindex"] = "keyword",
+ ["llength"] = "keyword",
+ ["lsearch"] = "keyword",
+ ["lrange"] = "keyword",
+ ["linsert"] = "keyword",
+ ["lreplace"] = "keyword",
+ ["lrepeat"] = "keyword",
+ ["lsort"] = "keyword",
+ ["lreverse"] = "keyword",
+ ["array"] = "keyword",
+ ["concat"] = "keyword",
+ ["regexp"] = "keyword",
+ ["for"] = "keyword",
+ ["foreach"] = "keyword",
+ ["while"] = "keyword",
+ ["case"] = "keyword",
+ ["proc"] = "keyword",
+ ["if"] = "keyword",
+ ["else"] = "keyword",
+ ["elseif"] = "keyword",
+ ["break"] = "keyword",
+ ["continue"] = "keyword",
+ ["return"] = "keyword",
+ ["eval"] = "keyword",
+ ["try"] = "keyword2",
+ ["on"] = "keyword2",
+ ["finally"] = "keyword2",
+ ["throw"] = "keyword2",
+ ["error"] = "keyword2",
+ },
+}
+