aboutsummaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
authorAdam <adamdharrison@gmail.com>2022-04-22 10:55:59 -0400
committerGitHub <noreply@github.com>2022-04-22 10:55:59 -0400
commita13bd0838104a7edc3fd91f5b98c5d2b17d1284e (patch)
tree08d9c4a2c48162d76c0b09a9b71ef99a9d82c0dd /plugins
parent1130a239a0b8d58421f6cc1118e7cca09517c3c7 (diff)
parent3dfb91a4b24e528eed98ecaf9bf1fb5947d8538d (diff)
downloadlite-xl-plugins-a13bd0838104a7edc3fd91f5b98c5d2b17d1284e.tar.gz
lite-xl-plugins-a13bd0838104a7edc3fd91f5b98c5d2b17d1284e.zip
Merge pull request #67 from StunxFS/StunxFS/add-rivet-lang
add `language_rivet.lua`
Diffstat (limited to 'plugins')
-rw-r--r--plugins/language_rivet.lua (renamed from plugins/language_glaz.lua)53
1 files changed, 26 insertions, 27 deletions
diff --git a/plugins/language_glaz.lua b/plugins/language_rivet.lua
index fd313e8..b291749 100644
--- a/plugins/language_glaz.lua
+++ b/plugins/language_rivet.lua
@@ -1,20 +1,20 @@
-- mod-version:2 -- lite-xl 2.0
--- Syntax highlighting for the Glaz programming language.
+-- Syntax highlighting for the Rivet programming language.
-- by StunxFS :)
local syntax = require "core.syntax"
syntax.add {
- name = "Glaz",
- files = {"%.glaz$", "^glaz%.proj$"},
+ name = "Rivet",
+ files = {"%.ri$"},
comment = "//",
block_comment = {"/*", "*/"},
patterns = {
{pattern = "//.-\n", type = "comment"},
{pattern = {"/%*", "%*/"}, type = "comment"},
{pattern = {'"', '"', "\\"}, type = "string"},
- {pattern = "'.'", type = "string"},
+ {pattern = "'\\?.'", type = "string"},
{pattern = "0b[01_]+", type = "number"},
{pattern = "0o[0-7_]+", type = "number"},
{pattern = "0x[%x_]+", type = "number"},
@@ -28,55 +28,57 @@ syntax.add {
{pattern = "[%a_][%w_]*%f[(]", type = "function"},
{pattern = "[%a_][%w_]*!%f[%[(]", type = "keyword2"},
{pattern = "[%a_][%w_]*", type = "symbol"},
- {pattern = {"@%[", "%]"}, type = "keyword"},
{pattern = "%$%s?[%a_][%w_]*", type = "keyword"},
{pattern = "#%s?include%s()<.->", type = {"keyword", "string"}},
{pattern = "#%s?[%a_][%w_]*", type = "keyword"}
},
symbols = {
- ["mod"] = "keyword",
- ["src"] = "keyword",
["extern"] = "keyword",
- ["interface"] = "keyword",
+ ["use"] = "keyword",
+
+ ["pub"] = "keyword",
+ ["as"] = "keyword",
+
+ ["pkg"] = "keyword",
+ ["mod"] = "keyword",
+ ["const"] = "keyword",
+ ["trait"] = "keyword",
["struct"] = "keyword",
["union"] = "keyword",
["type"] = "keyword",
["enum"] = "keyword",
- ["impl"] = "keyword",
["fn"] = "keyword",
["test"] = "keyword",
- ["pub"] = "keyword",
- ["use"] = "keyword",
+ ["impl"] = "keyword",
+
+ ["match"] = "keyword",
["if"] = "keyword",
["elif"] = "keyword",
["else"] = "keyword",
- ["do"] = "keyword",
+ ["loop"] = "keyword",
["while"] = "keyword",
["for"] = "keyword",
- ["loop"] = "keyword",
+
["break"] = "keyword",
["continue"] = "keyword",
["return"] = "keyword",
["raise"] = "keyword",
- ["goto"] = "keyword",
- ["unsafe"] = "keyword",
- ["const"] = "keyword",
+
["let"] = "keyword",
["mut"] = "keyword",
- ["switch"] = "keyword",
- ["defer"] = "keyword",
+ ["unsafe"] = "keyword",
+ ["goto"] = "keyword",
["try"] = "keyword",
["orelse"] = "keyword",
["catch"] = "keyword",
["cast"] = "keyword",
- ["as"] = "keyword",
["is"] = "keyword",
["in"] = "keyword",
- ["and"] = "keyword",
["or"] = "keyword",
- ["Self"] = "keyword",
+ ["and"] = "keyword",
-- types
+ ["bool"] = "keyword2",
["i8"] = "keyword2",
["i16"] = "keyword2",
["i32"] = "keyword2",
@@ -87,22 +89,19 @@ syntax.add {
["u64"] = "keyword2",
["f32"] = "keyword2",
["f64"] = "keyword2",
- ["bool"] = "keyword2",
- ["rune"] = "keyword2",
+ ["char"] = "keyword2",
["isize"] = "keyword2",
["usize"] = "keyword2",
["str"] = "keyword2",
- ["charptr"] = "keyword2",
["rawptr"] = "keyword2",
- ["vec"] = "keyword2",
- ["map"] = "keyword2",
+ ["Self"] = "keyword2",
-- literals
["base"] = "literal",
["self"] = "literal",
["true"] = "literal",
["false"] = "literal",
- ["null"] = "literal"
+ ["none"] = "literal"
}
}