abap.js 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317
  1. /*!-----------------------------------------------------------------------------
  2. * Copyright (c) Microsoft Corporation. All rights reserved.
  3. * Version: 0.31.1(337587859b1c171314b40503171188b6cea6a32a)
  4. * Released under the MIT license
  5. * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
  6. *-----------------------------------------------------------------------------*/
  7. // src/basic-languages/abap/abap.ts
  8. var conf = {
  9. comments: {
  10. lineComment: "*"
  11. },
  12. brackets: [
  13. ["[", "]"],
  14. ["(", ")"]
  15. ]
  16. };
  17. var language = {
  18. defaultToken: "invalid",
  19. ignoreCase: true,
  20. tokenPostfix: ".abap",
  21. keywords: [
  22. "abap-source",
  23. "abbreviated",
  24. "abstract",
  25. "accept",
  26. "accepting",
  27. "according",
  28. "activation",
  29. "actual",
  30. "add",
  31. "add-corresponding",
  32. "adjacent",
  33. "after",
  34. "alias",
  35. "aliases",
  36. "align",
  37. "all",
  38. "allocate",
  39. "alpha",
  40. "analysis",
  41. "analyzer",
  42. "and",
  43. "append",
  44. "appendage",
  45. "appending",
  46. "application",
  47. "archive",
  48. "area",
  49. "arithmetic",
  50. "as",
  51. "ascending",
  52. "aspect",
  53. "assert",
  54. "assign",
  55. "assigned",
  56. "assigning",
  57. "association",
  58. "asynchronous",
  59. "at",
  60. "attributes",
  61. "authority",
  62. "authority-check",
  63. "avg",
  64. "back",
  65. "background",
  66. "backup",
  67. "backward",
  68. "badi",
  69. "base",
  70. "before",
  71. "begin",
  72. "between",
  73. "big",
  74. "binary",
  75. "bintohex",
  76. "bit",
  77. "black",
  78. "blank",
  79. "blanks",
  80. "blob",
  81. "block",
  82. "blocks",
  83. "blue",
  84. "bound",
  85. "boundaries",
  86. "bounds",
  87. "boxed",
  88. "break-point",
  89. "buffer",
  90. "by",
  91. "bypassing",
  92. "byte",
  93. "byte-order",
  94. "call",
  95. "calling",
  96. "case",
  97. "cast",
  98. "casting",
  99. "catch",
  100. "center",
  101. "centered",
  102. "chain",
  103. "chain-input",
  104. "chain-request",
  105. "change",
  106. "changing",
  107. "channels",
  108. "character",
  109. "char-to-hex",
  110. "check",
  111. "checkbox",
  112. "ci_",
  113. "circular",
  114. "class",
  115. "class-coding",
  116. "class-data",
  117. "class-events",
  118. "class-methods",
  119. "class-pool",
  120. "cleanup",
  121. "clear",
  122. "client",
  123. "clob",
  124. "clock",
  125. "close",
  126. "coalesce",
  127. "code",
  128. "coding",
  129. "col_background",
  130. "col_group",
  131. "col_heading",
  132. "col_key",
  133. "col_negative",
  134. "col_normal",
  135. "col_positive",
  136. "col_total",
  137. "collect",
  138. "color",
  139. "column",
  140. "columns",
  141. "comment",
  142. "comments",
  143. "commit",
  144. "common",
  145. "communication",
  146. "comparing",
  147. "component",
  148. "components",
  149. "compression",
  150. "compute",
  151. "concat",
  152. "concat_with_space",
  153. "concatenate",
  154. "cond",
  155. "condense",
  156. "condition",
  157. "connect",
  158. "connection",
  159. "constants",
  160. "context",
  161. "contexts",
  162. "continue",
  163. "control",
  164. "controls",
  165. "conv",
  166. "conversion",
  167. "convert",
  168. "copies",
  169. "copy",
  170. "corresponding",
  171. "country",
  172. "cover",
  173. "cpi",
  174. "create",
  175. "creating",
  176. "critical",
  177. "currency",
  178. "currency_conversion",
  179. "current",
  180. "cursor",
  181. "cursor-selection",
  182. "customer",
  183. "customer-function",
  184. "dangerous",
  185. "data",
  186. "database",
  187. "datainfo",
  188. "dataset",
  189. "date",
  190. "dats_add_days",
  191. "dats_add_months",
  192. "dats_days_between",
  193. "dats_is_valid",
  194. "daylight",
  195. "dd/mm/yy",
  196. "dd/mm/yyyy",
  197. "ddmmyy",
  198. "deallocate",
  199. "decimal_shift",
  200. "decimals",
  201. "declarations",
  202. "deep",
  203. "default",
  204. "deferred",
  205. "define",
  206. "defining",
  207. "definition",
  208. "delete",
  209. "deleting",
  210. "demand",
  211. "department",
  212. "descending",
  213. "describe",
  214. "destination",
  215. "detail",
  216. "dialog",
  217. "directory",
  218. "disconnect",
  219. "display",
  220. "display-mode",
  221. "distinct",
  222. "divide",
  223. "divide-corresponding",
  224. "division",
  225. "do",
  226. "dummy",
  227. "duplicate",
  228. "duplicates",
  229. "duration",
  230. "during",
  231. "dynamic",
  232. "dynpro",
  233. "edit",
  234. "editor-call",
  235. "else",
  236. "elseif",
  237. "empty",
  238. "enabled",
  239. "enabling",
  240. "encoding",
  241. "end",
  242. "endat",
  243. "endcase",
  244. "endcatch",
  245. "endchain",
  246. "endclass",
  247. "enddo",
  248. "endenhancement",
  249. "end-enhancement-section",
  250. "endexec",
  251. "endform",
  252. "endfunction",
  253. "endian",
  254. "endif",
  255. "ending",
  256. "endinterface",
  257. "end-lines",
  258. "endloop",
  259. "endmethod",
  260. "endmodule",
  261. "end-of-definition",
  262. "end-of-editing",
  263. "end-of-file",
  264. "end-of-page",
  265. "end-of-selection",
  266. "endon",
  267. "endprovide",
  268. "endselect",
  269. "end-test-injection",
  270. "end-test-seam",
  271. "endtry",
  272. "endwhile",
  273. "endwith",
  274. "engineering",
  275. "enhancement",
  276. "enhancement-point",
  277. "enhancements",
  278. "enhancement-section",
  279. "entries",
  280. "entry",
  281. "enum",
  282. "environment",
  283. "equiv",
  284. "errormessage",
  285. "errors",
  286. "escaping",
  287. "event",
  288. "events",
  289. "exact",
  290. "except",
  291. "exception",
  292. "exceptions",
  293. "exception-table",
  294. "exclude",
  295. "excluding",
  296. "exec",
  297. "execute",
  298. "exists",
  299. "exit",
  300. "exit-command",
  301. "expand",
  302. "expanding",
  303. "expiration",
  304. "explicit",
  305. "exponent",
  306. "export",
  307. "exporting",
  308. "extend",
  309. "extended",
  310. "extension",
  311. "extract",
  312. "fail",
  313. "fetch",
  314. "field",
  315. "field-groups",
  316. "fields",
  317. "field-symbol",
  318. "field-symbols",
  319. "file",
  320. "filter",
  321. "filters",
  322. "filter-table",
  323. "final",
  324. "find",
  325. "first",
  326. "first-line",
  327. "fixed-point",
  328. "fkeq",
  329. "fkge",
  330. "flush",
  331. "font",
  332. "for",
  333. "form",
  334. "format",
  335. "forward",
  336. "found",
  337. "frame",
  338. "frames",
  339. "free",
  340. "friends",
  341. "from",
  342. "function",
  343. "functionality",
  344. "function-pool",
  345. "further",
  346. "gaps",
  347. "generate",
  348. "get",
  349. "giving",
  350. "gkeq",
  351. "gkge",
  352. "global",
  353. "grant",
  354. "green",
  355. "group",
  356. "groups",
  357. "handle",
  358. "handler",
  359. "harmless",
  360. "hashed",
  361. "having",
  362. "hdb",
  363. "header",
  364. "headers",
  365. "heading",
  366. "head-lines",
  367. "help-id",
  368. "help-request",
  369. "hextobin",
  370. "hide",
  371. "high",
  372. "hint",
  373. "hold",
  374. "hotspot",
  375. "icon",
  376. "id",
  377. "identification",
  378. "identifier",
  379. "ids",
  380. "if",
  381. "ignore",
  382. "ignoring",
  383. "immediately",
  384. "implementation",
  385. "implementations",
  386. "implemented",
  387. "implicit",
  388. "import",
  389. "importing",
  390. "in",
  391. "inactive",
  392. "incl",
  393. "include",
  394. "includes",
  395. "including",
  396. "increment",
  397. "index",
  398. "index-line",
  399. "infotypes",
  400. "inheriting",
  401. "init",
  402. "initial",
  403. "initialization",
  404. "inner",
  405. "inout",
  406. "input",
  407. "insert",
  408. "instance",
  409. "instances",
  410. "instr",
  411. "intensified",
  412. "interface",
  413. "interface-pool",
  414. "interfaces",
  415. "internal",
  416. "intervals",
  417. "into",
  418. "inverse",
  419. "inverted-date",
  420. "is",
  421. "iso",
  422. "job",
  423. "join",
  424. "keep",
  425. "keeping",
  426. "kernel",
  427. "key",
  428. "keys",
  429. "keywords",
  430. "kind",
  431. "language",
  432. "last",
  433. "late",
  434. "layout",
  435. "leading",
  436. "leave",
  437. "left",
  438. "left-justified",
  439. "leftplus",
  440. "leftspace",
  441. "legacy",
  442. "length",
  443. "let",
  444. "level",
  445. "levels",
  446. "like",
  447. "line",
  448. "lines",
  449. "line-count",
  450. "linefeed",
  451. "line-selection",
  452. "line-size",
  453. "list",
  454. "listbox",
  455. "list-processing",
  456. "little",
  457. "llang",
  458. "load",
  459. "load-of-program",
  460. "lob",
  461. "local",
  462. "locale",
  463. "locator",
  464. "logfile",
  465. "logical",
  466. "log-point",
  467. "long",
  468. "loop",
  469. "low",
  470. "lower",
  471. "lpad",
  472. "lpi",
  473. "ltrim",
  474. "mail",
  475. "main",
  476. "major-id",
  477. "mapping",
  478. "margin",
  479. "mark",
  480. "mask",
  481. "match",
  482. "matchcode",
  483. "max",
  484. "maximum",
  485. "medium",
  486. "members",
  487. "memory",
  488. "mesh",
  489. "message",
  490. "message-id",
  491. "messages",
  492. "messaging",
  493. "method",
  494. "methods",
  495. "min",
  496. "minimum",
  497. "minor-id",
  498. "mm/dd/yy",
  499. "mm/dd/yyyy",
  500. "mmddyy",
  501. "mode",
  502. "modif",
  503. "modifier",
  504. "modify",
  505. "module",
  506. "move",
  507. "move-corresponding",
  508. "multiply",
  509. "multiply-corresponding",
  510. "name",
  511. "nametab",
  512. "native",
  513. "nested",
  514. "nesting",
  515. "new",
  516. "new-line",
  517. "new-page",
  518. "new-section",
  519. "next",
  520. "no",
  521. "no-display",
  522. "no-extension",
  523. "no-gap",
  524. "no-gaps",
  525. "no-grouping",
  526. "no-heading",
  527. "no-scrolling",
  528. "no-sign",
  529. "no-title",
  530. "no-topofpage",
  531. "no-zero",
  532. "node",
  533. "nodes",
  534. "non-unicode",
  535. "non-unique",
  536. "not",
  537. "null",
  538. "number",
  539. "object",
  540. "objects",
  541. "obligatory",
  542. "occurrence",
  543. "occurrences",
  544. "occurs",
  545. "of",
  546. "off",
  547. "offset",
  548. "ole",
  549. "on",
  550. "only",
  551. "open",
  552. "option",
  553. "optional",
  554. "options",
  555. "or",
  556. "order",
  557. "other",
  558. "others",
  559. "out",
  560. "outer",
  561. "output",
  562. "output-length",
  563. "overflow",
  564. "overlay",
  565. "pack",
  566. "package",
  567. "pad",
  568. "padding",
  569. "page",
  570. "pages",
  571. "parameter",
  572. "parameters",
  573. "parameter-table",
  574. "part",
  575. "partially",
  576. "pattern",
  577. "percentage",
  578. "perform",
  579. "performing",
  580. "person",
  581. "pf1",
  582. "pf10",
  583. "pf11",
  584. "pf12",
  585. "pf13",
  586. "pf14",
  587. "pf15",
  588. "pf2",
  589. "pf3",
  590. "pf4",
  591. "pf5",
  592. "pf6",
  593. "pf7",
  594. "pf8",
  595. "pf9",
  596. "pf-status",
  597. "pink",
  598. "places",
  599. "pool",
  600. "pos_high",
  601. "pos_low",
  602. "position",
  603. "pragmas",
  604. "precompiled",
  605. "preferred",
  606. "preserving",
  607. "primary",
  608. "print",
  609. "print-control",
  610. "priority",
  611. "private",
  612. "procedure",
  613. "process",
  614. "program",
  615. "property",
  616. "protected",
  617. "provide",
  618. "public",
  619. "push",
  620. "pushbutton",
  621. "put",
  622. "queue-only",
  623. "quickinfo",
  624. "radiobutton",
  625. "raise",
  626. "raising",
  627. "range",
  628. "ranges",
  629. "read",
  630. "reader",
  631. "read-only",
  632. "receive",
  633. "received",
  634. "receiver",
  635. "receiving",
  636. "red",
  637. "redefinition",
  638. "reduce",
  639. "reduced",
  640. "ref",
  641. "reference",
  642. "refresh",
  643. "regex",
  644. "reject",
  645. "remote",
  646. "renaming",
  647. "replace",
  648. "replacement",
  649. "replacing",
  650. "report",
  651. "request",
  652. "requested",
  653. "reserve",
  654. "reset",
  655. "resolution",
  656. "respecting",
  657. "responsible",
  658. "result",
  659. "results",
  660. "resumable",
  661. "resume",
  662. "retry",
  663. "return",
  664. "returncode",
  665. "returning",
  666. "returns",
  667. "right",
  668. "right-justified",
  669. "rightplus",
  670. "rightspace",
  671. "risk",
  672. "rmc_communication_failure",
  673. "rmc_invalid_status",
  674. "rmc_system_failure",
  675. "role",
  676. "rollback",
  677. "rows",
  678. "rpad",
  679. "rtrim",
  680. "run",
  681. "sap",
  682. "sap-spool",
  683. "saving",
  684. "scale_preserving",
  685. "scale_preserving_scientific",
  686. "scan",
  687. "scientific",
  688. "scientific_with_leading_zero",
  689. "scroll",
  690. "scroll-boundary",
  691. "scrolling",
  692. "search",
  693. "secondary",
  694. "seconds",
  695. "section",
  696. "select",
  697. "selection",
  698. "selections",
  699. "selection-screen",
  700. "selection-set",
  701. "selection-sets",
  702. "selection-table",
  703. "select-options",
  704. "send",
  705. "separate",
  706. "separated",
  707. "set",
  708. "shared",
  709. "shift",
  710. "short",
  711. "shortdump-id",
  712. "sign_as_postfix",
  713. "single",
  714. "size",
  715. "skip",
  716. "skipping",
  717. "smart",
  718. "some",
  719. "sort",
  720. "sortable",
  721. "sorted",
  722. "source",
  723. "specified",
  724. "split",
  725. "spool",
  726. "spots",
  727. "sql",
  728. "sqlscript",
  729. "stable",
  730. "stamp",
  731. "standard",
  732. "starting",
  733. "start-of-editing",
  734. "start-of-selection",
  735. "state",
  736. "statement",
  737. "statements",
  738. "static",
  739. "statics",
  740. "statusinfo",
  741. "step-loop",
  742. "stop",
  743. "structure",
  744. "structures",
  745. "style",
  746. "subkey",
  747. "submatches",
  748. "submit",
  749. "subroutine",
  750. "subscreen",
  751. "subtract",
  752. "subtract-corresponding",
  753. "suffix",
  754. "sum",
  755. "summary",
  756. "summing",
  757. "supplied",
  758. "supply",
  759. "suppress",
  760. "switch",
  761. "switchstates",
  762. "symbol",
  763. "syncpoints",
  764. "syntax",
  765. "syntax-check",
  766. "syntax-trace",
  767. "system-call",
  768. "system-exceptions",
  769. "system-exit",
  770. "tab",
  771. "tabbed",
  772. "table",
  773. "tables",
  774. "tableview",
  775. "tabstrip",
  776. "target",
  777. "task",
  778. "tasks",
  779. "test",
  780. "testing",
  781. "test-injection",
  782. "test-seam",
  783. "text",
  784. "textpool",
  785. "then",
  786. "throw",
  787. "time",
  788. "times",
  789. "timestamp",
  790. "timezone",
  791. "tims_is_valid",
  792. "title",
  793. "titlebar",
  794. "title-lines",
  795. "to",
  796. "tokenization",
  797. "tokens",
  798. "top-lines",
  799. "top-of-page",
  800. "trace-file",
  801. "trace-table",
  802. "trailing",
  803. "transaction",
  804. "transfer",
  805. "transformation",
  806. "translate",
  807. "transporting",
  808. "trmac",
  809. "truncate",
  810. "truncation",
  811. "try",
  812. "tstmp_add_seconds",
  813. "tstmp_current_utctimestamp",
  814. "tstmp_is_valid",
  815. "tstmp_seconds_between",
  816. "type",
  817. "type-pool",
  818. "type-pools",
  819. "types",
  820. "uline",
  821. "unassign",
  822. "under",
  823. "unicode",
  824. "union",
  825. "unique",
  826. "unit_conversion",
  827. "unix",
  828. "unpack",
  829. "until",
  830. "unwind",
  831. "up",
  832. "update",
  833. "upper",
  834. "user",
  835. "user-command",
  836. "using",
  837. "utf-8",
  838. "valid",
  839. "value",
  840. "value-request",
  841. "values",
  842. "vary",
  843. "varying",
  844. "verification-message",
  845. "version",
  846. "via",
  847. "view",
  848. "visible",
  849. "wait",
  850. "warning",
  851. "when",
  852. "whenever",
  853. "where",
  854. "while",
  855. "width",
  856. "window",
  857. "windows",
  858. "with",
  859. "with-heading",
  860. "without",
  861. "with-title",
  862. "word",
  863. "work",
  864. "write",
  865. "writer",
  866. "xml",
  867. "xsd",
  868. "yellow",
  869. "yes",
  870. "yymmdd",
  871. "zero",
  872. "zone",
  873. "abap_system_timezone",
  874. "abap_user_timezone",
  875. "access",
  876. "action",
  877. "adabas",
  878. "adjust_numbers",
  879. "allow_precision_loss",
  880. "allowed",
  881. "amdp",
  882. "applicationuser",
  883. "as_geo_json",
  884. "as400",
  885. "associations",
  886. "balance",
  887. "behavior",
  888. "breakup",
  889. "bulk",
  890. "cds",
  891. "cds_client",
  892. "check_before_save",
  893. "child",
  894. "clients",
  895. "corr",
  896. "corr_spearman",
  897. "cross",
  898. "cycles",
  899. "datn_add_days",
  900. "datn_add_months",
  901. "datn_days_between",
  902. "dats_from_datn",
  903. "dats_tims_to_tstmp",
  904. "dats_to_datn",
  905. "db2",
  906. "db6",
  907. "ddl",
  908. "dense_rank",
  909. "depth",
  910. "deterministic",
  911. "discarding",
  912. "entities",
  913. "entity",
  914. "error",
  915. "failed",
  916. "finalize",
  917. "first_value",
  918. "fltp_to_dec",
  919. "following",
  920. "fractional",
  921. "full",
  922. "graph",
  923. "grouping",
  924. "hierarchy",
  925. "hierarchy_ancestors",
  926. "hierarchy_ancestors_aggregate",
  927. "hierarchy_descendants",
  928. "hierarchy_descendants_aggregate",
  929. "hierarchy_siblings",
  930. "incremental",
  931. "indicators",
  932. "lag",
  933. "last_value",
  934. "lead",
  935. "leaves",
  936. "like_regexpr",
  937. "link",
  938. "locale_sap",
  939. "lock",
  940. "locks",
  941. "many",
  942. "mapped",
  943. "matched",
  944. "measures",
  945. "median",
  946. "mssqlnt",
  947. "multiple",
  948. "nodetype",
  949. "ntile",
  950. "nulls",
  951. "occurrences_regexpr",
  952. "one",
  953. "operations",
  954. "oracle",
  955. "orphans",
  956. "over",
  957. "parent",
  958. "parents",
  959. "partition",
  960. "pcre",
  961. "period",
  962. "pfcg_mapping",
  963. "preceding",
  964. "privileged",
  965. "product",
  966. "projection",
  967. "rank",
  968. "redirected",
  969. "replace_regexpr",
  970. "reported",
  971. "response",
  972. "responses",
  973. "root",
  974. "row",
  975. "row_number",
  976. "sap_system_date",
  977. "save",
  978. "schema",
  979. "session",
  980. "sets",
  981. "shortdump",
  982. "siblings",
  983. "spantree",
  984. "start",
  985. "stddev",
  986. "string_agg",
  987. "subtotal",
  988. "sybase",
  989. "tims_from_timn",
  990. "tims_to_timn",
  991. "to_blob",
  992. "to_clob",
  993. "total",
  994. "trace-entry",
  995. "tstmp_to_dats",
  996. "tstmp_to_dst",
  997. "tstmp_to_tims",
  998. "tstmpl_from_utcl",
  999. "tstmpl_to_utcl",
  1000. "unbounded",
  1001. "utcl_add_seconds",
  1002. "utcl_current",
  1003. "utcl_seconds_between",
  1004. "uuid",
  1005. "var",
  1006. "verbatim"
  1007. ],
  1008. builtinFunctions: [
  1009. "abs",
  1010. "acos",
  1011. "asin",
  1012. "atan",
  1013. "bit-set",
  1014. "boolc",
  1015. "boolx",
  1016. "ceil",
  1017. "char_off",
  1018. "charlen",
  1019. "cmax",
  1020. "cmin",
  1021. "concat_lines_of",
  1022. "contains",
  1023. "contains_any_not_of",
  1024. "contains_any_of",
  1025. "cos",
  1026. "cosh",
  1027. "count",
  1028. "count_any_not_of",
  1029. "count_any_of",
  1030. "dbmaxlen",
  1031. "distance",
  1032. "escape",
  1033. "exp",
  1034. "find_any_not_of",
  1035. "find_any_of",
  1036. "find_end",
  1037. "floor",
  1038. "frac",
  1039. "from_mixed",
  1040. "ipow",
  1041. "line_exists",
  1042. "line_index",
  1043. "log",
  1044. "log10",
  1045. "matches",
  1046. "nmax",
  1047. "nmin",
  1048. "numofchar",
  1049. "repeat",
  1050. "rescale",
  1051. "reverse",
  1052. "round",
  1053. "segment",
  1054. "shift_left",
  1055. "shift_right",
  1056. "sign",
  1057. "sin",
  1058. "sinh",
  1059. "sqrt",
  1060. "strlen",
  1061. "substring",
  1062. "substring_after",
  1063. "substring_before",
  1064. "substring_from",
  1065. "substring_to",
  1066. "tan",
  1067. "tanh",
  1068. "to_lower",
  1069. "to_mixed",
  1070. "to_upper",
  1071. "trunc",
  1072. "utclong_add",
  1073. "utclong_current",
  1074. "utclong_diff",
  1075. "xsdbool",
  1076. "xstrlen"
  1077. ],
  1078. typeKeywords: [
  1079. "b",
  1080. "c",
  1081. "d",
  1082. "decfloat16",
  1083. "decfloat34",
  1084. "f",
  1085. "i",
  1086. "int8",
  1087. "n",
  1088. "p",
  1089. "s",
  1090. "string",
  1091. "t",
  1092. "utclong",
  1093. "x",
  1094. "xstring",
  1095. "any",
  1096. "clike",
  1097. "csequence",
  1098. "decfloat",
  1099. "numeric",
  1100. "simple",
  1101. "xsequence",
  1102. "accp",
  1103. "char",
  1104. "clnt",
  1105. "cuky",
  1106. "curr",
  1107. "datn",
  1108. "dats",
  1109. "d16d",
  1110. "d16n",
  1111. "d16r",
  1112. "d34d",
  1113. "d34n",
  1114. "d34r",
  1115. "dec",
  1116. "df16_dec",
  1117. "df16_raw",
  1118. "df34_dec",
  1119. "df34_raw",
  1120. "fltp",
  1121. "geom_ewkb",
  1122. "int1",
  1123. "int2",
  1124. "int4",
  1125. "lang",
  1126. "lchr",
  1127. "lraw",
  1128. "numc",
  1129. "quan",
  1130. "raw",
  1131. "rawstring",
  1132. "sstring",
  1133. "timn",
  1134. "tims",
  1135. "unit",
  1136. "utcl",
  1137. "df16_scl",
  1138. "df34_scl",
  1139. "prec",
  1140. "varc",
  1141. "abap_bool",
  1142. "abap_false",
  1143. "abap_true",
  1144. "abap_undefined",
  1145. "me",
  1146. "screen",
  1147. "space",
  1148. "super",
  1149. "sy",
  1150. "syst",
  1151. "table_line",
  1152. "*sys*"
  1153. ],
  1154. builtinMethods: ["class_constructor", "constructor"],
  1155. derivedTypes: [
  1156. "%CID",
  1157. "%CID_REF",
  1158. "%CONTROL",
  1159. "%DATA",
  1160. "%ELEMENT",
  1161. "%FAIL",
  1162. "%KEY",
  1163. "%MSG",
  1164. "%PARAM",
  1165. "%PID",
  1166. "%PID_ASSOC",
  1167. "%PID_PARENT",
  1168. "%_HINTS"
  1169. ],
  1170. cdsLanguage: [
  1171. "@AbapAnnotation",
  1172. "@AbapCatalog",
  1173. "@AccessControl",
  1174. "@API",
  1175. "@ClientDependent",
  1176. "@ClientHandling",
  1177. "@CompatibilityContract",
  1178. "@DataAging",
  1179. "@EndUserText",
  1180. "@Environment",
  1181. "@LanguageDependency",
  1182. "@MappingRole",
  1183. "@Metadata",
  1184. "@MetadataExtension",
  1185. "@ObjectModel",
  1186. "@Scope",
  1187. "@Semantics",
  1188. "$EXTENSION",
  1189. "$SELF"
  1190. ],
  1191. selectors: ["->", "->*", "=>", "~", "~*"],
  1192. operators: [
  1193. " +",
  1194. " -",
  1195. "/",
  1196. "*",
  1197. "**",
  1198. "div",
  1199. "mod",
  1200. "=",
  1201. "#",
  1202. "@",
  1203. "+=",
  1204. "-=",
  1205. "*=",
  1206. "/=",
  1207. "**=",
  1208. "&&=",
  1209. "?=",
  1210. "&",
  1211. "&&",
  1212. "bit-and",
  1213. "bit-not",
  1214. "bit-or",
  1215. "bit-xor",
  1216. "m",
  1217. "o",
  1218. "z",
  1219. "<",
  1220. " >",
  1221. "<=",
  1222. ">=",
  1223. "<>",
  1224. "><",
  1225. "=<",
  1226. "=>",
  1227. "bt",
  1228. "byte-ca",
  1229. "byte-cn",
  1230. "byte-co",
  1231. "byte-cs",
  1232. "byte-na",
  1233. "byte-ns",
  1234. "ca",
  1235. "cn",
  1236. "co",
  1237. "cp",
  1238. "cs",
  1239. "eq",
  1240. "ge",
  1241. "gt",
  1242. "le",
  1243. "lt",
  1244. "na",
  1245. "nb",
  1246. "ne",
  1247. "np",
  1248. "ns",
  1249. "*/",
  1250. "*:",
  1251. "--",
  1252. "/*",
  1253. "//"
  1254. ],
  1255. symbols: /[=><!~?&+\-*\/\^%#@]+/,
  1256. tokenizer: {
  1257. root: [
  1258. [
  1259. /[a-z_\/$%@]([\w\/$%]|-(?!>))*/,
  1260. {
  1261. cases: {
  1262. "@typeKeywords": "type",
  1263. "@keywords": "keyword",
  1264. "@cdsLanguage": "annotation",
  1265. "@derivedTypes": "type",
  1266. "@builtinFunctions": "type",
  1267. "@builtinMethods": "type",
  1268. "@operators": "key",
  1269. "@default": "identifier"
  1270. }
  1271. }
  1272. ],
  1273. [/<[\w]+>/, "identifier"],
  1274. [/##[\w|_]+/, "comment"],
  1275. { include: "@whitespace" },
  1276. [/[:,.]/, "delimiter"],
  1277. [/[{}()\[\]]/, "@brackets"],
  1278. [
  1279. /@symbols/,
  1280. {
  1281. cases: {
  1282. "@selectors": "tag",
  1283. "@operators": "key",
  1284. "@default": ""
  1285. }
  1286. }
  1287. ],
  1288. [/'/, { token: "string", bracket: "@open", next: "@stringquote" }],
  1289. [/`/, { token: "string", bracket: "@open", next: "@stringping" }],
  1290. [/\|/, { token: "string", bracket: "@open", next: "@stringtemplate" }],
  1291. [/\d+/, "number"]
  1292. ],
  1293. stringtemplate: [
  1294. [/[^\\\|]+/, "string"],
  1295. [/\\\|/, "string"],
  1296. [/\|/, { token: "string", bracket: "@close", next: "@pop" }]
  1297. ],
  1298. stringping: [
  1299. [/[^\\`]+/, "string"],
  1300. [/`/, { token: "string", bracket: "@close", next: "@pop" }]
  1301. ],
  1302. stringquote: [
  1303. [/[^\\']+/, "string"],
  1304. [/'/, { token: "string", bracket: "@close", next: "@pop" }]
  1305. ],
  1306. whitespace: [
  1307. [/[ \t\r\n]+/, ""],
  1308. [/^\*.*$/, "comment"],
  1309. [/\".*$/, "comment"]
  1310. ]
  1311. }
  1312. };
  1313. export {
  1314. conf,
  1315. language
  1316. };