lasso top-level property
Language
lasso
final
Implementation
final lasso = Language(
id: "lasso",
refs: {
'~contains~3~starts~contains~9': Mode(
variants: [
Mode(
begin: "[#\$][a-zA-Z_][\\w.]*",
),
Mode(
begin: "#",
end: "\\d+",
illegal: "\\W",
),
],
),
'~contains~3~starts~contains~8': Mode(
className: "string",
begin: "`",
end: "`",
),
'~contains~3~starts~contains~7': Mode(
scope: "string",
begin: "\"",
end: "\"",
illegal: null,
contains: [
BACKSLASH_ESCAPE,
],
),
'~contains~3~starts~contains~6': Mode(
scope: "string",
begin: "'",
end: "'",
illegal: null,
contains: [
BACKSLASH_ESCAPE,
],
),
'~contains~3~starts~contains~5': Mode(
scope: "number",
begin:
"(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)|(-?infinity|NaN)\\b",
relevance: 0,
),
'~contains~3~starts~contains~13': Mode(
className: "class",
beginKeywords: "define",
returnEnd: true,
end: "\\(|=>",
contains: [
Mode(
scope: "title",
begin: "[a-zA-Z_][\\w.]*(=(?!>))?|[-+*/%](?!>)",
relevance: 0,
),
],
),
'~contains~3~starts~contains~12': Mode(
begin: "(->|\\.)\\s*",
relevance: 0,
contains: [
Mode(
className: "symbol",
begin: "'[a-zA-Z_][\\w.]*'",
),
],
),
'~contains~3~starts~contains~11': Mode(
className: "params",
variants: [
Mode(
begin: "-(?!infinity)[a-zA-Z_][\\w.]*",
relevance: 0,
),
Mode(
begin: "(\\.\\.\\.)",
),
],
),
'~contains~3~starts~contains~10': Mode(
className: "type",
begin: "::\\s*",
end: "[a-zA-Z_][\\w.]*",
illegal: "\\W",
),
'~contains~2': Mode(
className: "meta",
begin: "\\[/noprocess|<\\?(lasso(script)?|=)",
),
'~contains~1': Mode(
className: "meta",
begin: "\\[noprocess\\]",
starts: Mode(
end: "\\[/noprocess\\]",
returnEnd: true,
contains: [
ModeReference('~contains~0~starts~contains~0'),
],
),
),
'~contains~0~starts~contains~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}",
),
],
relevance: 0,
),
},
name: "Lasso",
aliases: ["ls", "lassoscript"],
case_insensitive: true,
keywords: {
"\$pattern": "[a-zA-Z_][\\w.]*|&[lg]t;",
"literal":
"true false none minimal full all void and or not bw nbw ew new cn ncn lt lte gt gte eq neq rx nrx ft",
"built_in":
"array date decimal duration integer map pair string tag xml null boolean bytes keyword list locale queue set stack staticarray local var variable global data self inherited currentcapture givenblock",
"keyword":
"cache database_names database_schemanames database_tablenames define_tag define_type email_batch encode_set html_comment handle handle_error header if inline iterate ljax_target link link_currentaction link_currentgroup link_currentrecord link_detail link_firstgroup link_firstrecord link_lastgroup link_lastrecord link_nextgroup link_nextrecord link_prevgroup link_prevrecord log loop namespace_using output_none portal private protect records referer referrer repeating resultset rows search_args search_arguments select sort_args sort_arguments thread_atomic value_list while abort case else fail_if fail_ifnot fail if_empty if_false if_null if_true loop_abort loop_continue loop_count params params_up return return_value run_children soap_definetag soap_lastrequest soap_lastresponse tag_name ascending average by define descending do equals frozen group handle_failure import in into join let match max min on order parent protected provide public require returnhome skip split_thread sum take thread to trait type where with yield yieldhome"
},
contains: [
Mode(
className: "meta",
begin: "\\]|\\?>",
relevance: 0,
starts: Mode(
end: "\\[|<\\?(lasso(script)?|=)",
returnEnd: true,
relevance: 0,
contains: [
ModeReference('~contains~0~starts~contains~0'),
],
),
),
ModeReference('~contains~1'),
ModeReference('~contains~2'),
Mode(
className: "meta",
begin: "\\[no_square_brackets",
starts: Mode(
end: "\\[/no_square_brackets\\]",
keywords: {
"\$pattern": "[a-zA-Z_][\\w.]*|&[lg]t;",
"literal":
"true false none minimal full all void and or not bw nbw ew new cn ncn lt lte gt gte eq neq rx nrx ft",
"built_in":
"array date decimal duration integer map pair string tag xml null boolean bytes keyword list locale queue set stack staticarray local var variable global data self inherited currentcapture givenblock",
"keyword":
"cache database_names database_schemanames database_tablenames define_tag define_type email_batch encode_set html_comment handle handle_error header if inline iterate ljax_target link link_currentaction link_currentgroup link_currentrecord link_detail link_firstgroup link_firstrecord link_lastgroup link_lastrecord link_nextgroup link_nextrecord link_prevgroup link_prevrecord log loop namespace_using output_none portal private protect records referer referrer repeating resultset rows search_args search_arguments select sort_args sort_arguments thread_atomic value_list while abort case else fail_if fail_ifnot fail if_empty if_false if_null if_true loop_abort loop_continue loop_count params params_up return return_value run_children soap_definetag soap_lastrequest soap_lastresponse tag_name ascending average by define descending do equals frozen group handle_failure import in into join let match max min on order parent protected provide public require returnhome skip split_thread sum take thread to trait type where with yield yieldhome"
},
contains: [
Mode(
className: "meta",
begin: "\\]|\\?>",
relevance: 0,
starts: Mode(
end: "\\[noprocess\\]|<\\?(lasso(script)?|=)",
returnEnd: true,
contains: [
ModeReference('~contains~0~starts~contains~0'),
],
),
),
ModeReference('~contains~1'),
ModeReference('~contains~2'),
C_LINE_COMMENT_MODE,
C_BLOCK_COMMENT_MODE,
ModeReference('~contains~3~starts~contains~5'),
ModeReference('~contains~3~starts~contains~6'),
ModeReference('~contains~3~starts~contains~7'),
ModeReference('~contains~3~starts~contains~8'),
ModeReference('~contains~3~starts~contains~9'),
ModeReference('~contains~3~starts~contains~10'),
ModeReference('~contains~3~starts~contains~11'),
ModeReference('~contains~3~starts~contains~12'),
ModeReference('~contains~3~starts~contains~13'),
],
),
),
Mode(
className: "meta",
begin: "\\[",
relevance: 0,
),
Mode(
className: "meta",
begin: "^#!",
end: "lasso9\$",
relevance: 10,
),
C_LINE_COMMENT_MODE,
C_BLOCK_COMMENT_MODE,
ModeReference('~contains~3~starts~contains~5'),
ModeReference('~contains~3~starts~contains~6'),
ModeReference('~contains~3~starts~contains~7'),
ModeReference('~contains~3~starts~contains~8'),
ModeReference('~contains~3~starts~contains~9'),
ModeReference('~contains~3~starts~contains~10'),
ModeReference('~contains~3~starts~contains~11'),
ModeReference('~contains~3~starts~contains~12'),
ModeReference('~contains~3~starts~contains~13'),
],
);