| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909 | /*--------------------------------------------------------------------------------------------- *  Copyright (c) Microsoft Corporation. All rights reserved. *  Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/define(["require", "exports"], function (require, exports) {    'use strict';    Object.defineProperty(exports, "__esModule", { value: true });    exports.conf = {        comments: {            lineComment: '//',            blockComment: ['/*', '*/'],        },        brackets: [['[', ']'], ['(', ')'], ['{', '}']],        autoClosingPairs: [            { open: '"', close: '"', notIn: ['string', 'comment', 'identifier'] },            { open: '[', close: ']', notIn: ['string', 'comment', 'identifier'] },            { open: '(', close: ')', notIn: ['string', 'comment', 'identifier'] },            { open: '{', close: '}', notIn: ['string', 'comment', 'identifier'] },        ]    };    exports.language = {        defaultToken: '',        tokenPostfix: '.pq',        ignoreCase: false,        brackets: [            { open: '[', close: ']', token: 'delimiter.square' },            { open: '{', close: '}', token: 'delimiter.brackets' },            { open: '(', close: ')', token: 'delimiter.parenthesis' }        ],        operatorKeywords: [            "and",            "not",            "or"        ],        keywords: [            "as",            "each",            "else",            "error",            "false",            "if",            "in",            "is",            "let",            "meta",            "otherwise",            "section",            "shared",            "then",            "true",            "try",            "type"        ],        constructors: [            "#binary",            "#date",            "#datetime",            "#datetimezone",            "#duration",            "#table",            "#time"        ],        constants: [            "#infinity",            "#nan",            "#sections",            "#shared"        ],        typeKeywords: [            "action",            "any",            "anynonnull",            "none",            "null",            "logical",            "number",            "time",            "date",            "datetime",            "datetimezone",            "duration",            "text",            "binary",            "list",            "record",            "table",            "function"        ],        builtinFunctions: [            "Access.Database",            "Action.Return",            "Action.Sequence",            "Action.Try",            "ActiveDirectory.Domains",            "AdoDotNet.DataSource",            "AdoDotNet.Query",            "AdobeAnalytics.Cubes",            "AnalysisServices.Database",            "AnalysisServices.Databases",            "AzureStorage.BlobContents",            "AzureStorage.Blobs",            "AzureStorage.Tables",            "Binary.Buffer",            "Binary.Combine",            "Binary.Compress",            "Binary.Decompress",            "Binary.End",            "Binary.From",            "Binary.FromList",            "Binary.FromText",            "Binary.InferContentType",            "Binary.Length",            "Binary.ToList",            "Binary.ToText",            "BinaryFormat.7BitEncodedSignedInteger",            "BinaryFormat.7BitEncodedUnsignedInteger",            "BinaryFormat.Binary",            "BinaryFormat.Byte",            "BinaryFormat.ByteOrder",            "BinaryFormat.Choice",            "BinaryFormat.Decimal",            "BinaryFormat.Double",            "BinaryFormat.Group",            "BinaryFormat.Length",            "BinaryFormat.List",            "BinaryFormat.Null",            "BinaryFormat.Record",            "BinaryFormat.SignedInteger16",            "BinaryFormat.SignedInteger32",            "BinaryFormat.SignedInteger64",            "BinaryFormat.Single",            "BinaryFormat.Text",            "BinaryFormat.Transform",            "BinaryFormat.UnsignedInteger16",            "BinaryFormat.UnsignedInteger32",            "BinaryFormat.UnsignedInteger64",            "Byte.From",            "Character.FromNumber",            "Character.ToNumber",            "Combiner.CombineTextByDelimiter",            "Combiner.CombineTextByEachDelimiter",            "Combiner.CombineTextByLengths",            "Combiner.CombineTextByPositions",            "Combiner.CombineTextByRanges",            "Comparer.Equals",            "Comparer.FromCulture",            "Comparer.Ordinal",            "Comparer.OrdinalIgnoreCase",            "Csv.Document",            "Cube.AddAndExpandDimensionColumn",            "Cube.AddMeasureColumn",            "Cube.ApplyParameter",            "Cube.AttributeMemberId",            "Cube.AttributeMemberProperty",            "Cube.CollapseAndRemoveColumns",            "Cube.Dimensions",            "Cube.DisplayFolders",            "Cube.Measures",            "Cube.Parameters",            "Cube.Properties",            "Cube.PropertyKey",            "Cube.ReplaceDimensions",            "Cube.Transform",            "Currency.From",            "DB2.Database",            "Date.AddDays",            "Date.AddMonths",            "Date.AddQuarters",            "Date.AddWeeks",            "Date.AddYears",            "Date.Day",            "Date.DayOfWeek",            "Date.DayOfWeekName",            "Date.DayOfYear",            "Date.DaysInMonth",            "Date.EndOfDay",            "Date.EndOfMonth",            "Date.EndOfQuarter",            "Date.EndOfWeek",            "Date.EndOfYear",            "Date.From",            "Date.FromText",            "Date.IsInCurrentDay",            "Date.IsInCurrentMonth",            "Date.IsInCurrentQuarter",            "Date.IsInCurrentWeek",            "Date.IsInCurrentYear",            "Date.IsInNextDay",            "Date.IsInNextMonth",            "Date.IsInNextNDays",            "Date.IsInNextNMonths",            "Date.IsInNextNQuarters",            "Date.IsInNextNWeeks",            "Date.IsInNextNYears",            "Date.IsInNextQuarter",            "Date.IsInNextWeek",            "Date.IsInNextYear",            "Date.IsInPreviousDay",            "Date.IsInPreviousMonth",            "Date.IsInPreviousNDays",            "Date.IsInPreviousNMonths",            "Date.IsInPreviousNQuarters",            "Date.IsInPreviousNWeeks",            "Date.IsInPreviousNYears",            "Date.IsInPreviousQuarter",            "Date.IsInPreviousWeek",            "Date.IsInPreviousYear",            "Date.IsInYearToDate",            "Date.IsLeapYear",            "Date.Month",            "Date.MonthName",            "Date.QuarterOfYear",            "Date.StartOfDay",            "Date.StartOfMonth",            "Date.StartOfQuarter",            "Date.StartOfWeek",            "Date.StartOfYear",            "Date.ToRecord",            "Date.ToText",            "Date.WeekOfMonth",            "Date.WeekOfYear",            "Date.Year",            "DateTime.AddZone",            "DateTime.Date",            "DateTime.FixedLocalNow",            "DateTime.From",            "DateTime.FromFileTime",            "DateTime.FromText",            "DateTime.IsInCurrentHour",            "DateTime.IsInCurrentMinute",            "DateTime.IsInCurrentSecond",            "DateTime.IsInNextHour",            "DateTime.IsInNextMinute",            "DateTime.IsInNextNHours",            "DateTime.IsInNextNMinutes",            "DateTime.IsInNextNSeconds",            "DateTime.IsInNextSecond",            "DateTime.IsInPreviousHour",            "DateTime.IsInPreviousMinute",            "DateTime.IsInPreviousNHours",            "DateTime.IsInPreviousNMinutes",            "DateTime.IsInPreviousNSeconds",            "DateTime.IsInPreviousSecond",            "DateTime.LocalNow",            "DateTime.Time",            "DateTime.ToRecord",            "DateTime.ToText",            "DateTimeZone.FixedLocalNow",            "DateTimeZone.FixedUtcNow",            "DateTimeZone.From",            "DateTimeZone.FromFileTime",            "DateTimeZone.FromText",            "DateTimeZone.LocalNow",            "DateTimeZone.RemoveZone",            "DateTimeZone.SwitchZone",            "DateTimeZone.ToLocal",            "DateTimeZone.ToRecord",            "DateTimeZone.ToText",            "DateTimeZone.ToUtc",            "DateTimeZone.UtcNow",            "DateTimeZone.ZoneHours",            "DateTimeZone.ZoneMinutes",            "Decimal.From",            "Diagnostics.ActivityId",            "Diagnostics.Trace",            "DirectQueryCapabilities.From",            "Double.From",            "Duration.Days",            "Duration.From",            "Duration.FromText",            "Duration.Hours",            "Duration.Minutes",            "Duration.Seconds",            "Duration.ToRecord",            "Duration.ToText",            "Duration.TotalDays",            "Duration.TotalHours",            "Duration.TotalMinutes",            "Duration.TotalSeconds",            "Embedded.Value",            "Error.Record",            "Excel.CurrentWorkbook",            "Excel.Workbook",            "Exchange.Contents",            "Expression.Constant",            "Expression.Evaluate",            "Expression.Identifier",            "Facebook.Graph",            "File.Contents",            "Folder.Contents",            "Folder.Files",            "Function.From",            "Function.Invoke",            "Function.InvokeAfter",            "Function.IsDataSource",            "GoogleAnalytics.Accounts",            "Guid.From",            "HdInsight.Containers",            "HdInsight.Contents",            "HdInsight.Files",            "Hdfs.Contents",            "Hdfs.Files",            "Informix.Database",            "Int16.From",            "Int32.From",            "Int64.From",            "Int8.From",            "ItemExpression.From",            "Json.Document",            "Json.FromValue",            "Lines.FromBinary",            "Lines.FromText",            "Lines.ToBinary",            "Lines.ToText",            "List.Accumulate",            "List.AllTrue",            "List.Alternate",            "List.AnyTrue",            "List.Average",            "List.Buffer",            "List.Combine",            "List.Contains",            "List.ContainsAll",            "List.ContainsAny",            "List.Count",            "List.Covariance",            "List.DateTimeZones",            "List.DateTimes",            "List.Dates",            "List.Difference",            "List.Distinct",            "List.Durations",            "List.FindText",            "List.First",            "List.FirstN",            "List.Generate",            "List.InsertRange",            "List.Intersect",            "List.IsDistinct",            "List.IsEmpty",            "List.Last",            "List.LastN",            "List.MatchesAll",            "List.MatchesAny",            "List.Max",            "List.MaxN",            "List.Median",            "List.Min",            "List.MinN",            "List.Mode",            "List.Modes",            "List.NonNullCount",            "List.Numbers",            "List.PositionOf",            "List.PositionOfAny",            "List.Positions",            "List.Product",            "List.Random",            "List.Range",            "List.RemoveFirstN",            "List.RemoveItems",            "List.RemoveLastN",            "List.RemoveMatchingItems",            "List.RemoveNulls",            "List.RemoveRange",            "List.Repeat",            "List.ReplaceMatchingItems",            "List.ReplaceRange",            "List.ReplaceValue",            "List.Reverse",            "List.Select",            "List.Single",            "List.SingleOrDefault",            "List.Skip",            "List.Sort",            "List.StandardDeviation",            "List.Sum",            "List.Times",            "List.Transform",            "List.TransformMany",            "List.Union",            "List.Zip",            "Logical.From",            "Logical.FromText",            "Logical.ToText",            "MQ.Queue",            "MySQL.Database",            "Number.Abs",            "Number.Acos",            "Number.Asin",            "Number.Atan",            "Number.Atan2",            "Number.BitwiseAnd",            "Number.BitwiseNot",            "Number.BitwiseOr",            "Number.BitwiseShiftLeft",            "Number.BitwiseShiftRight",            "Number.BitwiseXor",            "Number.Combinations",            "Number.Cos",            "Number.Cosh",            "Number.Exp",            "Number.Factorial",            "Number.From",            "Number.FromText",            "Number.IntegerDivide",            "Number.IsEven",            "Number.IsNaN",            "Number.IsOdd",            "Number.Ln",            "Number.Log",            "Number.Log10",            "Number.Mod",            "Number.Permutations",            "Number.Power",            "Number.Random",            "Number.RandomBetween",            "Number.Round",            "Number.RoundAwayFromZero",            "Number.RoundDown",            "Number.RoundTowardZero",            "Number.RoundUp",            "Number.Sign",            "Number.Sin",            "Number.Sinh",            "Number.Sqrt",            "Number.Tan",            "Number.Tanh",            "Number.ToText",            "OData.Feed",            "Odbc.DataSource",            "Odbc.Query",            "OleDb.DataSource",            "OleDb.Query",            "Oracle.Database",            "Percentage.From",            "PostgreSQL.Database",            "RData.FromBinary",            "Record.AddField",            "Record.Combine",            "Record.Field",            "Record.FieldCount",            "Record.FieldNames",            "Record.FieldOrDefault",            "Record.FieldValues",            "Record.FromList",            "Record.FromTable",            "Record.HasFields",            "Record.RemoveFields",            "Record.RenameFields",            "Record.ReorderFields",            "Record.SelectFields",            "Record.ToList",            "Record.ToTable",            "Record.TransformFields",            "Replacer.ReplaceText",            "Replacer.ReplaceValue",            "RowExpression.Column",            "RowExpression.From",            "Salesforce.Data",            "Salesforce.Reports",            "SapBusinessWarehouse.Cubes",            "SapHana.Database",            "SharePoint.Contents",            "SharePoint.Files",            "SharePoint.Tables",            "Single.From",            "Soda.Feed",            "Splitter.SplitByNothing",            "Splitter.SplitTextByAnyDelimiter",            "Splitter.SplitTextByDelimiter",            "Splitter.SplitTextByEachDelimiter",            "Splitter.SplitTextByLengths",            "Splitter.SplitTextByPositions",            "Splitter.SplitTextByRanges",            "Splitter.SplitTextByRepeatedLengths",            "Splitter.SplitTextByWhitespace",            "Sql.Database",            "Sql.Databases",            "SqlExpression.SchemaFrom",            "SqlExpression.ToExpression",            "Sybase.Database",            "Table.AddColumn",            "Table.AddIndexColumn",            "Table.AddJoinColumn",            "Table.AddKey",            "Table.AggregateTableColumn",            "Table.AlternateRows",            "Table.Buffer",            "Table.Column",            "Table.ColumnCount",            "Table.ColumnNames",            "Table.ColumnsOfType",            "Table.Combine",            "Table.CombineColumns",            "Table.Contains",            "Table.ContainsAll",            "Table.ContainsAny",            "Table.DemoteHeaders",            "Table.Distinct",            "Table.DuplicateColumn",            "Table.ExpandListColumn",            "Table.ExpandRecordColumn",            "Table.ExpandTableColumn",            "Table.FillDown",            "Table.FillUp",            "Table.FilterWithDataTable",            "Table.FindText",            "Table.First",            "Table.FirstN",            "Table.FirstValue",            "Table.FromColumns",            "Table.FromList",            "Table.FromPartitions",            "Table.FromRecords",            "Table.FromRows",            "Table.FromValue",            "Table.Group",            "Table.HasColumns",            "Table.InsertRows",            "Table.IsDistinct",            "Table.IsEmpty",            "Table.Join",            "Table.Keys",            "Table.Last",            "Table.LastN",            "Table.MatchesAllRows",            "Table.MatchesAnyRows",            "Table.Max",            "Table.MaxN",            "Table.Min",            "Table.MinN",            "Table.NestedJoin",            "Table.Partition",            "Table.PartitionValues",            "Table.Pivot",            "Table.PositionOf",            "Table.PositionOfAny",            "Table.PrefixColumns",            "Table.Profile",            "Table.PromoteHeaders",            "Table.Range",            "Table.RemoveColumns",            "Table.RemoveFirstN",            "Table.RemoveLastN",            "Table.RemoveMatchingRows",            "Table.RemoveRows",            "Table.RemoveRowsWithErrors",            "Table.RenameColumns",            "Table.ReorderColumns",            "Table.Repeat",            "Table.ReplaceErrorValues",            "Table.ReplaceKeys",            "Table.ReplaceMatchingRows",            "Table.ReplaceRelationshipIdentity",            "Table.ReplaceRows",            "Table.ReplaceValue",            "Table.ReverseRows",            "Table.RowCount",            "Table.Schema",            "Table.SelectColumns",            "Table.SelectRows",            "Table.SelectRowsWithErrors",            "Table.SingleRow",            "Table.Skip",            "Table.Sort",            "Table.SplitColumn",            "Table.ToColumns",            "Table.ToList",            "Table.ToRecords",            "Table.ToRows",            "Table.TransformColumnNames",            "Table.TransformColumnTypes",            "Table.TransformColumns",            "Table.TransformRows",            "Table.Transpose",            "Table.Unpivot",            "Table.UnpivotOtherColumns",            "Table.View",            "Table.ViewFunction",            "TableAction.DeleteRows",            "TableAction.InsertRows",            "TableAction.UpdateRows",            "Tables.GetRelationships",            "Teradata.Database",            "Text.AfterDelimiter",            "Text.At",            "Text.BeforeDelimiter",            "Text.BetweenDelimiters",            "Text.Clean",            "Text.Combine",            "Text.Contains",            "Text.End",            "Text.EndsWith",            "Text.Format",            "Text.From",            "Text.FromBinary",            "Text.Insert",            "Text.Length",            "Text.Lower",            "Text.Middle",            "Text.NewGuid",            "Text.PadEnd",            "Text.PadStart",            "Text.PositionOf",            "Text.PositionOfAny",            "Text.Proper",            "Text.Range",            "Text.Remove",            "Text.RemoveRange",            "Text.Repeat",            "Text.Replace",            "Text.ReplaceRange",            "Text.Select",            "Text.Split",            "Text.SplitAny",            "Text.Start",            "Text.StartsWith",            "Text.ToBinary",            "Text.ToList",            "Text.Trim",            "Text.TrimEnd",            "Text.TrimStart",            "Text.Upper",            "Time.EndOfHour",            "Time.From",            "Time.FromText",            "Time.Hour",            "Time.Minute",            "Time.Second",            "Time.StartOfHour",            "Time.ToRecord",            "Time.ToText",            "Type.AddTableKey",            "Type.ClosedRecord",            "Type.Facets",            "Type.ForFunction",            "Type.ForRecord",            "Type.FunctionParameters",            "Type.FunctionRequiredParameters",            "Type.FunctionReturn",            "Type.Is",            "Type.IsNullable",            "Type.IsOpenRecord",            "Type.ListItem",            "Type.NonNullable",            "Type.OpenRecord",            "Type.RecordFields",            "Type.ReplaceFacets",            "Type.ReplaceTableKeys",            "Type.TableColumn",            "Type.TableKeys",            "Type.TableRow",            "Type.TableSchema",            "Type.Union",            "Uri.BuildQueryString",            "Uri.Combine",            "Uri.EscapeDataString",            "Uri.Parts",            "Value.Add",            "Value.As",            "Value.Compare",            "Value.Divide",            "Value.Equals",            "Value.Firewall",            "Value.FromText",            "Value.Is",            "Value.Metadata",            "Value.Multiply",            "Value.NativeQuery",            "Value.NullableEquals",            "Value.RemoveMetadata",            "Value.ReplaceMetadata",            "Value.ReplaceType",            "Value.Subtract",            "Value.Type",            "ValueAction.NativeStatement",            "ValueAction.Replace",            "Variable.Value",            "Web.Contents",            "Web.Page",            "WebAction.Request",            "Xml.Document",            "Xml.Tables"        ],        builtinConstants: [            "BinaryEncoding.Base64",            "BinaryEncoding.Hex",            "BinaryOccurrence.Optional",            "BinaryOccurrence.Repeating",            "BinaryOccurrence.Required",            "ByteOrder.BigEndian",            "ByteOrder.LittleEndian",            "Compression.Deflate",            "Compression.GZip",            "CsvStyle.QuoteAfterDelimiter",            "CsvStyle.QuoteAlways",            "Culture.Current",            "Day.Friday",            "Day.Monday",            "Day.Saturday",            "Day.Sunday",            "Day.Thursday",            "Day.Tuesday",            "Day.Wednesday",            "ExtraValues.Error",            "ExtraValues.Ignore",            "ExtraValues.List",            "GroupKind.Global",            "GroupKind.Local",            "JoinAlgorithm.Dynamic",            "JoinAlgorithm.LeftHash",            "JoinAlgorithm.LeftIndex",            "JoinAlgorithm.PairwiseHash",            "JoinAlgorithm.RightHash",            "JoinAlgorithm.RightIndex",            "JoinAlgorithm.SortMerge",            "JoinKind.FullOuter",            "JoinKind.Inner",            "JoinKind.LeftAnti",            "JoinKind.LeftOuter",            "JoinKind.RightAnti",            "JoinKind.RightOuter",            "JoinSide.Left",            "JoinSide.Right",            "MissingField.Error",            "MissingField.Ignore",            "MissingField.UseNull",            "Number.E",            "Number.Epsilon",            "Number.NaN",            "Number.NegativeInfinity",            "Number.PI",            "Number.PositiveInfinity",            "Occurrence.All",            "Occurrence.First",            "Occurrence.Last",            "Occurrence.Optional",            "Occurrence.Repeating",            "Occurrence.Required",            "Order.Ascending",            "Order.Descending",            "Precision.Decimal",            "Precision.Double",            "QuoteStyle.Csv",            "QuoteStyle.None",            "RelativePosition.FromEnd",            "RelativePosition.FromStart",            "RoundingMode.AwayFromZero",            "RoundingMode.Down",            "RoundingMode.ToEven",            "RoundingMode.TowardZero",            "RoundingMode.Up",            "SapHanaDistribution.All",            "SapHanaDistribution.Connection",            "SapHanaDistribution.Off",            "SapHanaDistribution.Statement",            "SapHanaRangeOperator.Equals",            "SapHanaRangeOperator.GreaterThan",            "SapHanaRangeOperator.GreaterThanOrEquals",            "SapHanaRangeOperator.LessThan",            "SapHanaRangeOperator.LessThanOrEquals",            "SapHanaRangeOperator.NotEquals",            "TextEncoding.Ascii",            "TextEncoding.BigEndianUnicode",            "TextEncoding.Unicode",            "TextEncoding.Utf16",            "TextEncoding.Utf8",            "TextEncoding.Windows",            "TraceLevel.Critical",            "TraceLevel.Error",            "TraceLevel.Information",            "TraceLevel.Verbose",            "TraceLevel.Warning",            "WebMethod.Delete",            "WebMethod.Get",            "WebMethod.Head",            "WebMethod.Patch",            "WebMethod.Post",            "WebMethod.Put"        ],        builtinTypes: [            "Action.Type",            "Any.Type",            "Binary.Type",            "BinaryEncoding.Type",            "BinaryOccurrence.Type",            "Byte.Type",            "ByteOrder.Type",            "Character.Type",            "Compression.Type",            "CsvStyle.Type",            "Currency.Type",            "Date.Type",            "DateTime.Type",            "DateTimeZone.Type",            "Day.Type",            "Decimal.Type",            "Double.Type",            "Duration.Type",            "ExtraValues.Type",            "Function.Type",            "GroupKind.Type",            "Guid.Type",            "Int16.Type",            "Int32.Type",            "Int64.Type",            "Int8.Type",            "JoinAlgorithm.Type",            "JoinKind.Type",            "JoinSide.Type",            "List.Type",            "Logical.Type",            "MissingField.Type",            "None.Type",            "Null.Type",            "Number.Type",            "Occurrence.Type",            "Order.Type",            "Password.Type",            "Percentage.Type",            "Precision.Type",            "QuoteStyle.Type",            "Record.Type",            "RelativePosition.Type",            "RoundingMode.Type",            "SapHanaDistribution.Type",            "SapHanaRangeOperator.Type",            "Single.Type",            "Table.Type",            "Text.Type",            "TextEncoding.Type",            "Time.Type",            "TraceLevel.Type",            "Type.Type",            "Uri.Type",            "WebMethod.Type"        ],        tokenizer: {            root: [                // quoted identifier                [/#"[\w \.]+"/, "identifier.quote"],                // numbers                [/\d*\.\d+([eE][\-+]?\d+)?/, "number.float"],                [/0[xX][0-9a-fA-F]+/, "number.hex"],                [/\d+([eE][\-+]?\d+)?/, "number"],                // keywords                [/(#?[a-z]+)\b/,                    {                        cases: {                            "@typeKeywords": "type",                            "@keywords": "keyword",                            "@constants": "constant",                            "@constructors": "constructor",                            "@operatorKeywords": "operators",                            "@default": "identifier"                        }                    }                ],                // built-in types                [/\b([A-Z][a-zA-Z0-9]+\.Type)\b/,                    {                        cases: {                            "@builtinTypes": "type",                            "@default": "identifier"                        }                    }                ],                // other built-ins                [/\b([A-Z][a-zA-Z0-9]+\.[A-Z][a-zA-Z0-9]+)\b/,                    {                        cases: {                            "@builtinFunctions": "keyword.function",                            "@builtinConstants": "constant",                            "@default": "identifier"                        }                    }                ],                // other identifiers                [/\b([a-zA-Z_][\w\.]*)\b/, "identifier"],                { include: "@whitespace" },                { include: "@comments" },                { include: "@strings" },                [/[{}()\[\]]/, "@brackets"],                [/([=\+<>\-\*&@\?\/!])|([<>]=)|(<>)|(=>)|(\.\.\.)|(\.\.)/, "operators"],                [/[,;]/, "delimiter"],            ],            whitespace: [                [/\s+/, "white"]            ],            comments: [                ["\\/\\*", "comment", "@comment"],                ["\\/\\/+.*", "comment"]            ],            comment: [                ["\\*\\/", "comment", "@pop"],                [".", "comment"]            ],            strings: [                ["\"", "string", "@string"]            ],            string: [                ["\"\"", "string.escape"],                ["\"", "string", "@pop"],                [".", "string"]            ]        }    };});
 |