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)
This commit is contained in:
+119
@@ -0,0 +1,119 @@
|
||||
-- mod-version:3
|
||||
local syntax = require "core.syntax"
|
||||
|
||||
-- Language Syntax References
|
||||
-- https://openscad.org/documentation.html#language-reference
|
||||
|
||||
syntax.add {
|
||||
name = "OpenSCAD",
|
||||
files = {"%.scad$"},
|
||||
comment = "//",
|
||||
block_comment = { "/*", "*/" },
|
||||
patterns = {
|
||||
{ pattern = "//.*", type = "comment" }, -- Single-line comment
|
||||
{ pattern = { "/%*", "%*/" }, type = "comment" }, -- Multi-line comment
|
||||
{ pattern = { '"', '"', '\\' }, type = "string" }, -- String, double quotes
|
||||
{ pattern = { "'", "'", '\\' }, type = "string" }, -- String, apices
|
||||
{ pattern = "-?0x%x+", type = "number" }, -- ?
|
||||
{ pattern = "-?%d+[%d%.eE]*[a-zA-Z]?", type = "number" }, -- ?
|
||||
{ pattern = "-?%.?%d+", type = "number" }, -- ?
|
||||
{ pattern = "[%+%-=/%*%^%%<>!~|&%?%:]", type = "operator" }, -- Operators
|
||||
{ pattern = "[%a_][%w_]*%f[(]", type = "function" }, -- Functions
|
||||
{ regex = "\\$[a-zA-Z]+", type = "keyword" }, -- Special variables
|
||||
{ pattern = "[%a_][%w_]*", type = "symbol" },
|
||||
},
|
||||
symbols = {
|
||||
-- ?
|
||||
["var"] = "keyword",
|
||||
["module"] = "keyword",
|
||||
["function"] = "keyword",
|
||||
["include"] = "keyword",
|
||||
["use"] = "keyword",
|
||||
-- Constants
|
||||
["undef"] = "keyword2",
|
||||
["PI"] = "keyword2",
|
||||
-- 2D
|
||||
["circle"] = "keyword",
|
||||
["square"] = "keyword",
|
||||
["polygon"] = "keyword",
|
||||
["text"] = "keyword",
|
||||
["import"] = "keyword",
|
||||
["projection"] = "keyword",
|
||||
-- 3D
|
||||
["sphere"] = "keyword",
|
||||
["cube"] = "keyword",
|
||||
["cylinder"] = "keyword",
|
||||
["polyhedron"] = "keyword",
|
||||
["surface"] = "keyword",
|
||||
-- Transformations
|
||||
["linear_extrude"] = "keyword",
|
||||
["rotate_extrude"] = "keyword",
|
||||
["translate"] = "keyword",
|
||||
["rotate"] = "keyword",
|
||||
["scale"] = "keyword",
|
||||
["resize"] = "keyword",
|
||||
["mirror"] = "keyword",
|
||||
["multmatrix"] = "keyword",
|
||||
["color"] = "keyword",
|
||||
["offset"] = "keyword",
|
||||
["hull"] = "keyword",
|
||||
["minkowski"] = "keyword",
|
||||
-- Boolean Operations
|
||||
["union"] = "keyword",
|
||||
["difference"] = "keyword",
|
||||
["intersection"] = "keyword",
|
||||
-- Flow Control
|
||||
["for"] = "keyword",
|
||||
["each"] = "keyword",
|
||||
-- Type Test Functions
|
||||
["is_undef"] = "function",
|
||||
["is_bool"] = "function",
|
||||
["is_num"] = "function",
|
||||
["is_string"] = "function",
|
||||
["is_list"] = "function",
|
||||
["is_function"] = "function",
|
||||
-- Other
|
||||
["echo"] = "keyword",
|
||||
["render"] = "keyword",
|
||||
["children"] = "keyword",
|
||||
["assert"] = "keyword",
|
||||
-- Functions
|
||||
["concat"] = "function",
|
||||
["lookup"] = "function",
|
||||
["str"] = "function",
|
||||
["chr"] = "function",
|
||||
["ord"] = "function",
|
||||
["search"] = "function",
|
||||
["version"] = "function",
|
||||
["version_num"] = "function",
|
||||
["parent_module"] = "function",
|
||||
-- Math Functions
|
||||
["abs"] = "keyword",
|
||||
["sign"] = "keyword",
|
||||
["sin"] = "keyword",
|
||||
["cos"] = "keyword",
|
||||
["tan"] = "keyword",
|
||||
["acos"] = "keyword",
|
||||
["asin"] = "keyword",
|
||||
["atan"] = "keyword",
|
||||
["atan2"] = "keyword",
|
||||
["floor"] = "keyword",
|
||||
["round"] = "keyword",
|
||||
["ceil"] = "keyword",
|
||||
["ln"] = "keyword",
|
||||
["len"] = "keyword",
|
||||
["let"] = "keyword",
|
||||
["log"] = "keyword",
|
||||
["pow"] = "keyword",
|
||||
["sqrt"] = "keyword",
|
||||
["exp"] = "keyword",
|
||||
["rands"] = "keyword",
|
||||
["min"] = "keyword",
|
||||
["max"] = "keyword",
|
||||
["norm"] = "keyword",
|
||||
["cross"] = "keyword",
|
||||
-- Literals
|
||||
["true"] = "literal",
|
||||
["false"] = "literal",
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user