aboutsummaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
authorFrancesco <francesco.bbt@gmail.com>2021-05-01 23:42:06 +0200
committerGitHub <noreply@github.com>2021-05-01 23:42:06 +0200
commit6d2bcd5cca6f765d9ea6fee02b8639d54a3c52d7 (patch)
treeabd5712181b9f7ce0c379dacccbe4459d1f64dd2 /plugins
parentbcb3a34fdd2d1007364b26ba0ee659af8bd90178 (diff)
parent91a1db25b59965881ff3c19aa89f1fbb922a6a2d (diff)
downloadlite-xl-plugins-6d2bcd5cca6f765d9ea6fee02b8639d54a3c52d7.tar.gz
lite-xl-plugins-6d2bcd5cca6f765d9ea6fee02b8639d54a3c52d7.zip
Merge pull request #8 from adamharrison/master
Added in Perl and Liquid as additional languages.
Diffstat (limited to 'plugins')
-rw-r--r--plugins/language_liquid.lua144
-rw-r--r--plugins/language_perl.lua259
2 files changed, 403 insertions, 0 deletions
diff --git a/plugins/language_liquid.lua b/plugins/language_liquid.lua
new file mode 100644
index 0000000..f097213
--- /dev/null
+++ b/plugins/language_liquid.lua
@@ -0,0 +1,144 @@
+-- lite-xl 1.16
+local syntax = require "core.syntax"
+
+local liquid_syntax = {
+ patterns = {
+ { pattern = { '"', '"', '\\' }, type = "string" },
+ { pattern = { "'", "'", '\\' }, type = "string" },
+ { pattern = "-?%d+[%d%.]*f?", type = "number" },
+ { pattern = "-?%.?%d+f?", type = "number" },
+ { pattern = "%w+", type = "symbol" },
+ },
+ symbols = {
+ ["abs"] = "keyword2",
+ ["and"] = "operator",
+ ["append"] = "keyword2",
+ ["assign"] = "keyword",
+ ["at_least"] = "keyword2",
+ ["at_most"] = "keyword2",
+ ["break"] = "keyword",
+ ["camelcase"] = "keyword2",
+ ["capitalize"] = "keyword2",
+ ["capture"] = "keyword",
+ ["endcapture"] = "keyword",
+ ["case"] = "keyword",
+ ["ceil"] = "keyword2",
+ ["comment"] = "keyword",
+ ["endcomment"] = "keyword",
+ ["concat"] = "keyword2",
+ ["contains"] = "operator",
+ ["cycle"] = "keyword",
+ ["date"] = "keyword2",
+ ["decrement"] = "keyword",
+ ["default"] = "keyword2",
+ ["divided_by"] = "keyword2",
+ ["downcase"] = "keyword2",
+ ["else"] = "keyword",
+ ["elsif"] = "keyword",
+ ["false"] = "literal",
+ ["first"] = "keyword2",
+ ["floor"] = "keyword2",
+ ["for"] = "keyword",
+ ["endfor"] = "keyword",
+ ["forloop"] = "literal",
+ ["handleize"] = "keyword2",
+ ["handle"] = "keyword2",
+ ["if"] = "keyword",
+ ["endif"] = "keyword",
+ ["increment"] = "keyword",
+ ["index0"] = "literal",
+ ["index"] = "literal",
+ ["in"] = "operator",
+ ["join"] = "keyword2",
+ ["last"] = "keyword2",
+ ["length"] = "literal",
+ ["limit"] = "keyword",
+ ["lstrip"] = "keyword",
+ ["map"] = "keyword2",
+ ["minus"] = "keyword2",
+ ["modulo"] = "keyword2",
+ ["nil"] = "literal",
+ ["null"] = "literal",
+ ["offset"] = "keyword2",
+ ["or"] = "operator",
+ ["pluralize"] = "keyword2",
+ ["plus"] = "keyword2",
+ ["prepend"] = "keyword2",
+ ["raw"] = "keyword",
+ ["endraw"] = "keyword",
+ ["removefirst"] = "keyword2",
+ ["remove"] = "keyword2",
+ ["replacefirst"] = "keyword2",
+ ["replace"] = "keyword2",
+ ["reversed"] = "operator",
+ ["reverse"] = "keyword2",
+ ["rindex0"] = "literal",
+ ["rindex"] = "literal",
+ ["round"] = "keyword2",
+ ["rstrip"] = "keyword2",
+ ["size"] = "keyword2",
+ ["slice"] = "keyword2",
+ ["sort"] = "keyword2",
+ ["split"] = "keyword2",
+ ["strip"] = "keyword2",
+ ["strip_newlines"] = "keyword2",
+ ["times"] = "keyword2",
+ ["true"] = "literal",
+ ["truncate"] = "keyword2",
+ ["truncatewords"] = "keyword2",
+ ["uniq"] = "keyword2",
+ ["unless"] = "keyword",
+ ["endunless"] = "keyword",
+ ["upcase"] = "keyword2",
+ ["when"] = "keyword",
+ ["where"] = "keyword2"
+
+ },
+}
+
+syntax.add {
+ files = { "%.liquid?$" },
+ patterns = {
+ { pattern = { "{%%", "%%}" }, syntax = liquid_syntax, type = "function" },
+ { pattern = { "{{", "}}" }, syntax = liquid_syntax, type = "function" },
+ {
+ pattern = {
+ "<%s*[sS][cC][rR][iI][pP][tT]%s+[tT][yY][pP][eE]%s*=%s*" ..
+ "['\"]%a+/[jJ][aA][vV][aA][sS][cC][rR][iI][pP][tT]['\"]%s*>",
+ "<%s*/[sS][cC][rR][iI][pP][tT]>"
+ },
+ syntax = ".js",
+ type = "function"
+ },
+ {
+ pattern = {
+ "<%s*[sS][cC][rR][iI][pP][tT]%s*>",
+ "<%s*/%s*[sS][cC][rR][iI][pP][tT]>"
+ },
+ syntax = ".js",
+ type = "function"
+ },
+ {
+ pattern = {
+ "<%s*[sS][tT][yY][lL][eE][^>]*>",
+ "<%s*/%s*[sS][tT][yY][lL][eE]%s*>"
+ },
+ syntax = ".css",
+ type = "function"
+ },
+ { pattern = { "<!%-%-", "%-%->" }, type = "comment" },
+ { pattern = { '%f[^>][^<]', '%f[<{]' }, type = "normal" },
+ { pattern = { '"', '"', '\\' }, type = "string" },
+ { pattern = { "'", "'", '\\' }, type = "string" },
+ { pattern = "0x[%da-fA-F]+", type = "number" },
+ { pattern = "-?%d+[%d%.]*f?", type = "number" },
+ { pattern = "-?%.?%d+f?", type = "number" },
+ { pattern = "%f[^<]![%a_][%w_]*", type = "keyword2" },
+ { pattern = "%f[^<][%a_][%w_]*", type = "function" },
+ { pattern = "%f[^<]/[%a_][%w_]*", type = "function" },
+ { pattern = "[%a_][%w_]*", type = "keyword" },
+ { pattern = "[/<>=]", type = "operator" }
+ },
+ symbols = {},
+}
+
diff --git a/plugins/language_perl.lua b/plugins/language_perl.lua
new file mode 100644
index 0000000..cb414d4
--- /dev/null
+++ b/plugins/language_perl.lua
@@ -0,0 +1,259 @@
+-- lite-xl 1.16
+local syntax = require "core.syntax"
+
+syntax.add {
+ files = { "%.pm$", "%.pl$" },
+ headers = "^#!.*[ /]perl",
+ comment = "#",
+ patterns = {
+ { pattern = "%#.-\n", type = "comment" },
+ { pattern = { '"', '"', '\\' }, type = "string" },
+ { pattern = { "'", "'", '\\' }, type = "string" },
+ -- until we can get this workign with s///, just don't do any of them.
+ -- { pattern = { '/', '/', '\\' }, type = "string" },
+ { pattern = "-?%d+[%d%.eE]*", type = "number" },
+ { pattern = "-?%.?%d+", type = "number" },
+ { pattern = "[%a_][%w_]*%f[(]", type = "function" },
+ { pattern = "[%@%$%*]+[%a_][%w_]*", type = "keyword2" },
+ { pattern = "%--[%a_][%w_]*", type = "symbol" },
+ },
+ symbols = {
+ ["-A"] = "keyword",
+ ["END"] = "keyword",
+ ["length"] = "keyword",
+ ["setpgrp"] = "keyword",
+ ["-B"] = "keyword",
+ ["endgrent"] = "keyword",
+ ["link"] = "keyword",
+ ["setpriority"] = "keyword",
+ ["-b"] = "keyword",
+ ["endhostent"] = "keyword",
+ ["listen"] = "keyword",
+ ["setprotoent"] = "keyword",
+ ["-C"] = "keyword",
+ ["endnetent"] = "keyword",
+ ["local"] = "keyword",
+ ["setpwent"] = "keyword",
+ ["-c"] = "keyword",
+ ["endprotoent"] = "keyword",
+ ["localtime"] = "keyword",
+ ["setservent"] = "keyword",
+ ["-d"] = "keyword",
+ ["endpwent"] = "keyword",
+ ["log"] = "keyword",
+ ["setsockopt"] = "keyword",
+ ["-e"] = "keyword",
+ ["endservent"] = "keyword",
+ ["lstat"] = "keyword",
+ ["shift"] = "keyword",
+ ["-f"] = "keyword",
+ ["eof$"] = "keyword",
+ ["map"] = "keyword",
+ ["shmctl"] = "keyword",
+ ["-g"] = "keyword",
+ ["eval"] = "keyword",
+ ["mkdir"] = "keyword",
+ ["shmget"] = "keyword",
+ ["-k"] = "keyword",
+ ["exec"] = "keyword",
+ ["msgctl"] = "keyword",
+ ["shmread"] = "keyword",
+ ["-l"] = "keyword",
+ ["exists"] = "keyword",
+ ["msgget"] = "keyword",
+ ["shmwrite"] = "keyword",
+ ["-M"] = "keyword",
+ ["exit"] = "keyword",
+ ["msgrcv"] = "keyword",
+ ["shutdown"] = "keyword",
+ ["-O"] = "keyword",
+ ["fcntl"] = "keyword",
+ ["msgsnd"] = "keyword",
+ ["sin"] = "keyword",
+ ["-o"] = "keyword",
+ ["fileno"] = "keyword",
+ ["my"] = "keyword",
+ ["sleep"] = "keyword",
+ ["-p"] = "keyword",
+ ["flock"] = "keyword",
+ ["next"] = "keyword",
+ ["socket"] = "keyword",
+ ["package"] = "keyword",
+ ["-r"] = "keyword",
+ ["fork"] = "keyword",
+ ["not"] = "keyword",
+ ["socketpair"] = "keyword",
+ ["-R"] = "keyword",
+ ["format"] = "keyword",
+ ["oct"] = "keyword",
+ ["sort"] = "keyword",
+ ["-S"] = "keyword",
+ ["formline"] = "keyword",
+ ["open"] = "keyword",
+ ["splice"] = "keyword",
+ ["-s"] = "keyword",
+ ["getc"] = "keyword",
+ ["opendir"] = "keyword",
+ ["split"] = "keyword",
+ ["-T"] = "keyword",
+ ["getgrent"] = "keyword",
+ ["ord"] = "keyword",
+ ["sprintf"] = "keyword",
+ ["-t"] = "keyword",
+ ["getgrgid"] = "keyword",
+ ["our"] = "keyword",
+ ["sqrt"] = "keyword",
+ ["-u"] = "keyword",
+ ["getgrnam"] = "keyword",
+ ["pack"] = "keyword",
+ ["srand"] = "keyword",
+ ["-w"] = "keyword",
+ ["gethostbyaddr"] = "keyword",
+ ["pipe"] = "keyword",
+ ["stat"] = "keyword",
+ ["-W"] = "keyword",
+ ["gethostbyname"] = "keyword",
+ ["pop"] = "keyword",
+ ["state"] = "keyword",
+ ["-X"] = "keyword",
+ ["gethostent"] = "keyword",
+ ["pos"] = "keyword",
+ ["study"] = "keyword",
+ ["-x"] = "keyword",
+ ["getlogin"] = "keyword",
+ ["print"] = "keyword",
+ ["substr"] = "keyword",
+ ["-z"] = "keyword",
+ ["getnetbyaddr"] = "keyword",
+ ["printf"] = "keyword",
+ ["symlink"] = "keyword",
+ ["abs"] = "keyword",
+ ["getnetbyname"] = "keyword",
+ ["prototype"] = "keyword",
+ ["syscall"] = "keyword",
+ ["accept"] = "keyword",
+ ["getnetent"] = "keyword",
+ ["push"] = "keyword",
+ ["sysopen"] = "keyword",
+ ["alarm"] = "keyword",
+ ["getpeername"] = "keyword",
+ ["quotemeta"] = "keyword",
+ ["sysread"] = "keyword",
+ ["atan2"] = "keyword",
+ ["getpgrp"] = "keyword",
+ ["rand"] = "keyword",
+ ["sysseek"] = "keyword",
+ ["AUTOLOAD"] = "keyword",
+ ["getppid"] = "keyword",
+ ["read"] = "keyword",
+ ["system"] = "keyword",
+ ["BEGIN"] = "keyword",
+ ["getpriority"] = "keyword",
+ ["readdir"] = "keyword",
+ ["syswrite"] = "keyword",
+ ["bind"] = "keyword",
+ ["getprotobyname"] = "keyword",
+ ["readline"] = "keyword",
+ ["tell"] = "keyword",
+ ["binmode"] = "keyword",
+ ["getprotobynumber"] = "keyword",
+ ["SUPER"] = "keyword",
+ ["readlink"] = "keyword",
+ ["telldir"] = "keyword",
+ ["bless"] = "keyword",
+ ["sub"] = "keyword",
+ ["getprotoent"] = "keyword",
+ ["readpipe"] = "keyword",
+ ["tie"] = "keyword",
+ ["getpwent"] = "keyword",
+ ["recv"] = "keyword",
+ ["tied"] = "keyword",
+ ["caller"] = "keyword",
+ ["getpwnam"] = "keyword",
+ ["redo"] = "keyword",
+ ["time"] = "keyword",
+ ["chdir"] = "keyword",
+ ["getpwuid"] = "keyword",
+ ["ref"] = "keyword",
+ ["times"] = "keyword",
+ ["CHECK"] = "keyword",
+ ["getservbyname"] = "keyword",
+ ["rename"] = "keyword",
+ ["truncate"] = "keyword",
+ ["chmod"] = "keyword",
+ ["getservbyport"] = "keyword",
+ ["require"] = "keyword",
+ ["uc"] = "keyword",
+ ["chomp"] = "keyword",
+ ["getservent"] = "keyword",
+ ["reset"] = "keyword",
+ ["ucfirst"] = "keyword",
+ ["chop"] = "keyword",
+ ["getsockname"] = "keyword",
+ ["return"] = "keyword",
+ ["umask"] = "keyword",
+ ["chown"] = "keyword",
+ ["getsockopt"] = "keyword",
+ ["reverse"] = "keyword",
+ ["undef"] = "keyword",
+ ["chr"] = "keyword",
+ ["glob"] = "keyword",
+ ["rewinddir"] = "keyword",
+ ["UNITCHECK"] = "keyword",
+ ["chroot"] = "keyword",
+ ["gmtime"] = "keyword",
+ ["rindex"] = "keyword",
+ ["unlink"] = "keyword",
+ ["close"] = "keyword",
+ ["goto"] = "keyword",
+ ["rmdir"] = "keyword",
+ ["unpack"] = "keyword",
+ ["closedir"] = "keyword",
+ ["grep"] = "keyword",
+ ["say"] = "keyword",
+ ["unshift"] = "keyword",
+ ["connect"] = "keyword",
+ ["hex"] = "keyword",
+ ["scalar"] = "keyword",
+ ["untie"] = "keyword",
+ ["cos"] = "keyword",
+ ["index"] = "keyword",
+ ["seek"] = "keyword",
+ ["use"] = "keyword",
+ ["crypt"] = "keyword",
+ ["INIT"] = "keyword",
+ ["seekdir"] = "keyword",
+ ["utime"] = "keyword",
+ ["dbmclose"] = "keyword",
+ ["int"] = "keyword",
+ ["select"] = "keyword",
+ ["values"] = "keyword",
+ ["dbmopen"] = "keyword",
+ ["ioctl"] = "keyword",
+ ["semctl"] = "keyword",
+ ["vec"] = "keyword",
+ ["defined"] = "keyword",
+ ["join"] = "keyword",
+ ["semget"] = "keyword",
+ ["wait"] = "keyword",
+ ["delete"] = "keyword",
+ ["keys"] = "keyword",
+ ["semop"] = "keyword",
+ ["waitpid"] = "keyword",
+ ["DESTROY"] = "keyword",
+ ["kill"] = "keyword",
+ ["send"] = "keyword",
+ ["wantarray"] = "keyword",
+ ["die"] = "keyword",
+ ["last"] = "keyword",
+ ["setgrent"] = "keyword",
+ ["warn"] = "keyword",
+ ["dump"] = "keyword",
+ ["lc"] = "keyword",
+ ["sethostent"] = "keyword",
+ ["write"] = "keyword",
+ ["each"] = "keyword",
+ ["lcfirst"] = "keyword",
+ ["setnetent"] = "keyword"
+ }
+}