diff options
-rw-r--r-- | README.md | 3 | ||||
-rw-r--r-- | manifest.json | 24 | ||||
-rw-r--r-- | plugins/language_cue.lua | 41 | ||||
-rw-r--r-- | plugins/language_edp.lua | 645 | ||||
-rw-r--r-- | plugins/language_marte.lua | 42 |
5 files changed, 755 insertions, 0 deletions
@@ -186,9 +186,11 @@ but only with a `url` must provide a `checksum` that matches the existing plugin | [`language_containerfile`](https://github.com/FilBot3/lite-xl-language-containerfile)\* | Syntax for [Containerfile](https://github.com/containers/common/blob/main/docs/Containerfile.5.md)/[Dockerfile](https://docs.docker.com/engine/reference/builder/) | | [`language_crystal`](https://github.com/Tamnac/lite-plugin-crystal)\* | Syntax for the [Crystal](https://crystal-lang.org) programming language | | [`language_csharp`](plugins/language_csharp.lua?raw=1) | Syntax for the [C#](http://csharp.net) programming language | +| [`language_cue`](plugins/language_cue.lua?raw=1) | Syntax for the [CUE](http://cuelang.org) definition and validation programming language | | [`language_d`](plugins/language_d.lua?raw=1) | Syntax for the [D](https://dlang.org/) programming language | | [`language_dart`](plugins/language_dart.lua?raw=1) | Syntax for the [Dart](https://dart.dev/) programming languiage | | [`language_diff`](plugins/language_diff.lua?raw=1) | Syntax for diff and patch files | +| [`language_edp`](plugins/language_edp.lua?raw=1) | Syntax for [FreeFEM++](http://freefem.org) programming language | | [`language_elixir`](plugins/language_elixir.lua?raw=1) | Syntax for the [Elixir](https://elixir-lang.org) programming language | | [`language_elm`](plugins/language_elm.lua?raw=1) | Syntax for the [Elm](https://elm-lang.org) programming language | | [`language_env`](https://github.com/anthonyaxenov/lite-xl-env-syntax)\* | Syntax for the [env](https://hexdocs.pm/dotenvy/dotenv-file-format.html) (dotenv) files | @@ -219,6 +221,7 @@ but only with a `url` must provide a `checksum` that matches the existing plugin | [`language_lobster`](plugins/language_lobster.lua?raw=1) | Syntax for [Lobster](https://strlen.com/lobster/) programming language | | [`language_lox`](plugins/language_lox.lua?raw=1) | Syntax for the [Lox](http://craftinginterpreters.com/the-lox-language.html) programming language, featured in the book '[Crafting Interpreters](http://craftinginterpreters.com/)'. | | [`language_make`](plugins/language_make.lua?raw=1) | Syntax for the Make build system language | +| [`language_marte`](plugins/language_marte.lua?raw=1) | Syntax for [MARTe2](https://vcis.f4e.europa.eu/marte2-docs/master/html/index.html) configuration language | | [`language_meson`](plugins/language_meson.lua?raw=1) | Syntax for the [Meson](https://mesonbuild.com) build system language | | [`language_miniscript`](plugins/language_miniscript.lua?raw=1) | Syntax for the [MiniScript](https://miniscript.org) programming language | | [`language_moon`](plugins/language_moon.lua?raw=1) | Syntax for the [MoonScript](https://moonscript.org) scripting language | diff --git a/manifest.json b/manifest.json index 8649e96..277665b 100644 --- a/manifest.json +++ b/manifest.json @@ -637,6 +637,14 @@ "tags": ["language"] }, { + "description": "Syntax for the [CUE](http://cuelang.org) definition and validation programming language", + "version": "0.1", + "path": "plugins/language_cue.lua", + "id": "language_cue", + "mod_version": "3", + "tags": ["language"] + }, + { "description": "Syntax for the [D](https://dlang.org/) programming language", "version": "0.2", "path": "plugins/language_d.lua", @@ -661,6 +669,14 @@ "tags": ["language"] }, { + "description": "Syntax for [FreeFEM++](http://freefem.org) programming language", + "version": "0.1", + "path": "plugins/language_edp.lua", + "id": "language_edp", + "mod_version": "3", + "tags": ["language"] + }, + { "description": "Syntax for the [Elixir](https://elixir-lang.org) programming language", "version": "0.2", "path": "plugins/language_elixir.lua", @@ -902,6 +918,14 @@ "tags": ["language"] }, { + "description": "Syntax for [MARTe2](https://vcis.f4e.europa.eu/marte2-docs/master/html/index.html) configuration language", + "version": "0.1", + "path": "plugins/language_marte.lua", + "id": "language_marte", + "mod_version": "3", + "tags": ["language"] + }, + { "description": "Syntax for the [Meson](https://mesonbuild.com) build system language", "version": "0.1", "path": "plugins/language_meson.lua", diff --git a/plugins/language_cue.lua b/plugins/language_cue.lua new file mode 100644 index 0000000..50f01f3 --- /dev/null +++ b/plugins/language_cue.lua @@ -0,0 +1,41 @@ +-- mod-version:3 +local syntax = require "core.syntax" + +syntax.add { + name = "CUE", + files = "%.cue$", + comment = "//", + patterns = { + { pattern = "//.*", type = "comment" }, + { pattern = { '"', '"', '\\' }, type = "string" }, + { pattern = { "`", "`", '\\' }, type = "string" }, + { pattern = { "'", "'", '\\' }, type = "string" }, + { pattern = "0[oO_][0-7]+i?", type = "number" }, + { pattern = "-?0x[%x_]+i?", type = "number" }, + { pattern = "-?%d+_%di?", type = "number" }, + { pattern = "-?%d+[%d%.eE]*f?i?", type = "number" }, + { pattern = "-?%.?%d+f?i?", type = "number" }, + { pattern = "[%a_][%w_]*%.", type = "literal" }, + { pattern = "[%a_][%w_]*", type = "symbol" }, + { pattern = "#[%a][%w_]*", type = "keyword2" }, + -- operators + { pattern = "[%+%-=/%*%^%%<>!~|&%?:%.]", type = "operator" }, + }, + symbols = { + ["package"] = "keyword", + ["import"] = "keyword", + ["let"] = "keyword", + ["for"] = "keyword", + ["true"] = "literal", + ["false"] = "literal", + ["string"] = "keyword2", + ["bool"] = "keyword2", + ["number"] = "keyword2", + ["uint32"] = "keyword2", + ["int32"] = "keyword2", + ["uint16"] = "keyword2", + ["int16"] = "keyword2", + ["uint8"] = "keyword2", + ["float"] = "keyword2", + } +} diff --git a/plugins/language_edp.lua b/plugins/language_edp.lua new file mode 100644 index 0000000..0454288 --- /dev/null +++ b/plugins/language_edp.lua @@ -0,0 +1,645 @@ +-- mod-version:3 +local syntax = require "core.syntax" + +syntax.add { + name = "FreeFEM++", + files = { + "%.edp$", "%.ffp$" + }, + comment = "//", + block_comment = { "/*", "*/" }, + patterns = { + { pattern = "//.*", type = "comment" }, + { pattern = { "/%*", "%*/" }, type = "comment" }, + { pattern = { '"', '"', '\\' }, type = "string" }, + { pattern = "0x%x+[%x']*", type = "number" }, + { pattern = "%d+[%d%.'eE]*f?", type = "number" }, + { pattern = "%.?%d+[%d']*f?", type = "number" }, + { pattern = "[%+%-=/%*%^%%<>!~|:&]", type = "operator" }, + { pattern = "##", type = "operator" }, + { pattern = "struct%s()[%a_][%w_]*", type = { "keyword", "keyword2" } }, + { pattern = "class%s()[%a_][%w_]*", type = { "keyword", "keyword2" } }, + { pattern = "union%s()[%a_][%w_]*", type = { "keyword", "keyword2" } }, + { pattern = "namespace%s()[%a_][%w_]*", type = { "keyword", "keyword2" } }, + -- static declarations + { + pattern = "static()%s+()inline", + type = { "keyword", "normal", "keyword" } + }, + { + pattern = "static()%s+()const", + type = { "keyword", "normal", "keyword" } + }, + { + pattern = "static()%s+()[%a_][%w_]*", + type = { "keyword", "normal", "literal" } + }, + -- match method type declarations + { + pattern = "[%a_][%w_]*()%s*()%**()%s*()[%a_][%w_]*()%s*()::", + type = { + "literal", "normal", "operator", "normal", + "literal", "normal", "operator" + } + }, + -- match function type declarations + { + pattern = "[%a_][%w_]*()%*+()%s+()[%a_][%w_]*%f[%(]", + type = { "literal", "operator", "normal", "function" } + }, + { + pattern = "[%a_][%w_]*()%s+()%*+()[%a_][%w_]*%f[%(]", + type = { "literal", "normal", "operator", "function" } + }, + { + pattern = "[%a_][%w_]*()%s+()[%a_][%w_]*%f[%(]", + type = { "literal", "normal", "function" } + }, + -- match variable type declarations + { + pattern = "[%a_][%w_]*()%*+()%s+()[%a_][%w_]*", + type = { "literal", "operator", "normal", "normal" } + }, + { + pattern = "[%a_][%w_]*()%s+()%*+()[%a_][%w_]*", + type = { "literal", "normal", "operator", "normal" } + }, + { + pattern = "[%a_][%w_]*()%s+()[%a_][%w_]*()%s*()[;,%[%)]", + type = { "literal", "normal", "normal", "normal", "normal" } + }, + { + pattern = "[%a_][%w_]*()%s+()[%a_][%w_]*()%s*()=", + type = { "literal", "normal", "normal", "normal", "operator" } + }, + { + pattern = "[%a_][%w_]*()&()%s+()[%a_][%w_]*", + type = { "literal", "operator", "normal", "normal" } + }, + { + pattern = "[%a_][%w_]*()%s+()&()[%a_][%w_]*", + type = { "literal", "normal", "operator", "normal" } + }, + -- Match scope operator element access + { + pattern = "[%a_][%w_]*()%s*()::", + type = { "literal", "normal", "operator" } + }, + -- Uppercase constants of at least 2 chars in len + { + pattern = "_?%u[%u_][%u%d_]*%f[%s%+%*%-%.%)%]}%?%^%%=/<>~|&;:,!]", + type = "number" + }, + -- Magic constants + { pattern = "__[%u%l]+__", type = "number" }, + -- all other functions + { pattern = "[%a_][%w_]*%f[(]", type = "function" }, + -- Macros + { + pattern = "^%s*#%s*define%s+()[%a_][%a%d_]*", + type = { "keyword", "symbol" } + }, + { + pattern = "#%s*include%s+()<.->", + type = { "keyword", "string" } + }, + { pattern = "%f[#]#%s*[%a_][%w_]*", type = "keyword" }, + -- Everything else to make the tokenizer work properly + { pattern = "[%a_][%w_]*", type = "symbol" }, + }, + symbols = { + ["alignof"] = "keyword", + ["alignas"] = "keyword", + ["and"] = "keyword", + ["and_eq"] = "keyword", + ["not"] = "keyword", + ["not_eq"] = "keyword", + ["or"] = "keyword", + ["or_eq"] = "keyword", + ["xor"] = "keyword", + ["xor_eq"] = "keyword", + ["private"] = "keyword", + ["protected"] = "keyword", + ["public"] = "keyword", + ["register"] = "keyword", + ["nullptr"] = "keyword", + ["operator"] = "keyword", + ["asm"] = "keyword", + ["bitand"] = "keyword", + ["bitor"] = "keyword", + ["catch"] = "keyword", + ["throw"] = "keyword", + ["try"] = "keyword", + ["class"] = "keyword", + ["compl"] = "keyword", + ["explicit"] = "keyword", + ["export"] = "keyword", + ["concept"] = "keyword", + ["consteval"] = "keyword", + ["constexpr"] = "keyword", + ["constinit"] = "keyword", + ["const_cast"] = "keyword", + ["dynamic_cast"] = "keyword", + ["reinterpret_cast"] = "keyword", + ["static_cast"] = "keyword", + ["static_assert"] = "keyword", + ["template"] = "keyword", + ["this"] = "keyword", + ["thread_local"] = "keyword", + ["requires"] = "keyword", + ["co_wait"] = "keyword", + ["co_return"] = "keyword", + ["co_yield"] = "keyword", + ["decltype"] = "keyword", + ["delete"] = "keyword", + ["friend"] = "keyword", + ["typeid"] = "keyword", + ["typename"] = "keyword", + ["mutable"] = "keyword", + ["override"] = "keyword", + ["virtual"] = "keyword", + ["using"] = "keyword", + ["namespace"] = "keyword", + ["new"] = "keyword", + ["noexcept"] = "keyword", + ["if"] = "keyword", + ["then"] = "keyword", + ["else"] = "keyword", + ["elseif"] = "keyword", + ["do"] = "keyword", + ["while"] = "keyword", + ["for"] = "keyword", + ["break"] = "keyword", + ["continue"] = "keyword", + ["return"] = "keyword", + ["goto"] = "keyword", + ["struct"] = "keyword", + ["union"] = "keyword", + ["typedef"] = "keyword", + ["enum"] = "keyword", + ["extern"] = "keyword", + ["static"] = "keyword", + ["volatile"] = "keyword", + ["const"] = "keyword", + ["inline"] = "keyword", + ["case"] = "keyword", + ["default"] = "keyword", + ["auto"] = "keyword", + ["void"] = "keyword2", + ["int"] = "keyword2", + ["short"] = "keyword2", + ["long"] = "keyword2", + ["float"] = "keyword2", + ["double"] = "keyword2", + ["char"] = "keyword2", + ["unsigned"] = "keyword2", + ["bool"] = "keyword2", + ["true"] = "literal", + ["false"] = "literal", + ["NULL"] = "literal", + ["wchar_t"] = "keyword2", + ["char8_t"] = "keyword2", + ["char16_t"] = "keyword2", + ["char32_t"] = "keyword2", + ["#include"] = "keyword", + ["#if"] = "keyword", + ["#ifdef"] = "keyword", + ["#ifndef"] = "keyword", + ["#elif"] = "keyword", + ["#else"] = "keyword", + ["#elseif"] = "keyword", + ["#endif"] = "keyword", + ["#define"] = "keyword", + ["#warning"] = "keyword", + ["#error"] = "keyword", + ["#pragma"] = "keyword", + ["end"] = "keyword", + ["element"] = "keyword", + ["label"] = "keyword", + ["measure"] = "keyword", + ["mesure"] = "keyword", + ["Element"] = "keyword", + ["whoinElement"] = "keyword", + ["region"] = "keyword", + ["R3"] = "keyword", + ["vertex"] = "keyword", + ["im"] = "keyword", + ["l1"] = "keyword", + ["l2"] = "keyword", + ["linfty"] = "keyword", + ["max"] = "keyword", + ["min"] = "keyword", + ["re"] = "keyword", + ["sum"] = "keyword", + ["quantile"] = "keyword", + ["sort"] = "keyword", + ["x"] = "keyword", + ["y"] = "keyword", + ["z"] = "keyword", + ["length"] = "keyword", + ["area"] = "keyword", + ["coef"] = "keyword", + ["diag"] = "keyword", + ["m"] = "keyword", + ["n"] = "keyword", + ["nbcoef"] = "keyword", + ["nnz"] = "keyword", + ["resize"] = "keyword", + ["size"] = "keyword", + ["imax"] = "keyword", + ["imin"] = "keyword", + ["N"] = "keyword", + ["P"] = "keyword", + ["nuTriangle"] = "keyword", + ["ndof"] = "keyword", + ["ndofK"] = "keyword", + ["nt"] = "keyword", + ["be"] = "keyword", + ["hmax"] = "keyword", + ["hmin"] = "keyword", + ["nbe"] = "keyword", + ["nv"] = "keyword", + ["bordermesure"] = "keyword", + ["eof"] = "keyword", + ["good"] = "keyword", + ["fixed"] = "keyword", + ["flush"] = "keyword", + ["noshowbase"] = "keyword", + ["noshowpos"] = "keyword", + ["precision"] = "keyword", + ["scientific"] = "keyword", + ["seekp"] = "keyword", + ["showbase"] = "keyword", + ["showpos"] = "keyword", + ["tellp"] = "keyword", + ["ARGV"] = "keyword", + ["CG"] = "keyword", + ["CPUTime"] = "keyword", + ["Cholesky"] = "keyword", + ["Cofactor"] = "keyword", + ["Crout"] = "keyword", + ["Edge03d"] = "keyword", + ["GMRES"] = "keyword", + ["HaveUMFPACK"] = "keyword", + ["LU"] = "keyword", + ["NaN"] = "keyword", + ["P0"] = "keyword", + ["P03d"] = "keyword", + ["P0VF"] = "keyword", + ["P0edge"] = "keyword", + ["P1"] = "keyword", + ["P13d"] = "keyword", + ["P1b"] = "keyword", + ["P1b3d"] = "keyword", + ["P1dc"] = "keyword", + ["P1nc"] = "keyword", + ["P2"] = "keyword", + ["P23d"] = "keyword", + ["P2b"] = "keyword", + ["P2dc"] = "keyword", + ["P2h"] = "keyword", + ["RT0"] = "keyword", + ["RT03d"] = "keyword", + ["RT0Ortho"] = "keyword", + ["RTmodif"] = "keyword", + ["UMFPACK"] = "keyword", + ["append"] = "keyword", + ["binary"] = "keyword", + ["hTriangle"] = "keyword", + ["havesparsesolver"] = "keyword", + ["inside"] = "keyword", + ["lenEdge"] = "keyword", + ["nTonEdge"] = "keyword", + ["nuEdge"] = "keyword", + ["pi"] = "keyword", + ["qf1pE"] = "keyword", + ["qf1pElump"] = "keyword", + ["qf1pT"] = "keyword", + ["qf1pTlump"] = "keyword", + ["qf2pE"] = "keyword", + ["qf2pT"] = "keyword", + ["qf2pT4P1"] = "keyword", + ["qf3pE"] = "keyword", + ["qf4pE"] = "keyword", + ["qf5pE"] = "keyword", + ["qf5pT"] = "keyword", + ["qf7pT"] = "keyword", + ["qf9pT"] = "keyword", + ["qfV1"] = "keyword", + ["qfV1lump"] = "keyword", + ["qfV2"] = "keyword", + ["qfV5"] = "keyword", + ["searchMethod"] = "keyword", + ["sparsesolver"] = "keyword", + ["sparsesolverSym"] = "keyword", + ["storagetotal"] = "keyword", + ["storageused"] = "keyword", + ["verbosity"] = "keyword", + ["version"] = "keyword", + ["volume"] = "keyword", + ["volumelevelset"] = "keyword", + ["wait"] = "keyword", + ["ShowAlloc"] = "keyword", + ["Newton"] = "keyword", + ["NoGraphicWindow"] = "keyword", + ["NoUseOfWait"] = "keyword", + ["SameMesh"] = "keyword", + ["Unique"] = "keyword", + ["arealevelset"] = "keyword", + ["average"] = "keyword", + ["chtmpdir"] = "keyword", + ["time"] = "keyword", + ["fill"] = "keyword", + ["value"] = "keyword", + ["nbiso"] = "keyword", + ["coeff"] = "keyword", + ["dataname"] = "keyword", + ["order"] = "keyword", + ["mpirank"] = "keyword", + ["mpiCommWorld"] = "keyword", + ["mpiGroup"] = "keyword", + ["mpiRequest"] = "keyword", + ["sparams"] = "keyword", + ["mpisize"] = "keyword", + ["mpiUndefined"] = "keyword", + ["mpiAnySource"] = "keyword", + ["communicator"] = "keyword", + ["worker"] = "keyword", + ["dim"] = "keyword", + ["cmm"] = "keyword", + ["solver"] = "keyword", + ["aniso"] = "keyword", + ["nbvx"] = "keyword", + ["abserror"] = "keyword", + ["anisomax"] = "keyword", + ["cutoff"] = "keyword", + ["err"] = "keyword", + ["errg"] = "keyword", + ["inquire"] = "keyword", + ["IsMetric"] = "keyword", + ["iso"] = "keyword", + ["keepbackvertices"] = "keyword", + ["maxsubdiv"] = "keyword", + ["metric"] = "keyword", + ["nbjacoby"] = "keyword", + ["nbsmooth"] = "keyword", + ["nomeshgeneration"] = "keyword", + ["omega"] = "keyword", + ["periodic"] = "keyword", + ["powerin"] = "keyword", + ["ratio"] = "keyword", + ["rescaling"] = "keyword", + ["splitin2"] = "keyword", + ["splitpbedge"] = "keyword", + ["thetamax"] = "keyword", + ["uniform"] = "keyword", + ["fixedborder"] = "keyword", + ["flags"] = "keyword", + ["ivalue"] = "keyword", + ["maxit"] = "keyword", + ["mode"] = "keyword", + ["ncv"] = "keyword", + ["nev"] = "keyword", + ["rawvector"] = "keyword", + ["sigma"] = "keyword", + ["sym"] = "keyword", + ["tol"] = "keyword", + ["vector"] = "keyword", + ["which"] = "keyword", + ["op"] = "keyword", + ["t"] = "keyword", + ["eps"] = "keyword", + ["nbiter"] = "keyword", + ["precon"] = "keyword", + ["veps"] = "keyword", + ["tgv"] = "keyword", + ["tolpivot"] = "keyword", + ["meditff"] = "keyword", + ["save"] = "keyword", + ["orientation"] = "keyword", + ["ptmerge"] = "keyword", + ["transfo"] = "keyword", + ["optimize"] = "keyword", + ["aspectratio"] = "keyword", + ["bb"] = "keyword", + ["boundary"] = "keyword", + ["bw"] = "keyword", + ["cut"] = "keyword", + ["grey"] = "keyword", + ["hsv"] = "keyword", + ["nbarrow"] = "keyword", + ["ps"] = "keyword", + ["varrow"] = "keyword", + ["viso"] = "keyword", + ["init"] = "keyword", + ["strategy"] = "keyword", + ["tolpivotsym"] = "keyword", + ["facetcl"] = "keyword", + ["holelist"] = "keyword", + ["nboffacetcl"] = "keyword", + ["nbofregions"] = "keyword", + ["regionlist"] = "keyword", + ["switch"] = "keyword", + ["refface"] = "keyword", + ["split"] = "keyword", + ["zbound"] = "keyword", + ["labeldown"] = "keyword", + ["labelmid"] = "keyword", + ["labelup"] = "keyword", + ["opt"] = "keyword", + ["mpiMAX"] = "keyword", + ["mpiMIN"] = "keyword", + ["mpiSUM"] = "keyword", + ["mpiPROD"] = "keyword", + ["mpiLAND"] = "keyword", + ["mpiLOR"] = "keyword", + ["mpiLXOR"] = "keyword", + ["mpiBAND"] = "keyword", + ["mpiBXOR"] = "keyword", + ["border"] = "keyword2", + ["Cmapmatrix"] = "keyword2", + ["Cmatrix"] = "keyword2", + ["complex"] = "keyword2", + ["fespace"] = "keyword2", + ["func"] = "keyword2", + ["ifstream"] = "keyword2", + ["mapmatrix"] = "keyword2", + ["matrix"] = "keyword2", + ["mesh"] = "keyword2", + ["mesh3"] = "keyword2", + ["ofstream"] = "keyword2", + ["problem"] = "keyword2", + ["real"] = "keyword2", + ["solve"] = "keyword2", + ["string"] = "keyword2", + ["varf"] = "keyword2", + ["macro"] = "keyword2", + ["dmatrix"] = "keyword2", + ["adj"] = "function", + ["find"] = "function", + ["rfind"] = "function", + ["seekg"] = "function", + ["tellg"] = "function", + ["AddLayers"] = "function", + ["AffineCG"] = "function", + ["AffineGMRES"] = "function", + ["BFGS"] = "function", + ["EigenValue"] = "function", + ["LinearCG"] = "function", + ["LinearGMRES"] = "function", + ["NLCG"] = "function", + ["abs"] = "function", + ["acos"] = "function", + ["acosh"] = "function", + ["adaptmesh"] = "function", + ["arg"] = "function", + ["asin"] = "function", + ["asinh"] = "function", + ["assert"] = "function", + ["atan"] = "function", + ["atan2"] = "function", + ["atanh"] = "function", + ["atof"] = "function", + ["atoi"] = "function", + ["boundingbox"] = "function", + ["buildmesh"] = "function", + ["buildmeshborder"] = "function", + ["ceil"] = "function", + ["change"] = "function", + ["checkmovemesh"] = "function", + ["clock"] = "function", + ["complexEigenValue"] = "function", + ["conj"] = "function", + ["convect"] = "function", + ["cos"] = "function", + ["cosh"] = "function", + ["defaultoUMFPACK"] = "function", + ["defaultsolver"] = "function", + ["defaulttoCG"] = "function", + ["defaulttoGMRES"] = "function", + ["defaulttoUMFPACK"] = "function", + ["det"] = "function", + ["dumptable"] = "function", + ["dx"] = "function", + ["dxx"] = "function", + ["dxy"] = "function", + ["dxz"] = "function", + ["dy"] = "function", + ["dyx"] = "function", + ["dyy"] = "function", + ["dyz"] = "function", + ["dz"] = "function", + ["dzx"] = "function", + ["dzy"] = "function", + ["dzz"] = "function", + ["emptymesh"] = "function", + ["erf"] = "function", + ["erfc"] = "function", + ["exec"] = "function", + ["exit"] = "function", + ["exp"] = "function", + ["floor"] = "function", + ["getline"] = "function", + ["hypot"] = "function", + ["imag"] = "function", + ["int1d"] = "function", + ["int2d"] = "function", + ["int3d"] = "function", + ["intallVFedges"] = "function", + ["intalledges"] = "function", + ["intallfaces"] = "function", + ["interplotematrix"] = "function", + ["interpolate"] = "function", + ["isInf"] = "function", + ["isNaN"] = "function", + ["isNormal"] = "function", + ["j0"] = "function", + ["j1"] = "function", + ["jn"] = "function", + ["jump"] = "function", + ["lgamma"] = "function", + ["log"] = "function", + ["log10"] = "function", + ["lrint"] = "function", + ["lround"] = "function", + ["ltime"] = "function", + ["mean"] = "function", + ["movemesh"] = "function", + ["newconvect"] = "function", + ["norm"] = "function", + ["on"] = "function", + ["otherside"] = "function", + ["plot"] = "function", + ["polar"] = "function", + ["pow"] = "function", + ["randinit"] = "function", + ["randint31"] = "function", + ["randint32"] = "function", + ["randreal1"] = "function", + ["randreal2"] = "function", + ["randreal3"] = "function", + ["randres53"] = "function", + ["readmesh"] = "function", + ["readmesh3"] = "function", + ["renumbering"] = "function", + ["restrict"] = "function", + ["rint"] = "function", + ["round"] = "function", + ["savemesh"] = "function", + ["savesurfacemesh"] = "function", + ["set"] = "function", + ["setw"] = "function", + ["showCPU"] = "function", + ["sin"] = "function", + ["sinh"] = "function", + ["splitmesh"] = "function", + ["sqr"] = "function", + ["sqrt"] = "function", + ["square"] = "function", + ["system"] = "function", + ["tan"] = "function", + ["tanh"] = "function", + ["tgamma"] = "function", + ["toCarray"] = "function", + ["toRarray"] = "function", + ["toZarray"] = "function", + ["trace"] = "function", + ["triangulate"] = "function", + ["trunc"] = "function", + ["y0"] = "function", + ["y1"] = "function", + ["yn"] = "function", + ["savevtk"] = "function", + ["mshmet"] = "function", + ["savesol"] = "function", + ["gmshload"] = "function", + ["gmshload3"] = "function", + ["mpiBarrier"] = "function", + ["mpiSize"] = "function", + ["Irecv"] = "function", + ["Isend"] = "function", + ["processor"] = "function", + ["mpiWaitAny"] = "function", + ["mpiWait"] = "function", + ["mpiRank"] = "function", + ["metis"] = "function", + ["metisdual"] = "function", + ["broadcast"] = "function", + ["scotch"] = "function", + ["parmetis"] = "function", + ["mpiWtime"] = "function", + ["buildlayers"] = "function", + ["mmg3d"] = "function", + ["processorblock"] = "function", + ["mpiWaitAll"] = "function", + ["mpiWtick"] = "function", + ["Send"] = "function", + ["Recv"] = "function", + ["mpiAlltoall"] = "function", + ["mpiGather"] = "function", + ["mpiScatter"] = "function", + ["mpiReduce"] = "function", + ["mpiAllReduce"] = "function", + ["mpiReduceScatter"] = "function", + }, +} diff --git a/plugins/language_marte.lua b/plugins/language_marte.lua new file mode 100644 index 0000000..3410e17 --- /dev/null +++ b/plugins/language_marte.lua @@ -0,0 +1,42 @@ +-- mod-version:3 +local syntax = require "core.syntax" + +syntax.add { + name = "MARTe", + files = { "%.mrt$", "%.marte$" }, + comment = "//", + block_comment = { "/*", "*/" }, + patterns = { + { pattern = "//.*", type = "comment" }, + { pattern = { "/%*", "%*/" }, type = "comment" }, + { pattern = { '"', '"', '\\' }, type = "string" }, + { pattern = { "'", "'", '\\' }, type = "string" }, + { pattern = "%-?%.inf", type = "number" }, + { pattern = "%.NaN", type = "number" }, + { + pattern = "Class%s+()=()%s+[%a_][%w_:]*", + type = { "keyword", "operator", "keyword2"} + }, + { + pattern = "Type%s+()=()%s+[%a_][%w_]*", + type = { "keyword", "operator", "keyword2"} + }, + { + pattern = "[%+%$][%a_][%w_]+%s()=", + type = {"function", "operator"} + }, + { pattern = "=%s+()[%a_][%w_]+", type = "string" }, + { + pattern = "[%a_][%w_]+%s()=", + type = {"keyword", "operator"} + }, + { pattern = "0x%x+", type = "number" }, + { pattern = "%d+[%d%.'eE]*f?", type = "number" }, + { pattern = "%.?%d+f?", type = "number" }, + { pattern = "%a[%w_]+", type = "literal" }, + }, + symbols = { + ["true"] = "number", + ["false"] = "number", + }, +} |