You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
144 lines
4.3 KiB
144 lines
4.3 KiB
-- mod-version:1 -- 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 = {},
|
|
}
|
|
|