aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.md3
-rw-r--r--manifest.json24
-rw-r--r--plugins/language_cue.lua41
-rw-r--r--plugins/language_edp.lua645
-rw-r--r--plugins/language_marte.lua42
5 files changed, 755 insertions, 0 deletions
diff --git a/README.md b/README.md
index db4ec5c..2eaae02 100644
--- a/README.md
+++ b/README.md
@@ -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",
+ },
+}