Skip to content

Instantly share code, notes, and snippets.

@markround
Created February 6, 2022 20:48
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save markround/8657bab8450d6ee7aeb64eb1c591844b to your computer and use it in GitHub Desktop.
Save markround/8657bab8450d6ee7aeb64eb1c591844b to your computer and use it in GitHub Desktop.
LiteXL Syntax for Spectrum BASIC
-- mod-version:1 -- lite-xl 1.16
local syntax = require "core.syntax"
syntax.add {
files = { "%.bas$" },
comment = "",
patterns = {
{ pattern = "//.-\n", type = "comment" },
{ pattern = { "/%*", "%*/" }, type = "comment" },
{ pattern = { '"', '"', '\\' }, type = "string" },
{ pattern = { "'", "'", '\\' }, type = "string" },
{ pattern = "-?%.?%d+", type = "number" },
{ pattern = "%.%.%.?", type = "operator" },
{ pattern = "[<>!=]=", type = "operator" },
{ pattern = "[%+%-=/%*%^%%<>!~|&?:]", type = "operator" },
{ pattern = "[%a_][%w_]*%s*%f[(\"{]", type = "function" },
{ pattern = "[%a_][%w_]*", type = "symbol" },
},
symbols = {
["abs"] = "keyword",
["acs"] = "keyword",
["and"] = "keyword2",
["asn"] = "keyword",
["at"] = "keyword2",
["atn"] = "keyword",
["attr"] = "keyword",
["beep"] = "keyword",
["bin"] = "keyword2",
["border"] = "keyword",
["bright"] = "keyword",
["cat"] = "keyword",
["chr$"] = "keyword",
["circle"] = "keyword",
["clear"] = "keyword",
["close"] = "keyword",
["cls"] = "keyword",
["code"] = "keyword2",
["continue"] = "keyword",
["copy"] = "keyword",
["cos"] = "keyword",
["data"] = "keyword",
["def fn"] = "keyword",
["dim"] = "keyword",
["draw"] = "keyword",
["erase"] = "keyword",
["exp"] = "keyword",
["flash"] = "keyword",
["fn"] = "keyword",
["format"] = "keyword",
["for"] = "keyword",
["gosub"] = "keyword",
["go sub"] = "keyword",
["goto"] = "keyword",
["go to"] = "keyword",
["if"] = "keyword",
["in"] = "keyword",
["ink"] = "keyword",
["inkey$"] = "keyword",
["input"] = "keyword",
["int"] = "keyword",
["inverse"] = "keyword",
["len"] = "keyword",
["let"] = "keyword",
["line"] = "keyword",
["list"] = "keyword",
["llist"] = "keyword",
["ln"] = "keyword",
["load"] = "keyword",
["lprint"] = "keyword",
["merge"] = "keyword",
["move"] = "keyword",
["new"] = "keyword",
["next"] = "keyword",
["not"] = "literal",
["open"] = "keyword",
["or"] = "literal",
["out"] = "keyword",
["over"] = "keyword",
["paper"] = "keyword",
["pause"] = "keyword",
["peek"] = "keyword",
["pi"] = "literal",
["plot"] = "keyword",
["point"] = "keyword",
["poke"] = "keyword",
["print"] = "keyword",
["randomize"] = "keyword",
["read"] = "keyword",
["rem"] = "keyword",
["restore"] = "keyword",
["return"] = "keyword",
["rnd"] = "keyword",
["run"] = "keyword",
["save"] = "keyword",
["screen$"] = "keyword",
["sgn"] = "keyword",
["sin"] = "keyword",
["step"] = "keyword2",
["stop"] = "keyword",
["sqr"] = "keyword",
["str$"] = "keyword",
["tab"] = "keyword2",
["tan"] = "keyword",
["then"] = "keyword2",
["to"] = "keyword2",
["usr"] = "keyword",
["val"] = "keyword",
["val$"] = "keyword",
["verify"] = "keyword",
},
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment