diff --git a/plugins/language_janet.lua b/plugins/language_janet.lua new file mode 100644 index 00000000..6fb8c1ea --- /dev/null +++ b/plugins/language_janet.lua @@ -0,0 +1,685 @@ +-- Support for the Fennel programming language: https://fennel-lang.org +-- Covers all the keywords up to Fennel version 0.10.0 + +-- Currently only covers highlighting, not indentation, delimiter +-- matching, or evaluation. + +local syntax = require "core.syntax" + +syntax.add { + files = "%.janet$", + comment = ";", + patterns = { + { pattern = "#.-\n", type = "comment" }, + { pattern = { '"', '"', '\\' }, type = "string" }, + { pattern = "0x[%da-fA-F]+", type = "number" }, + { pattern = "-?%d+[%d%.]*", type = "number" }, + { pattern = "-?%.?%d+", type = "number" }, + { pattern = "%f[^(][^()'%s\"]+", type = "function" }, + { pattern = ":[%w_-/]*", type = "constant" }, + { pattern = "nil", type = "literal" }, + { pattern = "true", type = "literal" }, + { pattern = "false", type = "literal" }, + }, + + symbols = { + ["*args*"] = "keyword2", + ["*current-file*"] = "keyword2", + ["*debug*"] = "keyword2", + ["*defdyn-prefix*"] = "keyword2", + ["*doc-color*"] = "keyword2", + ["*doc-width*"] = "keyword2", + ["*err*"] = "keyword2", + ["*err-color*"] = "keyword2", + ["*executable*"] = "keyword2", + ["*exit*"] = "keyword2", + ["*exit-value*"] = "keyword2", + ["*ffi-context*"] = "keyword2", + ["*lint-error*"] = "keyword2", + ["*lint-levels*"] = "keyword2", + ["*lint-warn*"] = "keyword2", + ["*macro-form*"] = "keyword2", + ["*macro-lints*"] = "keyword2", + ["*module/cache*"] = "keyword2", + ["*module/loaders*"] = "keyword2", + ["*module/loading*"] = "keyword2", + ["*module/paths*"] = "keyword2", + ["*out*"] = "keyword2", + ["*peg-grammar*"] = "keyword2", + ["*pretty-format*"] = "keyword2", + ["*profilepath*"] = "keyword2", + ["*redef*"] = "keyword2", + ["*syspath*"] = "keyword2", + ["*task-id*"] = "keyword2", + ["abstract?"] = "keyword2", + ["accumulate"] = "keyword2", + ["accumulate2"] = "keyword2", + ["all"] = "keyword2", + ["all-bindings"] = "keyword2", + ["all-dynamics"] = "keyword2", + ["and"] = "keyword2", + ["any?"] = "keyword2", + ["apply"] = "keyword2", + ["array"] = "keyword2", + ["array/clear"] = "keyword2", + ["array/concat"] = "keyword2", + ["array/ensure"] = "keyword2", + ["array/fill"] = "keyword2", + ["array/insert"] = "keyword2", + ["array/new"] = "keyword2", + ["array/new-filled"] = "keyword2", + ["array/peek"] = "keyword2", + ["array/pop"] = "keyword2", + ["array/push"] = "keyword2", + ["array/remove"] = "keyword2", + ["array/slice"] = "keyword2", + ["array/trim"] = "keyword2", + ["array/weak"] = "keyword2", + ["array?"] = "keyword2", + ["as->"] = "keyword2", + ["as-macro"] = "keyword2", + ["as?->"] = "keyword2", + ["asm"] = "keyword2", + ["assert"] = "keyword2", + ["bad-compile"] = "keyword2", + ["bad-parse"] = "keyword2", + ["band"] = "keyword2", + ["blshift"] = "keyword2", + ["bnot"] = "keyword2", + ["boolean?"] = "keyword2", + ["bor"] = "keyword2", + ["brshift"] = "keyword2", + ["brushift"] = "keyword2", + ["buffer"] = "keyword2", + ["buffer/bit"] = "keyword2", + ["buffer/bit-clear"] = "keyword2", + ["buffer/bit-set"] = "keyword2", + ["buffer/bit-toggle"] = "keyword2", + ["buffer/blit"] = "keyword2", + ["buffer/clear"] = "keyword2", + ["buffer/fill"] = "keyword2", + ["buffer/format"] = "keyword2", + ["buffer/from-bytes"] = "keyword2", + ["buffer/new"] = "keyword2", + ["buffer/new-filled"] = "keyword2", + ["buffer/popn"] = "keyword2", + ["buffer/push"] = "keyword2", + ["buffer/push-at"] = "keyword2", + ["buffer/push-byte"] = "keyword2", + ["buffer/push-float32"] = "keyword2", + ["buffer/push-float64"] = "keyword2", + ["buffer/push-string"] = "keyword2", + ["buffer/push-uint16"] = "keyword2", + ["buffer/push-uint32"] = "keyword2", + ["buffer/push-uint64"] = "keyword2", + ["buffer/push-word"] = "keyword2", + ["buffer/slice"] = "keyword2", + ["buffer/trim"] = "keyword2", + ["buffer?"] = "keyword2", + ["bxor"] = "keyword2", + ["bytes?"] = "keyword2", + ["cancel"] = "keyword2", + ["case"] = "keyword2", + ["catseq"] = "keyword2", + ["cfunction?"] = "keyword2", + ["chr"] = "keyword2", + ["cli-main"] = "keyword2", + ["cmp"] = "keyword2", + ["comment"] = "keyword2", + ["comp"] = "keyword2", + ["compare"] = "keyword2", + ["compare<"] = "keyword2", + ["compare<="] = "keyword2", + ["compare="] = "keyword2", + ["compare>"] = "keyword2", + ["compare>="] = "keyword2", + ["compif"] = "keyword2", + ["compile"] = "keyword2", + ["complement"] = "keyword2", + ["comptime"] = "keyword2", + ["compwhen"] = "keyword2", + ["cond"] = "keyword2", + ["coro"] = "keyword2", + ["count"] = "keyword2", + ["curenv"] = "keyword2", + ["debug"] = "keyword2", + ["debug/arg-stack"] = "keyword2", + ["debug/break"] = "keyword2", + ["debug/fbreak"] = "keyword2", + ["debug/lineage"] = "keyword2", + ["debug/stack"] = "keyword2", + ["debug/stacktrace"] = "keyword2", + ["debug/step"] = "keyword2", + ["debug/unbreak"] = "keyword2", + ["debug/unfbreak"] = "keyword2", + ["debugger"] = "keyword2", + ["debugger-env"] = "keyword2", + ["debugger-on-status"] = "keyword2", + ["dec"] = "keyword2", + ["deep-not="] = "keyword2", + ["deep="] = "keyword2", + ["def-"] = "keyword2", + ["default"] = "keyword2", + ["default-peg-grammar"] = "keyword2", + ["defdyn"] = "keyword2", + ["defer"] = "keyword2", + ["defglobal"] = "keyword2", + ["defmacro"] = "keyword2", + ["defmacro-"] = "keyword2", + ["def"] = "keyword2", + ["defn"] = "keyword2", + ["defn-"] = "keyword2", + ["delay"] = "keyword2", + ["describe"] = "keyword2", + ["dictionary?"] = "keyword2", + ["disasm"] = "keyword2", + ["distinct"] = "keyword2", + ["div"] = "keyword2", + ["doc"] = "keyword2", + ["doc*"] = "keyword2", + ["doc-format"] = "keyword2", + ["doc-of"] = "keyword2", + ["dofile"] = "keyword2", + ["drop"] = "keyword2", + ["drop-until"] = "keyword2", + ["drop-while"] = "keyword2", + ["dyn"] = "keyword2", + ["each"] = "keyword2", + ["eachk"] = "keyword2", + ["eachp"] = "keyword2", + ["edefer"] = "keyword2", + ["eflush"] = "keyword2", + ["empty?"] = "keyword2", + ["env-lookup"] = "keyword2", + ["eprin"] = "keyword2", + ["eprinf"] = "keyword2", + ["eprint"] = "keyword2", + ["eprintf"] = "keyword2", + ["error"] = "keyword2", + ["errorf"] = "keyword2", + ["ev/acquire-lock"] = "keyword2", + ["ev/acquire-rlock"] = "keyword2", + ["ev/acquire-wlock"] = "keyword2", + ["ev/all-tasks"] = "keyword2", + ["ev/call"] = "keyword2", + ["ev/cancel"] = "keyword2", + ["ev/capacity"] = "keyword2", + ["ev/chan"] = "keyword2", + ["ev/chan-close"] = "keyword2", + ["ev/chunk"] = "keyword2", + ["ev/close"] = "keyword2", + ["ev/count"] = "keyword2", + ["ev/deadline"] = "keyword2", + ["ev/do-thread"] = "keyword2", + ["ev/full"] = "keyword2", + ["ev/gather"] = "keyword2", + ["ev/give"] = "keyword2", + ["ev/give-supervisor"] = "keyword2", + ["ev/go"] = "keyword2", + ["ev/lock"] = "keyword2", + ["ev/read"] = "keyword2", + ["ev/release-lock"] = "keyword2", + ["ev/release-rlock"] = "keyword2", + ["ev/release-wlock"] = "keyword2", + ["ev/rselect"] = "keyword2", + ["ev/rwlock"] = "keyword2", + ["ev/select"] = "keyword2", + ["ev/sleep"] = "keyword2", + ["ev/spawn"] = "keyword2", + ["ev/spawn-thread"] = "keyword2", + ["ev/take"] = "keyword2", + ["ev/thread"] = "keyword2", + ["ev/thread-chan"] = "keyword2", + ["ev/with-deadline"] = "keyword2", + ["ev/write"] = "keyword2", + ["eval"] = "keyword2", + ["eval-string"] = "keyword2", + ["even?"] = "keyword2", + ["every?"] = "keyword2", + ["extreme"] = "keyword2", + ["false?"] = "keyword2", + ["ffi/align"] = "keyword2", + ["ffi/call"] = "keyword2", + ["ffi/calling-conventions"] = "keyword2", + ["ffi/close"] = "keyword2", + ["ffi/context"] = "keyword2", + ["ffi/defbind"] = "keyword2", + ["ffi/free"] = "keyword2", + ["ffi/jitfn"] = "keyword2", + ["ffi/lookup"] = "keyword2", + ["ffi/malloc"] = "keyword2", + ["ffi/native"] = "keyword2", + ["ffi/pointer-buffer"] = "keyword2", + ["ffi/pointer-cfunction"] = "keyword2", + ["ffi/read"] = "keyword2", + ["ffi/signature"] = "keyword2", + ["ffi/size"] = "keyword2", + ["ffi/struct"] = "keyword2", + ["ffi/trampoline"] = "keyword2", + ["ffi/write"] = "keyword2", + ["fiber-fn"] = "keyword2", + ["fiber/can-resume?"] = "keyword2", + ["fiber/current"] = "keyword2", + ["fiber/getenv"] = "keyword2", + ["fiber/last-value"] = "keyword2", + ["fiber/maxstack"] = "keyword2", + ["fiber/new"] = "keyword2", + ["fiber/root"] = "keyword2", + ["fiber/setenv"] = "keyword2", + ["fiber/setmaxstack"] = "keyword2", + ["fiber/status"] = "keyword2", + ["fiber?"] = "keyword2", + ["file/close"] = "keyword2", + ["file/flush"] = "keyword2", + ["file/lines"] = "keyword2", + ["file/open"] = "keyword2", + ["file/read"] = "keyword2", + ["file/seek"] = "keyword2", + ["file/tell"] = "keyword2", + ["file/temp"] = "keyword2", + ["file/write"] = "keyword2", + ["filter"] = "keyword2", + ["find"] = "keyword2", + ["find-index"] = "keyword2", + ["first"] = "keyword2", + ["flatten"] = "keyword2", + ["flatten-into"] = "keyword2", + ["flush"] = "keyword2", + ["flycheck"] = "keyword2", + ["for"] = "keyword2", + ["forever"] = "keyword2", + ["forv"] = "keyword2", + ["freeze"] = "keyword2", + ["frequencies"] = "keyword2", + ["from-pairs"] = "keyword2", + ["function?"] = "keyword2", + ["gccollect"] = "keyword2", + ["gcinterval"] = "keyword2", + ["gcsetinterval"] = "keyword2", + ["generate"] = "keyword2", + ["gensym"] = "keyword2", + ["get"] = "keyword2", + ["get-in"] = "keyword2", + ["getline"] = "keyword2", + ["getproto"] = "keyword2", + ["group-by"] = "keyword2", + ["has-key?"] = "keyword2", + ["has-value?"] = "keyword2", + ["hash"] = "keyword2", + ["idempotent?"] = "keyword2", + ["identity"] = "keyword2", + ["if-let"] = "keyword2", + ["if-not"] = "keyword2", + ["if-with"] = "keyword2", + ["import"] = "keyword2", + ["import*"] = "keyword2", + ["in"] = "keyword2", + ["inc"] = "keyword2", + ["index-of"] = "keyword2", + ["indexed?"] = "keyword2", + ["int/s64"] = "keyword2", + ["int/to-bytes"] = "keyword2", + ["int/to-number"] = "keyword2", + ["int/u64"] = "keyword2", + ["int?"] = "keyword2", + ["interleave"] = "keyword2", + ["interpose"] = "keyword2", + ["invert"] = "keyword2", + ["janet/build"] = "keyword2", + ["janet/config-bits"] = "keyword2", + ["janet/version"] = "keyword2", + ["juxt"] = "keyword2", + ["juxt*"] = "keyword2", + ["keep"] = "keyword2", + ["keep-syntax"] = "keyword2", + ["keep-syntax!"] = "keyword2", + ["keys"] = "keyword2", + ["keyword"] = "keyword2", + ["keyword/slice"] = "keyword2", + ["keyword?"] = "keyword2", + ["kvs"] = "keyword2", + ["label"] = "keyword2", + ["last"] = "keyword2", + ["length"] = "keyword2", + ["lengthable?"] = "keyword2", + ["let"] = "keyword2", + ["load-image"] = "keyword2", + ["load-image-dict"] = "keyword2", + ["loop"] = "keyword2", + ["macex"] = "keyword2", + ["macex1"] = "keyword2", + ["maclintf"] = "keyword2", + ["make-env"] = "keyword2", + ["make-image"] = "keyword2", + ["make-image-dict"] = "keyword2", + ["map"] = "keyword2", + ["mapcat"] = "keyword2", + ["marshal"] = "keyword2", + ["match"] = "keyword2", + ["math/-inf"] = "keyword2", + ["math/abs"] = "keyword2", + ["math/acos"] = "keyword2", + ["math/acosh"] = "keyword2", + ["math/asin"] = "keyword2", + ["math/asinh"] = "keyword2", + ["math/atan"] = "keyword2", + ["math/atan2"] = "keyword2", + ["math/atanh"] = "keyword2", + ["math/cbrt"] = "keyword2", + ["math/ceil"] = "keyword2", + ["math/cos"] = "keyword2", + ["math/cosh"] = "keyword2", + ["math/e"] = "keyword2", + ["math/erf"] = "keyword2", + ["math/erfc"] = "keyword2", + ["math/exp"] = "keyword2", + ["math/exp2"] = "keyword2", + ["math/expm1"] = "keyword2", + ["math/floor"] = "keyword2", + ["math/gamma"] = "keyword2", + ["math/gcd"] = "keyword2", + ["math/hypot"] = "keyword2", + ["math/inf"] = "keyword2", + ["math/int-max"] = "keyword2", + ["math/int-min"] = "keyword2", + ["math/int32-max"] = "keyword2", + ["math/int32-min"] = "keyword2", + ["math/lcm"] = "keyword2", + ["math/log"] = "keyword2", + ["math/log-gamma"] = "keyword2", + ["math/log10"] = "keyword2", + ["math/log1p"] = "keyword2", + ["math/log2"] = "keyword2", + ["math/nan"] = "keyword2", + ["math/next"] = "keyword2", + ["math/pi"] = "keyword2", + ["math/pow"] = "keyword2", + ["math/random"] = "keyword2", + ["math/rng"] = "keyword2", + ["math/rng-buffer"] = "keyword2", + ["math/rng-int"] = "keyword2", + ["math/rng-uniform"] = "keyword2", + ["math/round"] = "keyword2", + ["math/seedrandom"] = "keyword2", + ["math/sin"] = "keyword2", + ["math/sinh"] = "keyword2", + ["math/sqrt"] = "keyword2", + ["math/tan"] = "keyword2", + ["math/tanh"] = "keyword2", + ["math/trunc"] = "keyword2", + ["max"] = "keyword2", + ["max-of"] = "keyword2", + ["mean"] = "keyword2", + ["memcmp"] = "keyword2", + ["merge"] = "keyword2", + ["merge-into"] = "keyword2", + ["merge-module"] = "keyword2", + ["min"] = "keyword2", + ["min-of"] = "keyword2", + ["mod"] = "keyword2", + ["module/add-paths"] = "keyword2", + ["module/cache"] = "keyword2", + ["module/expand-path"] = "keyword2", + ["module/find"] = "keyword2", + ["module/loaders"] = "keyword2", + ["module/loading"] = "keyword2", + ["module/paths"] = "keyword2", + ["module/value"] = "keyword2", + ["nan?"] = "keyword2", + ["nat?"] = "keyword2", + ["native"] = "keyword2", + ["neg?"] = "keyword2", + ["net/accept"] = "keyword2", + ["net/accept-loop"] = "keyword2", + ["net/address"] = "keyword2", + ["net/address-unpack"] = "keyword2", + ["net/chunk"] = "keyword2", + ["net/close"] = "keyword2", + ["net/connect"] = "keyword2", + ["net/flush"] = "keyword2", + ["net/listen"] = "keyword2", + ["net/localname"] = "keyword2", + ["net/peername"] = "keyword2", + ["net/read"] = "keyword2", + ["net/recv-from"] = "keyword2", + ["net/send-to"] = "keyword2", + ["net/server"] = "keyword2", + ["net/setsockopt"] = "keyword2", + ["net/shutdown"] = "keyword2", + ["net/write"] = "keyword2", + ["next"] = "keyword2", + ["nil?"] = "keyword2", + ["not"] = "keyword2", + ["not="] = "keyword2", + ["number?"] = "keyword2", + ["odd?"] = "keyword2", + ["one?"] = "keyword2", + ["or"] = "keyword2", + ["os/arch"] = "keyword2", + ["os/cd"] = "keyword2", + ["os/chmod"] = "keyword2", + ["os/clock"] = "keyword2", + ["os/compiler"] = "keyword2", + ["os/cpu-count"] = "keyword2", + ["os/cryptorand"] = "keyword2", + ["os/cwd"] = "keyword2", + ["os/date"] = "keyword2", + ["os/dir"] = "keyword2", + ["os/environ"] = "keyword2", + ["os/execute"] = "keyword2", + ["os/exit"] = "keyword2", + ["os/getenv"] = "keyword2", + ["os/isatty"] = "keyword2", + ["os/link"] = "keyword2", + ["os/lstat"] = "keyword2", + ["os/mkdir"] = "keyword2", + ["os/mktime"] = "keyword2", + ["os/open"] = "keyword2", + ["os/perm-int"] = "keyword2", + ["os/perm-string"] = "keyword2", + ["os/pipe"] = "keyword2", + ["os/posix-exec"] = "keyword2", + ["os/posix-fork"] = "keyword2", + ["os/proc-close"] = "keyword2", + ["os/proc-kill"] = "keyword2", + ["os/proc-wait"] = "keyword2", + ["os/readlink"] = "keyword2", + ["os/realpath"] = "keyword2", + ["os/rename"] = "keyword2", + ["os/rm"] = "keyword2", + ["os/rmdir"] = "keyword2", + ["os/setenv"] = "keyword2", + ["os/shell"] = "keyword2", + ["os/sigaction"] = "keyword2", + ["os/sleep"] = "keyword2", + ["os/spawn"] = "keyword2", + ["os/stat"] = "keyword2", + ["os/strftime"] = "keyword2", + ["os/symlink"] = "keyword2", + ["os/time"] = "keyword2", + ["os/touch"] = "keyword2", + ["os/umask"] = "keyword2", + ["os/which"] = "keyword2", + ["pairs"] = "keyword2", + ["parse"] = "keyword2", + ["parse-all"] = "keyword2", + ["parser/byte"] = "keyword2", + ["parser/clone"] = "keyword2", + ["parser/consume"] = "keyword2", + ["parser/eof"] = "keyword2", + ["parser/error"] = "keyword2", + ["parser/flush"] = "keyword2", + ["parser/has-more"] = "keyword2", + ["parser/insert"] = "keyword2", + ["parser/new"] = "keyword2", + ["parser/produce"] = "keyword2", + ["parser/state"] = "keyword2", + ["parser/status"] = "keyword2", + ["parser/where"] = "keyword2", + ["partial"] = "keyword2", + ["partition"] = "keyword2", + ["partition-by"] = "keyword2", + ["peg/compile"] = "keyword2", + ["peg/find"] = "keyword2", + ["peg/find-all"] = "keyword2", + ["peg/match"] = "keyword2", + ["peg/replace"] = "keyword2", + ["peg/replace-all"] = "keyword2", + ["pos?"] = "keyword2", + ["postwalk"] = "keyword2", + ["pp"] = "keyword2", + ["prewalk"] = "keyword2", + ["prin"] = "keyword2", + ["prinf"] = "keyword2", + ["print"] = "keyword2", + ["printf"] = "keyword2", + ["product"] = "keyword2", + ["prompt"] = "keyword2", + ["propagate"] = "keyword2", + ["protect"] = "keyword2", + ["put"] = "keyword2", + ["put-in"] = "keyword2", + ["quit"] = "keyword2", + ["range"] = "keyword2", + ["reduce"] = "keyword2", + ["reduce2"] = "keyword2", + ["repeat"] = "keyword2", + ["repl"] = "keyword2", + ["require"] = "keyword2", + ["resume"] = "keyword2", + ["return"] = "keyword2", + ["reverse"] = "keyword2", + ["reverse!"] = "keyword2", + ["root-env"] = "keyword2", + ["run-context"] = "keyword2", + ["sandbox"] = "keyword2", + ["scan-number"] = "keyword2", + ["seq"] = "keyword2", + ["setdyn"] = "keyword2", + ["short-fn"] = "keyword2", + ["signal"] = "keyword2", + ["slice"] = "keyword2", + ["slurp"] = "keyword2", + ["some"] = "keyword2", + ["sort"] = "keyword2", + ["sort-by"] = "keyword2", + ["sorted"] = "keyword2", + ["sorted-by"] = "keyword2", + ["spit"] = "keyword2", + ["stderr"] = "keyword2", + ["stdin"] = "keyword2", + ["stdout"] = "keyword2", + ["string"] = "keyword2", + ["string/ascii-lower"] = "keyword2", + ["string/ascii-upper"] = "keyword2", + ["string/bytes"] = "keyword2", + ["string/check-set"] = "keyword2", + ["string/find"] = "keyword2", + ["string/find-all"] = "keyword2", + ["string/format"] = "keyword2", + ["string/from-bytes"] = "keyword2", + ["string/has-prefix?"] = "keyword2", + ["string/has-suffix?"] = "keyword2", + ["string/join"] = "keyword2", + ["string/repeat"] = "keyword2", + ["string/replace"] = "keyword2", + ["string/replace-all"] = "keyword2", + ["string/reverse"] = "keyword2", + ["string/slice"] = "keyword2", + ["string/split"] = "keyword2", + ["string/trim"] = "keyword2", + ["string/triml"] = "keyword2", + ["string/trimr"] = "keyword2", + ["string?"] = "keyword2", + ["struct"] = "keyword2", + ["struct/getproto"] = "keyword2", + ["struct/proto-flatten"] = "keyword2", + ["struct/to-table"] = "keyword2", + ["struct/with-proto"] = "keyword2", + ["struct?"] = "keyword2", + ["sum"] = "keyword2", + ["symbol"] = "keyword2", + ["symbol/slice"] = "keyword2", + ["symbol?"] = "keyword2", + ["table"] = "keyword2", + ["table/clear"] = "keyword2", + ["table/clone"] = "keyword2", + ["table/getproto"] = "keyword2", + ["table/new"] = "keyword2", + ["table/proto-flatten"] = "keyword2", + ["table/rawget"] = "keyword2", + ["table/setproto"] = "keyword2", + ["table/to-struct"] = "keyword2", + ["table/weak"] = "keyword2", + ["table/weak-keys"] = "keyword2", + ["table/weak-values"] = "keyword2", + ["table?"] = "keyword2", + ["tabseq"] = "keyword2", + ["take"] = "keyword2", + ["take-until"] = "keyword2", + ["take-while"] = "keyword2", + ["thaw"] = "keyword2", + ["toggle"] = "keyword2", + ["trace"] = "keyword2", + ["tracev"] = "keyword2", + ["true?"] = "keyword2", + ["truthy?"] = "keyword2", + ["try"] = "keyword2", + ["tuple"] = "keyword2", + ["tuple/brackets"] = "keyword2", + ["tuple/setmap"] = "keyword2", + ["tuple/slice"] = "keyword2", + ["tuple/sourcemap"] = "keyword2", + ["tuple/type"] = "keyword2", + ["tuple?"] = "keyword2", + ["type"] = "keyword2", + ["unless"] = "keyword2", + ["unmarshal"] = "keyword2", + ["untrace"] = "keyword2", + ["update"] = "keyword2", + ["update-in"] = "keyword2", + ["use"] = "keyword2", + ["values"] = "keyword2", + ["var-"] = "keyword2", + ["varfn"] = "keyword2", + ["varglobal"] = "keyword2", + ["walk"] = "keyword2", + ["warn-compile"] = "keyword2", + ["when"] = "keyword2", + ["when-let"] = "keyword2", + ["when-with"] = "keyword2", + ["with"] = "keyword2", + ["with-dyns"] = "keyword2", + ["with-syms"] = "keyword2", + ["with-vars"] = "keyword2", + ["xprin"] = "keyword2", + ["xprinf"] = "keyword2", + ["xprint"] = "keyword2", + ["xprintf"] = "keyword2", + ["yield"] = "keyword2", + ["zero?"] = "keyword2", + ["zipcoll"] = "keyword2", + + ["+"] = "keyword", + ["++"] = "keyword", + ["+="] = "keyword", + ["-"] = "keyword", + ["--"] = "keyword", + ["-="] = "keyword", + ["->"] = "keyword", + ["->>"] = "keyword", + ["-?>"] = "keyword", + ["-?>>"] = "keyword", + ["/"] = "keyword", + ["/="] = "keyword", + ["<"] = "keyword", + ["<="] = "keyword", + ["="] = "keyword", + [">"] = "keyword", + [">="] = "keyword", + ["%"] = "keyword", + ["%="] = "keyword", + ["*"] = "keyword", + ["*="] = "keyword", + } +}