diff options
-rw-r--r-- | plugins/language_zig.lua | 211 |
1 files changed, 211 insertions, 0 deletions
diff --git a/plugins/language_zig.lua b/plugins/language_zig.lua new file mode 100644 index 0000000..40ecb01 --- /dev/null +++ b/plugins/language_zig.lua @@ -0,0 +1,211 @@ +-- lite-xl 1.16 +local syntax = require "core.syntax" + +syntax.add { + files = { "%.zig$" }, + comment = "//", + patterns = { + { pattern = "//.-\n", type = "comment" }, + { pattern = "#!.-\n", type = "comment" }, + { pattern = { '"', '"', '\\' }, type = "string" }, + { pattern = { "'", "'", '\\' }, type = "string" }, + { pattern = "-?[iuf][%d_]+", type = "keyword2" }, + { pattern = "-?\\x[%x_]+", type = "number" }, + { pattern = "-?\\u{[%x_]+}", type = "number" }, + { pattern = "-?%d+[%d%.eE]*f?", type = "number" }, + { pattern = "-?%.?%d+f?", type = "number" }, + { pattern = "[%+%-=/%*%^%%<>!~|&]", type = "operator" }, + { pattern = "[%a_][%w_]*%f[(]", type = "function" }, + { pattern = "@?[%a_][%w_]*", type = "symbol" }, + }, + symbols = { + ["fn"] = "keyword", + + ["asm"] = "keyword", + ["volatile"] = "keyword", + + ["continue"] = "keyword", + ["break"] = "keyword", + ["switch"] = "keyword", + ["for"] = "keyword", + ["while"] = "keyword", + + ["var"] = "keyword", + ["anytype"] = "keyword", + ["const"] = "keyword", + ["test"] = "keyword", + ["packed"] = "keyword", + ["extern"] = "keyword", + ["export"] = "keyword", + ["pub"] = "keyword", + ["defer"] = "keyword", + ["errdefer"] = "keyword", + ["align"] = "keyword", + ["usingnamespace"] = "keyword", + + ["noasync"] = "keyword", + ["async"] = "keyword", + ["await"] = "keyword", + ["cancel"] = "keyword", + ["suspend"] = "keyword", + ["resume"] = "keyword", + + ["threadlocal"] = "keyword", + + ["linksection"] = "keyword", + + ["callconv"] = "keyword", + + ["try"] = "keyword", + ["catch"] = "keyword", + ["orelse"] = "keyword", + ["unreachable"] = "keyword", + ["noreturn"] = "keyword", + ["error"] = "keyword", + ["if"] = "keyword", + ["else"] = "keyword", + ["return"] = "keyword", + ["comptime"] = "keyword", + + ["stdcallcc"] = "keyword", + ["ccc"] = "keyword", + ["nakedcc"] = "keyword", + + ["and"] = "keyword", + ["or"] = "keyword", + + -- std + ["@import"] = "keyword", + ["@cImport"] = "keyword", + + [ "@addWithOverflow" ] = "function", + [ "@alignCast" ] = "function", + [ "@alignOf" ] = "function", + [ "@as" ] = "function", + [ "@asyncCall" ] = "function", + [ "@atomicLoad" ] = "function", + [ "@atomicRmw" ] = "function", + [ "@atomicStore" ] = "function", + [ "@bitCast" ] = "function", + [ "@bitOffsetOf" ] = "function", + [ "@boolToInt" ] = "function", + [ "@bitSizeOf" ] = "function", + [ "@breakpoint" ] = "function", + [ "@mulAdd" ] = "function", + [ "@byteSwap" ] = "function", + [ "@bitReverse" ] = "function", + [ "@byteOffsetOf" ] = "function", + [ "@call" ] = "function", + [ "@cDefine" ] = "function", + [ "@cImport" ] = "function", + [ "@cInclude" ] = "function", + [ "@clz" ] = "function", + [ "@cmpxchgStrong" ] = "function", + [ "@cmpxchgWeak" ] = "function", + [ "@compileError" ] = "function", + [ "@compileLog" ] = "function", + [ "@ctz" ] = "function", + [ "@cUndef" ] = "function", + [ "@divExact" ] = "function", + [ "@divFloor" ] = "function", + [ "@divTrunc" ] = "function", + [ "@embedFile" ] = "function", + [ "@enumToInt" ] = "function", + [ "@errorName" ] = "function", + [ "@errorReturnTrace" ] = "function", + [ "@errorToInt" ] = "function", + [ "@errSetCast" ] = "function", + [ "@export" ] = "function", + [ "@fence" ] = "function", + [ "@field" ] = "function", + [ "@fieldParentPtr" ] = "function", + [ "@floatCast" ] = "function", + [ "@floatToInt" ] = "function", + [ "@Frame" ] = "function", + [ "@frame" ] = "function", + [ "@frameAddress" ] = "function", + [ "@frameSize" ] = "function", + [ "@hasDecl" ] = "function", + [ "@hasField" ] = "function", + [ "@import" ] = "function", + [ "@intCast" ] = "function", + [ "@intToEnum" ] = "function", + [ "@intToError" ] = "function", + [ "@intToFloat" ] = "function", + [ "@intToPtr" ] = "function", + [ "@memcpy" ] = "function", + [ "@memset" ] = "function", + [ "@wasmMemorySize" ] = "function", + [ "@wasmMemoryGrow" ] = "function", + [ "@mod" ] = "function", + [ "@mulWithOverflow" ] = "function", + [ "@panic" ] = "function", + [ "@popCount" ] = "function", + [ "@ptrCast" ] = "function", + [ "@ptrToInt" ] = "function", + [ "@rem" ] = "function", + [ "@returnAddress" ] = "function", + [ "@setAlignStack" ] = "function", + [ "@setCold" ] = "function", + [ "@setEvalBranchQuota" ] = "function", + [ "@setFloatMode" ] = "function", + [ "@setRuntimeSafety" ] = "function", + [ "@shlExact" ] = "function", + [ "@shlWithOverflow" ] = "function", + [ "@shrExact" ] = "function", + [ "@shuffle" ] = "function", + [ "@sizeOf" ] = "function", + [ "@splat" ] = "function", + [ "@src" ] = "function", + [ "@sqrt" ] = "function", + [ "@sin" ] = "function", + [ "@cos" ] = "function", + [ "@exp" ] = "function", + [ "@exp2" ] = "function", + [ "@log" ] = "function", + [ "@log2" ] = "function", + [ "@log10" ] = "function", + [ "@fabs" ] = "function", + [ "@floor" ] = "function", + [ "@ceil" ] = "function", + [ "@trunc" ] = "function", + [ "@round" ] = "function", + [ "@subWithOverflow" ] = "function", + [ "@tagName" ] = "function", + [ "@TagType" ] = "function", + [ "@This" ] = "function", + [ "@truncate" ] = "function", + [ "@Type" ] = "function", + [ "@typeInfo" ] = "function", + [ "@typeName" ] = "function", + [ "@TypeOf" ] = "function", + [ "@unionInit" ] = "function", + + -- types + ["void"] = "keyword2", + ["c_void"] = "keyword2", + ["isize"] = "keyword2", + ["usize"] = "keyword2", + ["c_short"] = "keyword2", + ["c_ushort"] = "keyword2", + ["c_int"] = "keyword2", + ["c_uint"] = "keyword2", + ["c_long"] = "keyword2", + ["c_ulong"] = "keyword2", + ["c_longlong"] = "keyword2", + ["c_ulonglong"] = "keyword2", + ["c_longdouble"] = "keyword2", + ["bool"] = "keyword2", + + ["noreturn"] = "keyword2", + ["type"] = "keyword2", + ["anyerror"] = "keyword2", + ["comptime_int"] = "keyword2", + ["comptime_float"] = "keyword2", + + ["true"] = "literal", + ["false"] = "literal", + ["null"] = "literal", + ["undefined"] = "literal", + }, +} |