powerquery.js 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893
  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/powerquery/powerquery.ts
  8. var conf = {
  9. comments: {
  10. lineComment: "//",
  11. blockComment: ["/*", "*/"]
  12. },
  13. brackets: [
  14. ["[", "]"],
  15. ["(", ")"],
  16. ["{", "}"]
  17. ],
  18. autoClosingPairs: [
  19. { open: '"', close: '"', notIn: ["string", "comment", "identifier"] },
  20. { open: "[", close: "]", notIn: ["string", "comment", "identifier"] },
  21. { open: "(", close: ")", notIn: ["string", "comment", "identifier"] },
  22. { open: "{", close: "}", notIn: ["string", "comment", "identifier"] }
  23. ]
  24. };
  25. var language = {
  26. defaultToken: "",
  27. tokenPostfix: ".pq",
  28. ignoreCase: false,
  29. brackets: [
  30. { open: "[", close: "]", token: "delimiter.square" },
  31. { open: "{", close: "}", token: "delimiter.brackets" },
  32. { open: "(", close: ")", token: "delimiter.parenthesis" }
  33. ],
  34. operatorKeywords: ["and", "not", "or"],
  35. keywords: [
  36. "as",
  37. "each",
  38. "else",
  39. "error",
  40. "false",
  41. "if",
  42. "in",
  43. "is",
  44. "let",
  45. "meta",
  46. "otherwise",
  47. "section",
  48. "shared",
  49. "then",
  50. "true",
  51. "try",
  52. "type"
  53. ],
  54. constructors: ["#binary", "#date", "#datetime", "#datetimezone", "#duration", "#table", "#time"],
  55. constants: ["#infinity", "#nan", "#sections", "#shared"],
  56. typeKeywords: [
  57. "action",
  58. "any",
  59. "anynonnull",
  60. "none",
  61. "null",
  62. "logical",
  63. "number",
  64. "time",
  65. "date",
  66. "datetime",
  67. "datetimezone",
  68. "duration",
  69. "text",
  70. "binary",
  71. "list",
  72. "record",
  73. "table",
  74. "function"
  75. ],
  76. builtinFunctions: [
  77. "Access.Database",
  78. "Action.Return",
  79. "Action.Sequence",
  80. "Action.Try",
  81. "ActiveDirectory.Domains",
  82. "AdoDotNet.DataSource",
  83. "AdoDotNet.Query",
  84. "AdobeAnalytics.Cubes",
  85. "AnalysisServices.Database",
  86. "AnalysisServices.Databases",
  87. "AzureStorage.BlobContents",
  88. "AzureStorage.Blobs",
  89. "AzureStorage.Tables",
  90. "Binary.Buffer",
  91. "Binary.Combine",
  92. "Binary.Compress",
  93. "Binary.Decompress",
  94. "Binary.End",
  95. "Binary.From",
  96. "Binary.FromList",
  97. "Binary.FromText",
  98. "Binary.InferContentType",
  99. "Binary.Length",
  100. "Binary.ToList",
  101. "Binary.ToText",
  102. "BinaryFormat.7BitEncodedSignedInteger",
  103. "BinaryFormat.7BitEncodedUnsignedInteger",
  104. "BinaryFormat.Binary",
  105. "BinaryFormat.Byte",
  106. "BinaryFormat.ByteOrder",
  107. "BinaryFormat.Choice",
  108. "BinaryFormat.Decimal",
  109. "BinaryFormat.Double",
  110. "BinaryFormat.Group",
  111. "BinaryFormat.Length",
  112. "BinaryFormat.List",
  113. "BinaryFormat.Null",
  114. "BinaryFormat.Record",
  115. "BinaryFormat.SignedInteger16",
  116. "BinaryFormat.SignedInteger32",
  117. "BinaryFormat.SignedInteger64",
  118. "BinaryFormat.Single",
  119. "BinaryFormat.Text",
  120. "BinaryFormat.Transform",
  121. "BinaryFormat.UnsignedInteger16",
  122. "BinaryFormat.UnsignedInteger32",
  123. "BinaryFormat.UnsignedInteger64",
  124. "Byte.From",
  125. "Character.FromNumber",
  126. "Character.ToNumber",
  127. "Combiner.CombineTextByDelimiter",
  128. "Combiner.CombineTextByEachDelimiter",
  129. "Combiner.CombineTextByLengths",
  130. "Combiner.CombineTextByPositions",
  131. "Combiner.CombineTextByRanges",
  132. "Comparer.Equals",
  133. "Comparer.FromCulture",
  134. "Comparer.Ordinal",
  135. "Comparer.OrdinalIgnoreCase",
  136. "Csv.Document",
  137. "Cube.AddAndExpandDimensionColumn",
  138. "Cube.AddMeasureColumn",
  139. "Cube.ApplyParameter",
  140. "Cube.AttributeMemberId",
  141. "Cube.AttributeMemberProperty",
  142. "Cube.CollapseAndRemoveColumns",
  143. "Cube.Dimensions",
  144. "Cube.DisplayFolders",
  145. "Cube.Measures",
  146. "Cube.Parameters",
  147. "Cube.Properties",
  148. "Cube.PropertyKey",
  149. "Cube.ReplaceDimensions",
  150. "Cube.Transform",
  151. "Currency.From",
  152. "DB2.Database",
  153. "Date.AddDays",
  154. "Date.AddMonths",
  155. "Date.AddQuarters",
  156. "Date.AddWeeks",
  157. "Date.AddYears",
  158. "Date.Day",
  159. "Date.DayOfWeek",
  160. "Date.DayOfWeekName",
  161. "Date.DayOfYear",
  162. "Date.DaysInMonth",
  163. "Date.EndOfDay",
  164. "Date.EndOfMonth",
  165. "Date.EndOfQuarter",
  166. "Date.EndOfWeek",
  167. "Date.EndOfYear",
  168. "Date.From",
  169. "Date.FromText",
  170. "Date.IsInCurrentDay",
  171. "Date.IsInCurrentMonth",
  172. "Date.IsInCurrentQuarter",
  173. "Date.IsInCurrentWeek",
  174. "Date.IsInCurrentYear",
  175. "Date.IsInNextDay",
  176. "Date.IsInNextMonth",
  177. "Date.IsInNextNDays",
  178. "Date.IsInNextNMonths",
  179. "Date.IsInNextNQuarters",
  180. "Date.IsInNextNWeeks",
  181. "Date.IsInNextNYears",
  182. "Date.IsInNextQuarter",
  183. "Date.IsInNextWeek",
  184. "Date.IsInNextYear",
  185. "Date.IsInPreviousDay",
  186. "Date.IsInPreviousMonth",
  187. "Date.IsInPreviousNDays",
  188. "Date.IsInPreviousNMonths",
  189. "Date.IsInPreviousNQuarters",
  190. "Date.IsInPreviousNWeeks",
  191. "Date.IsInPreviousNYears",
  192. "Date.IsInPreviousQuarter",
  193. "Date.IsInPreviousWeek",
  194. "Date.IsInPreviousYear",
  195. "Date.IsInYearToDate",
  196. "Date.IsLeapYear",
  197. "Date.Month",
  198. "Date.MonthName",
  199. "Date.QuarterOfYear",
  200. "Date.StartOfDay",
  201. "Date.StartOfMonth",
  202. "Date.StartOfQuarter",
  203. "Date.StartOfWeek",
  204. "Date.StartOfYear",
  205. "Date.ToRecord",
  206. "Date.ToText",
  207. "Date.WeekOfMonth",
  208. "Date.WeekOfYear",
  209. "Date.Year",
  210. "DateTime.AddZone",
  211. "DateTime.Date",
  212. "DateTime.FixedLocalNow",
  213. "DateTime.From",
  214. "DateTime.FromFileTime",
  215. "DateTime.FromText",
  216. "DateTime.IsInCurrentHour",
  217. "DateTime.IsInCurrentMinute",
  218. "DateTime.IsInCurrentSecond",
  219. "DateTime.IsInNextHour",
  220. "DateTime.IsInNextMinute",
  221. "DateTime.IsInNextNHours",
  222. "DateTime.IsInNextNMinutes",
  223. "DateTime.IsInNextNSeconds",
  224. "DateTime.IsInNextSecond",
  225. "DateTime.IsInPreviousHour",
  226. "DateTime.IsInPreviousMinute",
  227. "DateTime.IsInPreviousNHours",
  228. "DateTime.IsInPreviousNMinutes",
  229. "DateTime.IsInPreviousNSeconds",
  230. "DateTime.IsInPreviousSecond",
  231. "DateTime.LocalNow",
  232. "DateTime.Time",
  233. "DateTime.ToRecord",
  234. "DateTime.ToText",
  235. "DateTimeZone.FixedLocalNow",
  236. "DateTimeZone.FixedUtcNow",
  237. "DateTimeZone.From",
  238. "DateTimeZone.FromFileTime",
  239. "DateTimeZone.FromText",
  240. "DateTimeZone.LocalNow",
  241. "DateTimeZone.RemoveZone",
  242. "DateTimeZone.SwitchZone",
  243. "DateTimeZone.ToLocal",
  244. "DateTimeZone.ToRecord",
  245. "DateTimeZone.ToText",
  246. "DateTimeZone.ToUtc",
  247. "DateTimeZone.UtcNow",
  248. "DateTimeZone.ZoneHours",
  249. "DateTimeZone.ZoneMinutes",
  250. "Decimal.From",
  251. "Diagnostics.ActivityId",
  252. "Diagnostics.Trace",
  253. "DirectQueryCapabilities.From",
  254. "Double.From",
  255. "Duration.Days",
  256. "Duration.From",
  257. "Duration.FromText",
  258. "Duration.Hours",
  259. "Duration.Minutes",
  260. "Duration.Seconds",
  261. "Duration.ToRecord",
  262. "Duration.ToText",
  263. "Duration.TotalDays",
  264. "Duration.TotalHours",
  265. "Duration.TotalMinutes",
  266. "Duration.TotalSeconds",
  267. "Embedded.Value",
  268. "Error.Record",
  269. "Excel.CurrentWorkbook",
  270. "Excel.Workbook",
  271. "Exchange.Contents",
  272. "Expression.Constant",
  273. "Expression.Evaluate",
  274. "Expression.Identifier",
  275. "Facebook.Graph",
  276. "File.Contents",
  277. "Folder.Contents",
  278. "Folder.Files",
  279. "Function.From",
  280. "Function.Invoke",
  281. "Function.InvokeAfter",
  282. "Function.IsDataSource",
  283. "GoogleAnalytics.Accounts",
  284. "Guid.From",
  285. "HdInsight.Containers",
  286. "HdInsight.Contents",
  287. "HdInsight.Files",
  288. "Hdfs.Contents",
  289. "Hdfs.Files",
  290. "Informix.Database",
  291. "Int16.From",
  292. "Int32.From",
  293. "Int64.From",
  294. "Int8.From",
  295. "ItemExpression.From",
  296. "Json.Document",
  297. "Json.FromValue",
  298. "Lines.FromBinary",
  299. "Lines.FromText",
  300. "Lines.ToBinary",
  301. "Lines.ToText",
  302. "List.Accumulate",
  303. "List.AllTrue",
  304. "List.Alternate",
  305. "List.AnyTrue",
  306. "List.Average",
  307. "List.Buffer",
  308. "List.Combine",
  309. "List.Contains",
  310. "List.ContainsAll",
  311. "List.ContainsAny",
  312. "List.Count",
  313. "List.Covariance",
  314. "List.DateTimeZones",
  315. "List.DateTimes",
  316. "List.Dates",
  317. "List.Difference",
  318. "List.Distinct",
  319. "List.Durations",
  320. "List.FindText",
  321. "List.First",
  322. "List.FirstN",
  323. "List.Generate",
  324. "List.InsertRange",
  325. "List.Intersect",
  326. "List.IsDistinct",
  327. "List.IsEmpty",
  328. "List.Last",
  329. "List.LastN",
  330. "List.MatchesAll",
  331. "List.MatchesAny",
  332. "List.Max",
  333. "List.MaxN",
  334. "List.Median",
  335. "List.Min",
  336. "List.MinN",
  337. "List.Mode",
  338. "List.Modes",
  339. "List.NonNullCount",
  340. "List.Numbers",
  341. "List.PositionOf",
  342. "List.PositionOfAny",
  343. "List.Positions",
  344. "List.Product",
  345. "List.Random",
  346. "List.Range",
  347. "List.RemoveFirstN",
  348. "List.RemoveItems",
  349. "List.RemoveLastN",
  350. "List.RemoveMatchingItems",
  351. "List.RemoveNulls",
  352. "List.RemoveRange",
  353. "List.Repeat",
  354. "List.ReplaceMatchingItems",
  355. "List.ReplaceRange",
  356. "List.ReplaceValue",
  357. "List.Reverse",
  358. "List.Select",
  359. "List.Single",
  360. "List.SingleOrDefault",
  361. "List.Skip",
  362. "List.Sort",
  363. "List.StandardDeviation",
  364. "List.Sum",
  365. "List.Times",
  366. "List.Transform",
  367. "List.TransformMany",
  368. "List.Union",
  369. "List.Zip",
  370. "Logical.From",
  371. "Logical.FromText",
  372. "Logical.ToText",
  373. "MQ.Queue",
  374. "MySQL.Database",
  375. "Number.Abs",
  376. "Number.Acos",
  377. "Number.Asin",
  378. "Number.Atan",
  379. "Number.Atan2",
  380. "Number.BitwiseAnd",
  381. "Number.BitwiseNot",
  382. "Number.BitwiseOr",
  383. "Number.BitwiseShiftLeft",
  384. "Number.BitwiseShiftRight",
  385. "Number.BitwiseXor",
  386. "Number.Combinations",
  387. "Number.Cos",
  388. "Number.Cosh",
  389. "Number.Exp",
  390. "Number.Factorial",
  391. "Number.From",
  392. "Number.FromText",
  393. "Number.IntegerDivide",
  394. "Number.IsEven",
  395. "Number.IsNaN",
  396. "Number.IsOdd",
  397. "Number.Ln",
  398. "Number.Log",
  399. "Number.Log10",
  400. "Number.Mod",
  401. "Number.Permutations",
  402. "Number.Power",
  403. "Number.Random",
  404. "Number.RandomBetween",
  405. "Number.Round",
  406. "Number.RoundAwayFromZero",
  407. "Number.RoundDown",
  408. "Number.RoundTowardZero",
  409. "Number.RoundUp",
  410. "Number.Sign",
  411. "Number.Sin",
  412. "Number.Sinh",
  413. "Number.Sqrt",
  414. "Number.Tan",
  415. "Number.Tanh",
  416. "Number.ToText",
  417. "OData.Feed",
  418. "Odbc.DataSource",
  419. "Odbc.Query",
  420. "OleDb.DataSource",
  421. "OleDb.Query",
  422. "Oracle.Database",
  423. "Percentage.From",
  424. "PostgreSQL.Database",
  425. "RData.FromBinary",
  426. "Record.AddField",
  427. "Record.Combine",
  428. "Record.Field",
  429. "Record.FieldCount",
  430. "Record.FieldNames",
  431. "Record.FieldOrDefault",
  432. "Record.FieldValues",
  433. "Record.FromList",
  434. "Record.FromTable",
  435. "Record.HasFields",
  436. "Record.RemoveFields",
  437. "Record.RenameFields",
  438. "Record.ReorderFields",
  439. "Record.SelectFields",
  440. "Record.ToList",
  441. "Record.ToTable",
  442. "Record.TransformFields",
  443. "Replacer.ReplaceText",
  444. "Replacer.ReplaceValue",
  445. "RowExpression.Column",
  446. "RowExpression.From",
  447. "Salesforce.Data",
  448. "Salesforce.Reports",
  449. "SapBusinessWarehouse.Cubes",
  450. "SapHana.Database",
  451. "SharePoint.Contents",
  452. "SharePoint.Files",
  453. "SharePoint.Tables",
  454. "Single.From",
  455. "Soda.Feed",
  456. "Splitter.SplitByNothing",
  457. "Splitter.SplitTextByAnyDelimiter",
  458. "Splitter.SplitTextByDelimiter",
  459. "Splitter.SplitTextByEachDelimiter",
  460. "Splitter.SplitTextByLengths",
  461. "Splitter.SplitTextByPositions",
  462. "Splitter.SplitTextByRanges",
  463. "Splitter.SplitTextByRepeatedLengths",
  464. "Splitter.SplitTextByWhitespace",
  465. "Sql.Database",
  466. "Sql.Databases",
  467. "SqlExpression.SchemaFrom",
  468. "SqlExpression.ToExpression",
  469. "Sybase.Database",
  470. "Table.AddColumn",
  471. "Table.AddIndexColumn",
  472. "Table.AddJoinColumn",
  473. "Table.AddKey",
  474. "Table.AggregateTableColumn",
  475. "Table.AlternateRows",
  476. "Table.Buffer",
  477. "Table.Column",
  478. "Table.ColumnCount",
  479. "Table.ColumnNames",
  480. "Table.ColumnsOfType",
  481. "Table.Combine",
  482. "Table.CombineColumns",
  483. "Table.Contains",
  484. "Table.ContainsAll",
  485. "Table.ContainsAny",
  486. "Table.DemoteHeaders",
  487. "Table.Distinct",
  488. "Table.DuplicateColumn",
  489. "Table.ExpandListColumn",
  490. "Table.ExpandRecordColumn",
  491. "Table.ExpandTableColumn",
  492. "Table.FillDown",
  493. "Table.FillUp",
  494. "Table.FilterWithDataTable",
  495. "Table.FindText",
  496. "Table.First",
  497. "Table.FirstN",
  498. "Table.FirstValue",
  499. "Table.FromColumns",
  500. "Table.FromList",
  501. "Table.FromPartitions",
  502. "Table.FromRecords",
  503. "Table.FromRows",
  504. "Table.FromValue",
  505. "Table.Group",
  506. "Table.HasColumns",
  507. "Table.InsertRows",
  508. "Table.IsDistinct",
  509. "Table.IsEmpty",
  510. "Table.Join",
  511. "Table.Keys",
  512. "Table.Last",
  513. "Table.LastN",
  514. "Table.MatchesAllRows",
  515. "Table.MatchesAnyRows",
  516. "Table.Max",
  517. "Table.MaxN",
  518. "Table.Min",
  519. "Table.MinN",
  520. "Table.NestedJoin",
  521. "Table.Partition",
  522. "Table.PartitionValues",
  523. "Table.Pivot",
  524. "Table.PositionOf",
  525. "Table.PositionOfAny",
  526. "Table.PrefixColumns",
  527. "Table.Profile",
  528. "Table.PromoteHeaders",
  529. "Table.Range",
  530. "Table.RemoveColumns",
  531. "Table.RemoveFirstN",
  532. "Table.RemoveLastN",
  533. "Table.RemoveMatchingRows",
  534. "Table.RemoveRows",
  535. "Table.RemoveRowsWithErrors",
  536. "Table.RenameColumns",
  537. "Table.ReorderColumns",
  538. "Table.Repeat",
  539. "Table.ReplaceErrorValues",
  540. "Table.ReplaceKeys",
  541. "Table.ReplaceMatchingRows",
  542. "Table.ReplaceRelationshipIdentity",
  543. "Table.ReplaceRows",
  544. "Table.ReplaceValue",
  545. "Table.ReverseRows",
  546. "Table.RowCount",
  547. "Table.Schema",
  548. "Table.SelectColumns",
  549. "Table.SelectRows",
  550. "Table.SelectRowsWithErrors",
  551. "Table.SingleRow",
  552. "Table.Skip",
  553. "Table.Sort",
  554. "Table.SplitColumn",
  555. "Table.ToColumns",
  556. "Table.ToList",
  557. "Table.ToRecords",
  558. "Table.ToRows",
  559. "Table.TransformColumnNames",
  560. "Table.TransformColumnTypes",
  561. "Table.TransformColumns",
  562. "Table.TransformRows",
  563. "Table.Transpose",
  564. "Table.Unpivot",
  565. "Table.UnpivotOtherColumns",
  566. "Table.View",
  567. "Table.ViewFunction",
  568. "TableAction.DeleteRows",
  569. "TableAction.InsertRows",
  570. "TableAction.UpdateRows",
  571. "Tables.GetRelationships",
  572. "Teradata.Database",
  573. "Text.AfterDelimiter",
  574. "Text.At",
  575. "Text.BeforeDelimiter",
  576. "Text.BetweenDelimiters",
  577. "Text.Clean",
  578. "Text.Combine",
  579. "Text.Contains",
  580. "Text.End",
  581. "Text.EndsWith",
  582. "Text.Format",
  583. "Text.From",
  584. "Text.FromBinary",
  585. "Text.Insert",
  586. "Text.Length",
  587. "Text.Lower",
  588. "Text.Middle",
  589. "Text.NewGuid",
  590. "Text.PadEnd",
  591. "Text.PadStart",
  592. "Text.PositionOf",
  593. "Text.PositionOfAny",
  594. "Text.Proper",
  595. "Text.Range",
  596. "Text.Remove",
  597. "Text.RemoveRange",
  598. "Text.Repeat",
  599. "Text.Replace",
  600. "Text.ReplaceRange",
  601. "Text.Select",
  602. "Text.Split",
  603. "Text.SplitAny",
  604. "Text.Start",
  605. "Text.StartsWith",
  606. "Text.ToBinary",
  607. "Text.ToList",
  608. "Text.Trim",
  609. "Text.TrimEnd",
  610. "Text.TrimStart",
  611. "Text.Upper",
  612. "Time.EndOfHour",
  613. "Time.From",
  614. "Time.FromText",
  615. "Time.Hour",
  616. "Time.Minute",
  617. "Time.Second",
  618. "Time.StartOfHour",
  619. "Time.ToRecord",
  620. "Time.ToText",
  621. "Type.AddTableKey",
  622. "Type.ClosedRecord",
  623. "Type.Facets",
  624. "Type.ForFunction",
  625. "Type.ForRecord",
  626. "Type.FunctionParameters",
  627. "Type.FunctionRequiredParameters",
  628. "Type.FunctionReturn",
  629. "Type.Is",
  630. "Type.IsNullable",
  631. "Type.IsOpenRecord",
  632. "Type.ListItem",
  633. "Type.NonNullable",
  634. "Type.OpenRecord",
  635. "Type.RecordFields",
  636. "Type.ReplaceFacets",
  637. "Type.ReplaceTableKeys",
  638. "Type.TableColumn",
  639. "Type.TableKeys",
  640. "Type.TableRow",
  641. "Type.TableSchema",
  642. "Type.Union",
  643. "Uri.BuildQueryString",
  644. "Uri.Combine",
  645. "Uri.EscapeDataString",
  646. "Uri.Parts",
  647. "Value.Add",
  648. "Value.As",
  649. "Value.Compare",
  650. "Value.Divide",
  651. "Value.Equals",
  652. "Value.Firewall",
  653. "Value.FromText",
  654. "Value.Is",
  655. "Value.Metadata",
  656. "Value.Multiply",
  657. "Value.NativeQuery",
  658. "Value.NullableEquals",
  659. "Value.RemoveMetadata",
  660. "Value.ReplaceMetadata",
  661. "Value.ReplaceType",
  662. "Value.Subtract",
  663. "Value.Type",
  664. "ValueAction.NativeStatement",
  665. "ValueAction.Replace",
  666. "Variable.Value",
  667. "Web.Contents",
  668. "Web.Page",
  669. "WebAction.Request",
  670. "Xml.Document",
  671. "Xml.Tables"
  672. ],
  673. builtinConstants: [
  674. "BinaryEncoding.Base64",
  675. "BinaryEncoding.Hex",
  676. "BinaryOccurrence.Optional",
  677. "BinaryOccurrence.Repeating",
  678. "BinaryOccurrence.Required",
  679. "ByteOrder.BigEndian",
  680. "ByteOrder.LittleEndian",
  681. "Compression.Deflate",
  682. "Compression.GZip",
  683. "CsvStyle.QuoteAfterDelimiter",
  684. "CsvStyle.QuoteAlways",
  685. "Culture.Current",
  686. "Day.Friday",
  687. "Day.Monday",
  688. "Day.Saturday",
  689. "Day.Sunday",
  690. "Day.Thursday",
  691. "Day.Tuesday",
  692. "Day.Wednesday",
  693. "ExtraValues.Error",
  694. "ExtraValues.Ignore",
  695. "ExtraValues.List",
  696. "GroupKind.Global",
  697. "GroupKind.Local",
  698. "JoinAlgorithm.Dynamic",
  699. "JoinAlgorithm.LeftHash",
  700. "JoinAlgorithm.LeftIndex",
  701. "JoinAlgorithm.PairwiseHash",
  702. "JoinAlgorithm.RightHash",
  703. "JoinAlgorithm.RightIndex",
  704. "JoinAlgorithm.SortMerge",
  705. "JoinKind.FullOuter",
  706. "JoinKind.Inner",
  707. "JoinKind.LeftAnti",
  708. "JoinKind.LeftOuter",
  709. "JoinKind.RightAnti",
  710. "JoinKind.RightOuter",
  711. "JoinSide.Left",
  712. "JoinSide.Right",
  713. "MissingField.Error",
  714. "MissingField.Ignore",
  715. "MissingField.UseNull",
  716. "Number.E",
  717. "Number.Epsilon",
  718. "Number.NaN",
  719. "Number.NegativeInfinity",
  720. "Number.PI",
  721. "Number.PositiveInfinity",
  722. "Occurrence.All",
  723. "Occurrence.First",
  724. "Occurrence.Last",
  725. "Occurrence.Optional",
  726. "Occurrence.Repeating",
  727. "Occurrence.Required",
  728. "Order.Ascending",
  729. "Order.Descending",
  730. "Precision.Decimal",
  731. "Precision.Double",
  732. "QuoteStyle.Csv",
  733. "QuoteStyle.None",
  734. "RelativePosition.FromEnd",
  735. "RelativePosition.FromStart",
  736. "RoundingMode.AwayFromZero",
  737. "RoundingMode.Down",
  738. "RoundingMode.ToEven",
  739. "RoundingMode.TowardZero",
  740. "RoundingMode.Up",
  741. "SapHanaDistribution.All",
  742. "SapHanaDistribution.Connection",
  743. "SapHanaDistribution.Off",
  744. "SapHanaDistribution.Statement",
  745. "SapHanaRangeOperator.Equals",
  746. "SapHanaRangeOperator.GreaterThan",
  747. "SapHanaRangeOperator.GreaterThanOrEquals",
  748. "SapHanaRangeOperator.LessThan",
  749. "SapHanaRangeOperator.LessThanOrEquals",
  750. "SapHanaRangeOperator.NotEquals",
  751. "TextEncoding.Ascii",
  752. "TextEncoding.BigEndianUnicode",
  753. "TextEncoding.Unicode",
  754. "TextEncoding.Utf16",
  755. "TextEncoding.Utf8",
  756. "TextEncoding.Windows",
  757. "TraceLevel.Critical",
  758. "TraceLevel.Error",
  759. "TraceLevel.Information",
  760. "TraceLevel.Verbose",
  761. "TraceLevel.Warning",
  762. "WebMethod.Delete",
  763. "WebMethod.Get",
  764. "WebMethod.Head",
  765. "WebMethod.Patch",
  766. "WebMethod.Post",
  767. "WebMethod.Put"
  768. ],
  769. builtinTypes: [
  770. "Action.Type",
  771. "Any.Type",
  772. "Binary.Type",
  773. "BinaryEncoding.Type",
  774. "BinaryOccurrence.Type",
  775. "Byte.Type",
  776. "ByteOrder.Type",
  777. "Character.Type",
  778. "Compression.Type",
  779. "CsvStyle.Type",
  780. "Currency.Type",
  781. "Date.Type",
  782. "DateTime.Type",
  783. "DateTimeZone.Type",
  784. "Day.Type",
  785. "Decimal.Type",
  786. "Double.Type",
  787. "Duration.Type",
  788. "ExtraValues.Type",
  789. "Function.Type",
  790. "GroupKind.Type",
  791. "Guid.Type",
  792. "Int16.Type",
  793. "Int32.Type",
  794. "Int64.Type",
  795. "Int8.Type",
  796. "JoinAlgorithm.Type",
  797. "JoinKind.Type",
  798. "JoinSide.Type",
  799. "List.Type",
  800. "Logical.Type",
  801. "MissingField.Type",
  802. "None.Type",
  803. "Null.Type",
  804. "Number.Type",
  805. "Occurrence.Type",
  806. "Order.Type",
  807. "Password.Type",
  808. "Percentage.Type",
  809. "Precision.Type",
  810. "QuoteStyle.Type",
  811. "Record.Type",
  812. "RelativePosition.Type",
  813. "RoundingMode.Type",
  814. "SapHanaDistribution.Type",
  815. "SapHanaRangeOperator.Type",
  816. "Single.Type",
  817. "Table.Type",
  818. "Text.Type",
  819. "TextEncoding.Type",
  820. "Time.Type",
  821. "TraceLevel.Type",
  822. "Type.Type",
  823. "Uri.Type",
  824. "WebMethod.Type"
  825. ],
  826. tokenizer: {
  827. root: [
  828. [/#"[\w \.]+"/, "identifier.quote"],
  829. [/\d*\.\d+([eE][\-+]?\d+)?/, "number.float"],
  830. [/0[xX][0-9a-fA-F]+/, "number.hex"],
  831. [/\d+([eE][\-+]?\d+)?/, "number"],
  832. [
  833. /(#?[a-z]+)\b/,
  834. {
  835. cases: {
  836. "@typeKeywords": "type",
  837. "@keywords": "keyword",
  838. "@constants": "constant",
  839. "@constructors": "constructor",
  840. "@operatorKeywords": "operators",
  841. "@default": "identifier"
  842. }
  843. }
  844. ],
  845. [
  846. /\b([A-Z][a-zA-Z0-9]+\.Type)\b/,
  847. {
  848. cases: {
  849. "@builtinTypes": "type",
  850. "@default": "identifier"
  851. }
  852. }
  853. ],
  854. [
  855. /\b([A-Z][a-zA-Z0-9]+\.[A-Z][a-zA-Z0-9]+)\b/,
  856. {
  857. cases: {
  858. "@builtinFunctions": "keyword.function",
  859. "@builtinConstants": "constant",
  860. "@default": "identifier"
  861. }
  862. }
  863. ],
  864. [/\b([a-zA-Z_][\w\.]*)\b/, "identifier"],
  865. { include: "@whitespace" },
  866. { include: "@comments" },
  867. { include: "@strings" },
  868. [/[{}()\[\]]/, "@brackets"],
  869. [/([=\+<>\-\*&@\?\/!])|([<>]=)|(<>)|(=>)|(\.\.\.)|(\.\.)/, "operators"],
  870. [/[,;]/, "delimiter"]
  871. ],
  872. whitespace: [[/\s+/, "white"]],
  873. comments: [
  874. ["\\/\\*", "comment", "@comment"],
  875. ["\\/\\/+.*", "comment"]
  876. ],
  877. comment: [
  878. ["\\*\\/", "comment", "@pop"],
  879. [".", "comment"]
  880. ],
  881. strings: [['"', "string", "@string"]],
  882. string: [
  883. ['""', "string.escape"],
  884. ['"', "string", "@pop"],
  885. [".", "string"]
  886. ]
  887. }
  888. };
  889. export {
  890. conf,
  891. language
  892. };