123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317 |
- /*!-----------------------------------------------------------------------------
- * Copyright (c) Microsoft Corporation. All rights reserved.
- * Version: 0.31.1(337587859b1c171314b40503171188b6cea6a32a)
- * Released under the MIT license
- * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
- *-----------------------------------------------------------------------------*/
- // src/basic-languages/abap/abap.ts
- var conf = {
- comments: {
- lineComment: "*"
- },
- brackets: [
- ["[", "]"],
- ["(", ")"]
- ]
- };
- var language = {
- defaultToken: "invalid",
- ignoreCase: true,
- tokenPostfix: ".abap",
- keywords: [
- "abap-source",
- "abbreviated",
- "abstract",
- "accept",
- "accepting",
- "according",
- "activation",
- "actual",
- "add",
- "add-corresponding",
- "adjacent",
- "after",
- "alias",
- "aliases",
- "align",
- "all",
- "allocate",
- "alpha",
- "analysis",
- "analyzer",
- "and",
- "append",
- "appendage",
- "appending",
- "application",
- "archive",
- "area",
- "arithmetic",
- "as",
- "ascending",
- "aspect",
- "assert",
- "assign",
- "assigned",
- "assigning",
- "association",
- "asynchronous",
- "at",
- "attributes",
- "authority",
- "authority-check",
- "avg",
- "back",
- "background",
- "backup",
- "backward",
- "badi",
- "base",
- "before",
- "begin",
- "between",
- "big",
- "binary",
- "bintohex",
- "bit",
- "black",
- "blank",
- "blanks",
- "blob",
- "block",
- "blocks",
- "blue",
- "bound",
- "boundaries",
- "bounds",
- "boxed",
- "break-point",
- "buffer",
- "by",
- "bypassing",
- "byte",
- "byte-order",
- "call",
- "calling",
- "case",
- "cast",
- "casting",
- "catch",
- "center",
- "centered",
- "chain",
- "chain-input",
- "chain-request",
- "change",
- "changing",
- "channels",
- "character",
- "char-to-hex",
- "check",
- "checkbox",
- "ci_",
- "circular",
- "class",
- "class-coding",
- "class-data",
- "class-events",
- "class-methods",
- "class-pool",
- "cleanup",
- "clear",
- "client",
- "clob",
- "clock",
- "close",
- "coalesce",
- "code",
- "coding",
- "col_background",
- "col_group",
- "col_heading",
- "col_key",
- "col_negative",
- "col_normal",
- "col_positive",
- "col_total",
- "collect",
- "color",
- "column",
- "columns",
- "comment",
- "comments",
- "commit",
- "common",
- "communication",
- "comparing",
- "component",
- "components",
- "compression",
- "compute",
- "concat",
- "concat_with_space",
- "concatenate",
- "cond",
- "condense",
- "condition",
- "connect",
- "connection",
- "constants",
- "context",
- "contexts",
- "continue",
- "control",
- "controls",
- "conv",
- "conversion",
- "convert",
- "copies",
- "copy",
- "corresponding",
- "country",
- "cover",
- "cpi",
- "create",
- "creating",
- "critical",
- "currency",
- "currency_conversion",
- "current",
- "cursor",
- "cursor-selection",
- "customer",
- "customer-function",
- "dangerous",
- "data",
- "database",
- "datainfo",
- "dataset",
- "date",
- "dats_add_days",
- "dats_add_months",
- "dats_days_between",
- "dats_is_valid",
- "daylight",
- "dd/mm/yy",
- "dd/mm/yyyy",
- "ddmmyy",
- "deallocate",
- "decimal_shift",
- "decimals",
- "declarations",
- "deep",
- "default",
- "deferred",
- "define",
- "defining",
- "definition",
- "delete",
- "deleting",
- "demand",
- "department",
- "descending",
- "describe",
- "destination",
- "detail",
- "dialog",
- "directory",
- "disconnect",
- "display",
- "display-mode",
- "distinct",
- "divide",
- "divide-corresponding",
- "division",
- "do",
- "dummy",
- "duplicate",
- "duplicates",
- "duration",
- "during",
- "dynamic",
- "dynpro",
- "edit",
- "editor-call",
- "else",
- "elseif",
- "empty",
- "enabled",
- "enabling",
- "encoding",
- "end",
- "endat",
- "endcase",
- "endcatch",
- "endchain",
- "endclass",
- "enddo",
- "endenhancement",
- "end-enhancement-section",
- "endexec",
- "endform",
- "endfunction",
- "endian",
- "endif",
- "ending",
- "endinterface",
- "end-lines",
- "endloop",
- "endmethod",
- "endmodule",
- "end-of-definition",
- "end-of-editing",
- "end-of-file",
- "end-of-page",
- "end-of-selection",
- "endon",
- "endprovide",
- "endselect",
- "end-test-injection",
- "end-test-seam",
- "endtry",
- "endwhile",
- "endwith",
- "engineering",
- "enhancement",
- "enhancement-point",
- "enhancements",
- "enhancement-section",
- "entries",
- "entry",
- "enum",
- "environment",
- "equiv",
- "errormessage",
- "errors",
- "escaping",
- "event",
- "events",
- "exact",
- "except",
- "exception",
- "exceptions",
- "exception-table",
- "exclude",
- "excluding",
- "exec",
- "execute",
- "exists",
- "exit",
- "exit-command",
- "expand",
- "expanding",
- "expiration",
- "explicit",
- "exponent",
- "export",
- "exporting",
- "extend",
- "extended",
- "extension",
- "extract",
- "fail",
- "fetch",
- "field",
- "field-groups",
- "fields",
- "field-symbol",
- "field-symbols",
- "file",
- "filter",
- "filters",
- "filter-table",
- "final",
- "find",
- "first",
- "first-line",
- "fixed-point",
- "fkeq",
- "fkge",
- "flush",
- "font",
- "for",
- "form",
- "format",
- "forward",
- "found",
- "frame",
- "frames",
- "free",
- "friends",
- "from",
- "function",
- "functionality",
- "function-pool",
- "further",
- "gaps",
- "generate",
- "get",
- "giving",
- "gkeq",
- "gkge",
- "global",
- "grant",
- "green",
- "group",
- "groups",
- "handle",
- "handler",
- "harmless",
- "hashed",
- "having",
- "hdb",
- "header",
- "headers",
- "heading",
- "head-lines",
- "help-id",
- "help-request",
- "hextobin",
- "hide",
- "high",
- "hint",
- "hold",
- "hotspot",
- "icon",
- "id",
- "identification",
- "identifier",
- "ids",
- "if",
- "ignore",
- "ignoring",
- "immediately",
- "implementation",
- "implementations",
- "implemented",
- "implicit",
- "import",
- "importing",
- "in",
- "inactive",
- "incl",
- "include",
- "includes",
- "including",
- "increment",
- "index",
- "index-line",
- "infotypes",
- "inheriting",
- "init",
- "initial",
- "initialization",
- "inner",
- "inout",
- "input",
- "insert",
- "instance",
- "instances",
- "instr",
- "intensified",
- "interface",
- "interface-pool",
- "interfaces",
- "internal",
- "intervals",
- "into",
- "inverse",
- "inverted-date",
- "is",
- "iso",
- "job",
- "join",
- "keep",
- "keeping",
- "kernel",
- "key",
- "keys",
- "keywords",
- "kind",
- "language",
- "last",
- "late",
- "layout",
- "leading",
- "leave",
- "left",
- "left-justified",
- "leftplus",
- "leftspace",
- "legacy",
- "length",
- "let",
- "level",
- "levels",
- "like",
- "line",
- "lines",
- "line-count",
- "linefeed",
- "line-selection",
- "line-size",
- "list",
- "listbox",
- "list-processing",
- "little",
- "llang",
- "load",
- "load-of-program",
- "lob",
- "local",
- "locale",
- "locator",
- "logfile",
- "logical",
- "log-point",
- "long",
- "loop",
- "low",
- "lower",
- "lpad",
- "lpi",
- "ltrim",
- "mail",
- "main",
- "major-id",
- "mapping",
- "margin",
- "mark",
- "mask",
- "match",
- "matchcode",
- "max",
- "maximum",
- "medium",
- "members",
- "memory",
- "mesh",
- "message",
- "message-id",
- "messages",
- "messaging",
- "method",
- "methods",
- "min",
- "minimum",
- "minor-id",
- "mm/dd/yy",
- "mm/dd/yyyy",
- "mmddyy",
- "mode",
- "modif",
- "modifier",
- "modify",
- "module",
- "move",
- "move-corresponding",
- "multiply",
- "multiply-corresponding",
- "name",
- "nametab",
- "native",
- "nested",
- "nesting",
- "new",
- "new-line",
- "new-page",
- "new-section",
- "next",
- "no",
- "no-display",
- "no-extension",
- "no-gap",
- "no-gaps",
- "no-grouping",
- "no-heading",
- "no-scrolling",
- "no-sign",
- "no-title",
- "no-topofpage",
- "no-zero",
- "node",
- "nodes",
- "non-unicode",
- "non-unique",
- "not",
- "null",
- "number",
- "object",
- "objects",
- "obligatory",
- "occurrence",
- "occurrences",
- "occurs",
- "of",
- "off",
- "offset",
- "ole",
- "on",
- "only",
- "open",
- "option",
- "optional",
- "options",
- "or",
- "order",
- "other",
- "others",
- "out",
- "outer",
- "output",
- "output-length",
- "overflow",
- "overlay",
- "pack",
- "package",
- "pad",
- "padding",
- "page",
- "pages",
- "parameter",
- "parameters",
- "parameter-table",
- "part",
- "partially",
- "pattern",
- "percentage",
- "perform",
- "performing",
- "person",
- "pf1",
- "pf10",
- "pf11",
- "pf12",
- "pf13",
- "pf14",
- "pf15",
- "pf2",
- "pf3",
- "pf4",
- "pf5",
- "pf6",
- "pf7",
- "pf8",
- "pf9",
- "pf-status",
- "pink",
- "places",
- "pool",
- "pos_high",
- "pos_low",
- "position",
- "pragmas",
- "precompiled",
- "preferred",
- "preserving",
- "primary",
- "print",
- "print-control",
- "priority",
- "private",
- "procedure",
- "process",
- "program",
- "property",
- "protected",
- "provide",
- "public",
- "push",
- "pushbutton",
- "put",
- "queue-only",
- "quickinfo",
- "radiobutton",
- "raise",
- "raising",
- "range",
- "ranges",
- "read",
- "reader",
- "read-only",
- "receive",
- "received",
- "receiver",
- "receiving",
- "red",
- "redefinition",
- "reduce",
- "reduced",
- "ref",
- "reference",
- "refresh",
- "regex",
- "reject",
- "remote",
- "renaming",
- "replace",
- "replacement",
- "replacing",
- "report",
- "request",
- "requested",
- "reserve",
- "reset",
- "resolution",
- "respecting",
- "responsible",
- "result",
- "results",
- "resumable",
- "resume",
- "retry",
- "return",
- "returncode",
- "returning",
- "returns",
- "right",
- "right-justified",
- "rightplus",
- "rightspace",
- "risk",
- "rmc_communication_failure",
- "rmc_invalid_status",
- "rmc_system_failure",
- "role",
- "rollback",
- "rows",
- "rpad",
- "rtrim",
- "run",
- "sap",
- "sap-spool",
- "saving",
- "scale_preserving",
- "scale_preserving_scientific",
- "scan",
- "scientific",
- "scientific_with_leading_zero",
- "scroll",
- "scroll-boundary",
- "scrolling",
- "search",
- "secondary",
- "seconds",
- "section",
- "select",
- "selection",
- "selections",
- "selection-screen",
- "selection-set",
- "selection-sets",
- "selection-table",
- "select-options",
- "send",
- "separate",
- "separated",
- "set",
- "shared",
- "shift",
- "short",
- "shortdump-id",
- "sign_as_postfix",
- "single",
- "size",
- "skip",
- "skipping",
- "smart",
- "some",
- "sort",
- "sortable",
- "sorted",
- "source",
- "specified",
- "split",
- "spool",
- "spots",
- "sql",
- "sqlscript",
- "stable",
- "stamp",
- "standard",
- "starting",
- "start-of-editing",
- "start-of-selection",
- "state",
- "statement",
- "statements",
- "static",
- "statics",
- "statusinfo",
- "step-loop",
- "stop",
- "structure",
- "structures",
- "style",
- "subkey",
- "submatches",
- "submit",
- "subroutine",
- "subscreen",
- "subtract",
- "subtract-corresponding",
- "suffix",
- "sum",
- "summary",
- "summing",
- "supplied",
- "supply",
- "suppress",
- "switch",
- "switchstates",
- "symbol",
- "syncpoints",
- "syntax",
- "syntax-check",
- "syntax-trace",
- "system-call",
- "system-exceptions",
- "system-exit",
- "tab",
- "tabbed",
- "table",
- "tables",
- "tableview",
- "tabstrip",
- "target",
- "task",
- "tasks",
- "test",
- "testing",
- "test-injection",
- "test-seam",
- "text",
- "textpool",
- "then",
- "throw",
- "time",
- "times",
- "timestamp",
- "timezone",
- "tims_is_valid",
- "title",
- "titlebar",
- "title-lines",
- "to",
- "tokenization",
- "tokens",
- "top-lines",
- "top-of-page",
- "trace-file",
- "trace-table",
- "trailing",
- "transaction",
- "transfer",
- "transformation",
- "translate",
- "transporting",
- "trmac",
- "truncate",
- "truncation",
- "try",
- "tstmp_add_seconds",
- "tstmp_current_utctimestamp",
- "tstmp_is_valid",
- "tstmp_seconds_between",
- "type",
- "type-pool",
- "type-pools",
- "types",
- "uline",
- "unassign",
- "under",
- "unicode",
- "union",
- "unique",
- "unit_conversion",
- "unix",
- "unpack",
- "until",
- "unwind",
- "up",
- "update",
- "upper",
- "user",
- "user-command",
- "using",
- "utf-8",
- "valid",
- "value",
- "value-request",
- "values",
- "vary",
- "varying",
- "verification-message",
- "version",
- "via",
- "view",
- "visible",
- "wait",
- "warning",
- "when",
- "whenever",
- "where",
- "while",
- "width",
- "window",
- "windows",
- "with",
- "with-heading",
- "without",
- "with-title",
- "word",
- "work",
- "write",
- "writer",
- "xml",
- "xsd",
- "yellow",
- "yes",
- "yymmdd",
- "zero",
- "zone",
- "abap_system_timezone",
- "abap_user_timezone",
- "access",
- "action",
- "adabas",
- "adjust_numbers",
- "allow_precision_loss",
- "allowed",
- "amdp",
- "applicationuser",
- "as_geo_json",
- "as400",
- "associations",
- "balance",
- "behavior",
- "breakup",
- "bulk",
- "cds",
- "cds_client",
- "check_before_save",
- "child",
- "clients",
- "corr",
- "corr_spearman",
- "cross",
- "cycles",
- "datn_add_days",
- "datn_add_months",
- "datn_days_between",
- "dats_from_datn",
- "dats_tims_to_tstmp",
- "dats_to_datn",
- "db2",
- "db6",
- "ddl",
- "dense_rank",
- "depth",
- "deterministic",
- "discarding",
- "entities",
- "entity",
- "error",
- "failed",
- "finalize",
- "first_value",
- "fltp_to_dec",
- "following",
- "fractional",
- "full",
- "graph",
- "grouping",
- "hierarchy",
- "hierarchy_ancestors",
- "hierarchy_ancestors_aggregate",
- "hierarchy_descendants",
- "hierarchy_descendants_aggregate",
- "hierarchy_siblings",
- "incremental",
- "indicators",
- "lag",
- "last_value",
- "lead",
- "leaves",
- "like_regexpr",
- "link",
- "locale_sap",
- "lock",
- "locks",
- "many",
- "mapped",
- "matched",
- "measures",
- "median",
- "mssqlnt",
- "multiple",
- "nodetype",
- "ntile",
- "nulls",
- "occurrences_regexpr",
- "one",
- "operations",
- "oracle",
- "orphans",
- "over",
- "parent",
- "parents",
- "partition",
- "pcre",
- "period",
- "pfcg_mapping",
- "preceding",
- "privileged",
- "product",
- "projection",
- "rank",
- "redirected",
- "replace_regexpr",
- "reported",
- "response",
- "responses",
- "root",
- "row",
- "row_number",
- "sap_system_date",
- "save",
- "schema",
- "session",
- "sets",
- "shortdump",
- "siblings",
- "spantree",
- "start",
- "stddev",
- "string_agg",
- "subtotal",
- "sybase",
- "tims_from_timn",
- "tims_to_timn",
- "to_blob",
- "to_clob",
- "total",
- "trace-entry",
- "tstmp_to_dats",
- "tstmp_to_dst",
- "tstmp_to_tims",
- "tstmpl_from_utcl",
- "tstmpl_to_utcl",
- "unbounded",
- "utcl_add_seconds",
- "utcl_current",
- "utcl_seconds_between",
- "uuid",
- "var",
- "verbatim"
- ],
- builtinFunctions: [
- "abs",
- "acos",
- "asin",
- "atan",
- "bit-set",
- "boolc",
- "boolx",
- "ceil",
- "char_off",
- "charlen",
- "cmax",
- "cmin",
- "concat_lines_of",
- "contains",
- "contains_any_not_of",
- "contains_any_of",
- "cos",
- "cosh",
- "count",
- "count_any_not_of",
- "count_any_of",
- "dbmaxlen",
- "distance",
- "escape",
- "exp",
- "find_any_not_of",
- "find_any_of",
- "find_end",
- "floor",
- "frac",
- "from_mixed",
- "ipow",
- "line_exists",
- "line_index",
- "log",
- "log10",
- "matches",
- "nmax",
- "nmin",
- "numofchar",
- "repeat",
- "rescale",
- "reverse",
- "round",
- "segment",
- "shift_left",
- "shift_right",
- "sign",
- "sin",
- "sinh",
- "sqrt",
- "strlen",
- "substring",
- "substring_after",
- "substring_before",
- "substring_from",
- "substring_to",
- "tan",
- "tanh",
- "to_lower",
- "to_mixed",
- "to_upper",
- "trunc",
- "utclong_add",
- "utclong_current",
- "utclong_diff",
- "xsdbool",
- "xstrlen"
- ],
- typeKeywords: [
- "b",
- "c",
- "d",
- "decfloat16",
- "decfloat34",
- "f",
- "i",
- "int8",
- "n",
- "p",
- "s",
- "string",
- "t",
- "utclong",
- "x",
- "xstring",
- "any",
- "clike",
- "csequence",
- "decfloat",
- "numeric",
- "simple",
- "xsequence",
- "accp",
- "char",
- "clnt",
- "cuky",
- "curr",
- "datn",
- "dats",
- "d16d",
- "d16n",
- "d16r",
- "d34d",
- "d34n",
- "d34r",
- "dec",
- "df16_dec",
- "df16_raw",
- "df34_dec",
- "df34_raw",
- "fltp",
- "geom_ewkb",
- "int1",
- "int2",
- "int4",
- "lang",
- "lchr",
- "lraw",
- "numc",
- "quan",
- "raw",
- "rawstring",
- "sstring",
- "timn",
- "tims",
- "unit",
- "utcl",
- "df16_scl",
- "df34_scl",
- "prec",
- "varc",
- "abap_bool",
- "abap_false",
- "abap_true",
- "abap_undefined",
- "me",
- "screen",
- "space",
- "super",
- "sy",
- "syst",
- "table_line",
- "*sys*"
- ],
- builtinMethods: ["class_constructor", "constructor"],
- derivedTypes: [
- "%CID",
- "%CID_REF",
- "%CONTROL",
- "%DATA",
- "%ELEMENT",
- "%FAIL",
- "%KEY",
- "%MSG",
- "%PARAM",
- "%PID",
- "%PID_ASSOC",
- "%PID_PARENT",
- "%_HINTS"
- ],
- cdsLanguage: [
- "@AbapAnnotation",
- "@AbapCatalog",
- "@AccessControl",
- "@API",
- "@ClientDependent",
- "@ClientHandling",
- "@CompatibilityContract",
- "@DataAging",
- "@EndUserText",
- "@Environment",
- "@LanguageDependency",
- "@MappingRole",
- "@Metadata",
- "@MetadataExtension",
- "@ObjectModel",
- "@Scope",
- "@Semantics",
- "$EXTENSION",
- "$SELF"
- ],
- selectors: ["->", "->*", "=>", "~", "~*"],
- operators: [
- " +",
- " -",
- "/",
- "*",
- "**",
- "div",
- "mod",
- "=",
- "#",
- "@",
- "+=",
- "-=",
- "*=",
- "/=",
- "**=",
- "&&=",
- "?=",
- "&",
- "&&",
- "bit-and",
- "bit-not",
- "bit-or",
- "bit-xor",
- "m",
- "o",
- "z",
- "<",
- " >",
- "<=",
- ">=",
- "<>",
- "><",
- "=<",
- "=>",
- "bt",
- "byte-ca",
- "byte-cn",
- "byte-co",
- "byte-cs",
- "byte-na",
- "byte-ns",
- "ca",
- "cn",
- "co",
- "cp",
- "cs",
- "eq",
- "ge",
- "gt",
- "le",
- "lt",
- "na",
- "nb",
- "ne",
- "np",
- "ns",
- "*/",
- "*:",
- "--",
- "/*",
- "//"
- ],
- symbols: /[=><!~?&+\-*\/\^%#@]+/,
- tokenizer: {
- root: [
- [
- /[a-z_\/$%@]([\w\/$%]|-(?!>))*/,
- {
- cases: {
- "@typeKeywords": "type",
- "@keywords": "keyword",
- "@cdsLanguage": "annotation",
- "@derivedTypes": "type",
- "@builtinFunctions": "type",
- "@builtinMethods": "type",
- "@operators": "key",
- "@default": "identifier"
- }
- }
- ],
- [/<[\w]+>/, "identifier"],
- [/##[\w|_]+/, "comment"],
- { include: "@whitespace" },
- [/[:,.]/, "delimiter"],
- [/[{}()\[\]]/, "@brackets"],
- [
- /@symbols/,
- {
- cases: {
- "@selectors": "tag",
- "@operators": "key",
- "@default": ""
- }
- }
- ],
- [/'/, { token: "string", bracket: "@open", next: "@stringquote" }],
- [/`/, { token: "string", bracket: "@open", next: "@stringping" }],
- [/\|/, { token: "string", bracket: "@open", next: "@stringtemplate" }],
- [/\d+/, "number"]
- ],
- stringtemplate: [
- [/[^\\\|]+/, "string"],
- [/\\\|/, "string"],
- [/\|/, { token: "string", bracket: "@close", next: "@pop" }]
- ],
- stringping: [
- [/[^\\`]+/, "string"],
- [/`/, { token: "string", bracket: "@close", next: "@pop" }]
- ],
- stringquote: [
- [/[^\\']+/, "string"],
- [/'/, { token: "string", bracket: "@close", next: "@pop" }]
- ],
- whitespace: [
- [/[ \t\r\n]+/, ""],
- [/^\*.*$/, "comment"],
- [/\".*$/, "comment"]
- ]
- }
- };
- export {
- conf,
- language
- };
|