tp top-level property
Language
tp
final
Implementation
final tp = Language(
id: "tp",
refs: {
'~contains~0~contains~2': Mode(
className: "symbol",
begin: ":[^\\]]+",
),
'~contains~0~contains~1': Mode(
className: "number",
begin: "[1-9][0-9]*",
relevance: 0,
),
},
name: "TP",
keywords: {
"keyword": [
"ABORT",
"ACC",
"ADJUST",
"AND",
"AP_LD",
"BREAK",
"CALL",
"CNT",
"COL",
"CONDITION",
"CONFIG",
"DA",
"DB",
"DIV",
"DETECT",
"ELSE",
"END",
"ENDFOR",
"ERR_NUM",
"ERROR_PROG",
"FINE",
"FOR",
"GP",
"GUARD",
"INC",
"IF",
"JMP",
"LINEAR_MAX_SPEED",
"LOCK",
"MOD",
"MONITOR",
"OFFSET",
"Offset",
"OR",
"OVERRIDE",
"PAUSE",
"PREG",
"PTH",
"RT_LD",
"RUN",
"SELECT",
"SKIP",
"Skip",
"TA",
"TB",
"TO",
"TOOL_OFFSET",
"Tool_Offset",
"UF",
"UT",
"UFRAME_NUM",
"UTOOL_NUM",
"UNLOCK",
"WAIT",
"X",
"Y",
"Z",
"W",
"P",
"R",
"STRLEN",
"SUBSTR",
"FINDSTR",
"VOFFSET",
"PROG",
"ATTR",
"MN",
"POS"
],
"literal": [
"ON",
"OFF",
"max_speed",
"LPOS",
"JPOS",
"ENABLE",
"DISABLE",
"START",
"STOP",
"RESET"
]
},
contains: [
Mode(
className: "built_in",
begin:
"(AR|P|PAYLOAD|PR|R|SR|RSR|LBL|VR|UALM|MESSAGE|UTOOL|UFRAME|TIMER|TIMER_OVERFLOW|JOINT_MAX_SPEED|RESUME_PROG|DIAG_REC)\\[",
end: "\\]",
contains: [
ModeSelfReference(),
ModeReference('~contains~0~contains~1'),
ModeReference('~contains~0~contains~2'),
],
),
Mode(
className: "built_in",
begin: "(AI|AO|DI|DO|F|RI|RO|UI|UO|GI|GO|SI|SO)\\[",
end: "\\]",
contains: [
ModeSelfReference(),
ModeReference('~contains~0~contains~1'),
QUOTE_STRING_MODE,
ModeReference('~contains~0~contains~2'),
],
),
Mode(
className: "keyword",
begin: "/(PROG|ATTR|MN|POS|END)\\b",
),
Mode(
className: "keyword",
begin: "(CALL|RUN|POINT_LOGIC|LBL)\\b",
),
Mode(
className: "keyword",
begin: "\\b(ACC|CNT|Skip|Offset|PSPD|RT_LD|AP_LD|Tool_Offset)",
),
Mode(
className: "number",
begin: "\\d+(sec|msec|mm/sec|cm/min|inch/min|deg/sec|mm|in|cm)?\\b",
relevance: 0,
),
Mode(
scope: "comment",
begin: "//",
end: "[;\$]",
contains: [
Mode(
scope: "doctag",
begin: "[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",
end: "(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):",
excludeBegin: true,
relevance: 0,
),
Mode(
begin:
"[ ]+((?:I|a|is|so|us|to|at|if|in|it|on|[A-Za-z]+['](d|ve|re|ll|t|s|n)|[A-Za-z]+[-][a-z]+|[A-Za-z][a-z]{2,})[.]?[:]?([.][ ]|[ ])){3}",
),
],
),
Mode(
scope: "comment",
begin: "!",
end: "[;\$]",
contains: [
Mode(
scope: "doctag",
begin: "[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",
end: "(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):",
excludeBegin: true,
relevance: 0,
),
Mode(
begin:
"[ ]+((?:I|a|is|so|us|to|at|if|in|it|on|[A-Za-z]+['](d|ve|re|ll|t|s|n)|[A-Za-z]+[-][a-z]+|[A-Za-z][a-z]{2,})[.]?[:]?([.][ ]|[ ])){3}",
),
],
),
Mode(
scope: "comment",
begin: "--eg:",
end: "\$",
contains: [
Mode(
scope: "doctag",
begin: "[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",
end: "(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):",
excludeBegin: true,
relevance: 0,
),
Mode(
begin:
"[ ]+((?:I|a|is|so|us|to|at|if|in|it|on|[A-Za-z]+['](d|ve|re|ll|t|s|n)|[A-Za-z]+[-][a-z]+|[A-Za-z][a-z]{2,})[.]?[:]?([.][ ]|[ ])){3}",
),
],
),
QUOTE_STRING_MODE,
Mode(
className: "string",
begin: "'",
end: "'",
),
C_NUMBER_MODE,
Mode(
className: "variable",
begin: "\\\$[A-Za-z0-9_]+",
),
],
);