Skip to content

Instantly share code, notes, and snippets.

@howmanysmall
Created May 9, 2020 23:38
Show Gist options
  • Save howmanysmall/a19e47ddbac6e9b2d216936d5f7de29d to your computer and use it in GitHub Desktop.
Save howmanysmall/a19e47ddbac6e9b2d216936d5f7de29d to your computer and use it in GitHub Desktop.
local syntax = require("core.syntax")
syntax.add{
files = {"%.lp$", "%.lh$"};
comment = "//";
patterns = {
{pattern = "//.-\n", type = "comment"};
{pattern = {"/%*", "%*/"}, type = "comment"};
{pattern = {"#", "[^\\]\n"}, type = "comment"};
{pattern = {"L\"", "\"", "\\"}, type = "string"};
-- good god
{pattern = "%s*@%s*[%w_]+", type = "string"};
{pattern = "%s*~>%s*[%w_]+", type = "string"};
{pattern = {"'", "'", "\\"}, type = "string"};
{pattern = "-?0x%x+", type = "number"};
{pattern = "-?%d+[%d%.eE]*f?", type = "number"};
{pattern = "0x[%da-fA-F]+", type = "number"};
{pattern = "-?%.?%d+f?", type = "number"};
{pattern = "[%+%-=/%*%^%%<>!~|&]", type = "operator"};
{pattern = "[%a_][%w_]*%f[(%s~@]", type = "function"};
{pattern = "[%a_][%w_]*", type = "symbol"};
};
symbols = {
["typedef"] = "keyword";
["return"] = "keyword";
["elseif"] = "keyword";
["else"] = "keyword";
["iterate"] = "keyword";
["while"] = "keyword";
["break"] = "keyword";
["continue"] = "keyword";
["class"] = "keyword";
["public"] = "keyword";
["protected"] = "keyword";
["private"] = "keyword";
["with"] = "keyword";
["__lua"] = "keyword";
["using"] = "keyword";
["extern"] = "keyword";
["fenv"] = "keyword";
["free"] = "keyword";
["if"] = "keyword";
["const"] = "keyword2";
["entry"] = "keyword";
["volatile"] = "keyword2";
["Abs"] = "keyword";
["Rad"] = "keyword";
["Deg"] = "keyword";
["Floor"] = "keyword";
["Ceil"] = "keyword";
["Pow"] = "keyword";
["Clamp"] = "keyword";
["Pi"] = "literal";
["Inf"] = "literal";
["len"] = "keyword";
["offset"] = "keyword";
["sizeof"] = "keyword";
["false"] = "literal";
["true"] = "literal";
["int"] = "keyword2";
["char"] = "keyword2";
["short"] = "keyword2";
["float"] = "keyword2";
["double"] = "keyword2";
["void"] = "keyword2";
["bool"] = "keyword2";
["RbxInstance"] = "keyword2";
["table"] = "keyword2";
["LuaString"] = "keyword2";
["Tuple"] = "keyword2";
["nil"] = "keyword2";
["script"] = "literal";
["game"] = "literal";
["workspace"] = "literal";
["Enum"] = "literal";
["plugin"] = "literal";
["shared"] = "literal";
["_G"] = "literal";
["_VERSION"] = "literal";
["Axes"] = "keyword2";
["BrickColor"] = "keyword2";
["CellId"] = "keyword2";
["CFrame"] = "keyword2";
["Color3"] = "keyword2";
["ColorSequence"] = "keyword2";
["ColorSequenceKeypoint"] = "keyword2";
["DateTime"] = "keyword2";
["DockWidgetPluginGuiInfo"] = "keyword2";
["Faces"] = "keyword2";
["Instance"] = "keyword2";
["NumberRange"] = "keyword2";
["NumberSequence"] = "keyword2";
["NumberSequenceKeypoint"] = "keyword2";
["PathWaypoint"] = "keyword2";
["PhysicalProperties"] = "keyword2";
["PluginDrag"] = "keyword2";
["Random"] = "keyword2";
["Ray"] = "keyword2";
["RaycastParams"] = "keyword2";
["Rect"] = "keyword2";
["Region3"] = "keyword2";
["Region3int16"] = "keyword2";
["TweenInfo"] = "keyword2";
["UDim"] = "keyword2";
["UDim2"] = "keyword2";
["Vector2"] = "keyword2";
["Vector2int16"] = "keyword2";
["Vector3"] = "keyword2";
["Vector3int16"] = "keyword2";
["bit32"] = "keyword2";
["coroutine"] = "keyword2";
["debug"] = "keyword2";
["math"] = "keyword2";
["os"] = "keyword2";
["string"] = "keyword2";
["utf8"] = "keyword2";
};
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment