Files
deb-lite-xl/debian/extra/plugins/language_perl.lua
T
vhaudiquet 3bae6fd448 Bundle curated community plugins (2.1.8-4)
Vendored from upstream, pinned by commit (see debian/extra/README.source):
- gitstatus, gitopen, fontconfig, open_ext, select_colorscheme,
  smoothcaret, nerdicons (font mapping patched to DATADIR, Ships the
  Symbols Nerd Font Mono TTF, SIL OFL 1.1)
- lite-xl-lsp (complete LSP client; idle until a language server is
  configured) plus the lite-xl-widgets library it requires
- 104 language syntax plugins (none duplicate the nine bundled in core)

settings GUI left out upstream is broken: it requires a
libraries.widget.fonts widget that does not exist in
lite-xl-widgets at any revision.

Co-developed-with: ZCode (Z.ai)
2026-09-16 22:45:02 +02:00

292 lines
8.4 KiB
Lua

-- mod-version:3
local syntax = require "core.syntax"
syntax.add {
name = "Perl",
files = { "%.pm$", "%.pl$" },
headers = "^#!.*[ /]perl",
comment = "#",
patterns = {
{ pattern = "%#.-\n", type = "comment" },
{ pattern = { '"', '"', '\\' }, type = "string" },
{ pattern = { "'", "'", '\\' }, type = "string" },
{ pattern = { "qw%(", "%)", '\\' }, type = "string" },
{ pattern = { "qw%[", "%]", '\\' }, type = "string" },
{ pattern = { "qw%/", "%/", '\\' }, type = "string" },
{ pattern = { "qq?%(", "%)", '\\' }, type = "string" },
{ pattern = { "qq?%[", "%]", '\\' }, type = "string" },
{ pattern = { "qq?%/", "%/", '\\' }, type = "string" },
{ pattern = { "^=%w+", "=cut" }, type = "comment" },
-- 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_]*%s+()=>", type = { "string", "operator" } },
{ pattern = "sub%s+()[%w_]+", type = { "keyword", "operator" } },
{ pattern = "[<=>%+%-%*%/:%&%|%!%?%~]+", type = "operator" },
{ 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",
["while"] = "keyword",
["for"] = "keyword",
["if"] = "keyword",
["else"] = "keyword",
["elsif"] = "keyword",
["unless"] = "keyword",
["no"] = "keyword",
["new"] = "keyword",
["do"] = "keyword",
["__PACKAGE__"] = "keyword",
["warnings"] = "keyword2",
["strict"] = "keyword2",
["eq"] = "operator",
["ne"] = "operator",
["lt"] = "operator",
["gt"] = "operator",
["le"] = "operator",
["ge"] = "operator",
["cmp"] = "operator",
["STDERR"] = "keyword2",
["STDOUT"] = "keyword2"
}
}