abnf top-level property
Language
abnf
final
Implementation
final abnf = Language(
id: "abnf",
refs: {},
name: "Augmented Backus-Naur Form",
illegal: "[!@#\$^&',?+\\x7e`|:]",
keywords: [
"ALPHA",
"BIT",
"CHAR",
"CR",
"CRLF",
"CTL",
"DIGIT",
"DQUOTE",
"HEXDIG",
"HTAB",
"LF",
"LWSP",
"OCTET",
"SP",
"VCHAR",
"WSP"
],
contains: [
Mode(
scope: "operator",
match: "=\\/?",
),
Mode(
scope: "attribute",
match: "^[a-zA-Z][a-zA-Z0-9-]*(?=\\s*=)",
),
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: "symbol",
match: "%b[0-1]+(-[0-1]+|(\\.[0-1]+)+)?",
),
Mode(
scope: "symbol",
match: "%d[0-9]+(-[0-9]+|(\\.[0-9]+)+)?",
),
Mode(
scope: "symbol",
match: "%x[0-9A-F]+(-[0-9A-F]+|(\\.[0-9A-F]+)+)?",
),
Mode(
scope: "symbol",
match: "%[si](?=\".*\")",
),
QUOTE_STRING_MODE,
NUMBER_MODE,
],
);