44 lines
1.3 KiB
Lua
44 lines
1.3 KiB
Lua
|
-- mod-version:2
|
||
|
|
||
|
-- Anthony Axenov (c) 2022, The MIT License
|
||
|
-- https://github.com/anthonyaxenov/lite-xl-env-syntax
|
||
|
|
||
|
local syntax = require "core.syntax"
|
||
|
|
||
|
syntax.add {
|
||
|
name = "language_env",
|
||
|
files = { "%.env$" },
|
||
|
comment = '#',
|
||
|
symbols = {},
|
||
|
patterns = {
|
||
|
{type = "comment" , pattern = "#.*$"},
|
||
|
{type = "function", pattern = "export"},
|
||
|
{type = "literal", pattern = "[Nn][Uu][Ll][Ll]%s*"}, -- null
|
||
|
{type = "literal", pattern = "[Tt][Rr][Uu][Ee]%s*"}, -- true
|
||
|
{type = "literal", pattern = "[Ff][Aa][Ll][Ss][Ee]%s*"}, -- false
|
||
|
{type = "literal", pattern = "\\[nrtfb\\\"']"}, -- escaped chars
|
||
|
{type = "literal", pattern = "'\\u%x%x%x%x'"}, -- unicode sequence
|
||
|
|
||
|
-- quoted strings
|
||
|
{type = "string", pattern = {'"', '"', '\\'}},
|
||
|
{type = "string", pattern = {"'", "'", '\\'}},
|
||
|
{type = "string", pattern = {'"""', '"""', '\\'}},
|
||
|
{type = "string", pattern = {"'''", "'''", '\\'}},
|
||
|
|
||
|
-- numbers
|
||
|
{type = "number", pattern = "0[bB][%d]+"},
|
||
|
{type = "number", pattern = "0[xX][%da-fA-F]+"},
|
||
|
{type = "number", pattern = "[-+]?%.?%d+"},
|
||
|
|
||
|
{ -- keys
|
||
|
pattern = "[a-zA-Z_]+[a-zA-Z%d_]+()%s*=%s*",
|
||
|
type = { "keyword2", "operator" },
|
||
|
},
|
||
|
|
||
|
{ -- interpolated var
|
||
|
pattern = "%${()[a-zA-Z_]+[a-zA-Z%d_]+()}",
|
||
|
type = {"keyword", "keyword2", "keyword"},
|
||
|
},
|
||
|
},
|
||
|
}
|