{"version":3,"sources":["webpack:///./node_modules/monaco-editor/esm/vs/basic-languages/postiats/postiats.js"],"names":["__webpack_require__","r","__webpack_exports__","d","conf","language","comments","lineComment","blockComment","brackets","autoClosingPairs","open","close","notIn","tokenPostfix","defaultToken","keywords","keywords_dlr","keywords_srp","irregular_keyword_list","keywords_types","keywords_effects","operators","token","symbols","IDENTFST","IDENTRST","symbolic","digit","digitseq0","xdigit","xdigitseq0","INTSP","FLOATSP","fexponent","fexponent_bin","deciexp","hexiexp","irregular_keywords","ESCHAR","start","tokenizer","root","regex","action","next","cases","@keywords_dlr","@default","@keywords_srp","nextEmbedded","@keywords","@keywords_types","@operators","lexing_COMMENT_block_ml","lexing_COMMENT_block_c","lexing_COMMENT_rest","lexing_EFFECT_commaseq0","@keywords_effects","lexing_EXTCODE","lexing_DQUOTE"],"mappings":"kHAAAA,EAAAC,EAAAC,GAAAF,EAAAG,EAAAD,EAAA,yBAAAE,IAAAJ,EAAAG,EAAAD,EAAA,6BAAAG,IAOO,IAAAD,EAAA,CACPE,SAAA,CACAC,YAAA,KACAC,aAAA,aAEAC,SAAA,MAAkB,KAAK,+BACvBC,iBAAA,CACA,CAASC,KAAA,IAAAC,MAAA,IAAAC,MAAA,sBACT,CAASF,KAAA,IAASC,MAAA,IAAYC,MAAA,sBAC9B,CAASF,KAAA,IAAAC,MAAA,IAAAC,MAAA,sBACT,CAASF,KAAA,IAAAC,MAAA,IAAAC,MAAA,wBAGFR,EAAA,CACPS,aAAA,QAKAC,aAAA,UAEAC,SAAA,CAEA,UACA,WACA,UACA,UACA,WACA,cACA,YACA,eAEA,KAEA,MAEA,SAEA,QAMA,WAEA,WAEA,WACA,WACA,WACA,YACA,eAEA,KAEA,MAEA,SACA,SACA,SAEA,YAEA,KACA,MACA,MAEA,OACA,QAEA,QACA,SAEA,KACA,OACA,OAEA,SAEA,KAEA,QACA,SACA,SACA,SACA,UAEA,UACA,YAEA,YACA,cAEA,SAQA,MAEA,QAEA,SACA,WAEA,SAEA,UACA,UACA,WAEA,KACA,KAEA,MAEA,MACA,QAEA,UAIA,MACA,SACA,SACA,SAKA,UACA,UAEA,MAEA,UAKA,UACA,UACA,UACA,WACA,cAKA,QAEA,MACA,QAEA,OACA,QAOA,OAEA,WACA,WACA,WACA,YACA,gBAEAC,aAAA,CACA,SACA,UAEA,UACA,cAEA,WAEA,WACA,eACA,eACA,eACA,eACA,eAEA,UACA,WACA,UACA,iBAEA,UACA,YACA,YAEA,WAEA,cACA,cACA,cAEA,OACA,SACA,UACA,QACA,UACA,WAEA,OACA,SACA,UACA,UACA,YACA,aAEA,OACA,SACA,UACA,SACA,WACA,YAEA,SACA,YAEA,SAEA,YAEA,cACA,eAEA,aAEA,iBACA,kBAEAC,aAAA,CAEA,MACA,SACA,UAEA,QAEA,QACA,WACA,YAEA,QACA,SAEA,SAEA,SACA,SAEA,UAEA,SACA,UAEA,WACA,WAEA,UACA,YACA,aAEAC,uBAAA,CACA,OACA,OACA,MACA,QACA,QACA,OACA,QACA,OACA,QACA,QACA,OACA,MACA,OACA,MACA,QACA,OACA,aACA,aACA,YACA,YACA,YACA,WACA,QACA,QACA,QACA,OACA,QACA,QACA,OACA,SACA,SACA,QACA,UACA,UACA,SACA,aACA,aACA,YACA,YACA,YACA,WACA,QACA,QACA,OACA,QACA,QACA,OACA,QACA,SACA,SACA,WACA,UACA,eACA,YACA,OACA,MACA,SACA,SAEAC,eAAA,CACA,OACA,SACA,OACA,MACA,QACA,OACA,OACA,OACA,OACA,QACA,SACA,UAGAC,iBAAA,CACA,IACA,MACA,MACA,MACA,SACA,SACA,SACA,MACA,MACA,KAEAC,UAAA,CACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IAEA,KACA,MAEA,KAEA,MACA,OACA,MACA,QAEA,IACA,IAEA,KAEA,KACA,KAEA,OAEA,KAEA,OAEAb,SAAA,CACA,CAASE,KAAA,KAAAC,MAAA,IAAAW,MAAA,yBACT,CAASZ,KAAA,KAAAC,MAAA,IAAAW,MAAA,yBACT,CAASZ,KAAA,KAAAC,MAAA,IAAAW,MAAA,yBACT,CAASZ,KAAA,KAAAC,MAAA,IAAAW,MAAA,yBACT,CAASZ,KAAA,KAAWC,MAAA,IAAYW,MAAA,yBAChC,CAASZ,KAAA,KAAAC,MAAA,IAAAW,MAAA,yBACT,CAASZ,KAAA,KAAUC,MAAA,IAAYW,MAAA,mBAC/B,CAASZ,KAAA,KAAAC,MAAA,IAAAW,MAAA,oBACT,CAASZ,KAAA,KAAAC,MAAA,IAAAW,MAAA,oBACT,CAASZ,KAAA,IAASC,MAAA,IAAYW,MAAA,mBAC9B,CAASZ,KAAA,IAAAC,MAAA,IAAAW,MAAA,oBACT,CAASZ,KAAA,IAAAC,MAAA,IAAAW,MAAA,yBACT,CAASZ,KAAA,IAAAC,MAAA,IAAAW,MAAA,oBAGTC,QAAA,wBACAC,SAAA,YACAC,SAAA,iBACAC,SAAA,yBACAC,MAAA,QACAC,UAAA,UACAC,OAAA,cACAC,WAAA,WACAC,MAAA,SACAC,QAAA,SACAC,UAAA,kBACAC,cAAA,kBACAC,QAAA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","file":"js/chunk-2d0cf16e.3691ea11.js","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Artyom Shalkhakov. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *\n * Based on the ATS/Postiats lexer by Hongwei Xi.\n *--------------------------------------------------------------------------------------------*/\n'use strict';\nexport var conf = {\n comments: {\n lineComment: '//',\n blockComment: ['(*', '*)'],\n },\n brackets: [['{', '}'], ['[', ']'], ['(', ')'], ['<', '>']],\n autoClosingPairs: [\n { open: '\"', close: '\"', notIn: ['string', 'comment'] },\n { open: '{', close: '}', notIn: ['string', 'comment'] },\n { open: '[', close: ']', notIn: ['string', 'comment'] },\n { open: '(', close: ')', notIn: ['string', 'comment'] },\n ]\n};\nexport var language = {\n tokenPostfix: '.pats',\n // TODO: staload and dynload are followed by a special kind of string literals\n // with {$IDENTIFER} variables, and it also may make sense to highlight\n // the punctuation (. and / and \\) differently.\n // Set defaultToken to invalid to see what you do not tokenize yet\n defaultToken: 'invalid',\n // keyword reference: https://github.com/githwxi/ATS-Postiats/blob/master/src/pats_lexing_token.dats\n keywords: [\n //\n \"abstype\",\n \"abst0ype\",\n \"absprop\",\n \"absview\",\n \"absvtype\",\n \"absviewtype\",\n \"absvt0ype\",\n \"absviewt0ype\",\n //\n \"as\",\n //\n \"and\",\n //\n \"assume\",\n //\n \"begin\",\n //\n /*\n \"case\", // CASE\n */\n //\n \"classdec\",\n //\n \"datasort\",\n //\n \"datatype\",\n \"dataprop\",\n \"dataview\",\n \"datavtype\",\n \"dataviewtype\",\n //\n \"do\",\n //\n \"end\",\n //\n \"extern\",\n \"extype\",\n \"extvar\",\n //\n \"exception\",\n //\n \"fn\",\n \"fnx\",\n \"fun\",\n //\n \"prfn\",\n \"prfun\",\n //\n \"praxi\",\n \"castfn\",\n //\n \"if\",\n \"then\",\n \"else\",\n //\n \"ifcase\",\n //\n \"in\",\n //\n \"infix\",\n \"infixl\",\n \"infixr\",\n \"prefix\",\n \"postfix\",\n //\n \"implmnt\",\n \"implement\",\n //\n \"primplmnt\",\n \"primplement\",\n //\n \"import\",\n //\n /*\n \"lam\", // LAM\n \"llam\", // LLAM\n \"fix\", // FIX\n */\n //\n \"let\",\n //\n \"local\",\n //\n \"macdef\",\n \"macrodef\",\n //\n \"nonfix\",\n //\n \"symelim\",\n \"symintr\",\n \"overload\",\n //\n \"of\",\n \"op\",\n //\n \"rec\",\n //\n \"sif\",\n \"scase\",\n //\n \"sortdef\",\n /*\n // HX: [sta] is now deprecated\n */\n \"sta\",\n \"stacst\",\n \"stadef\",\n \"static\",\n /*\n \"stavar\", // T_STAVAR\n */\n //\n \"staload\",\n \"dynload\",\n //\n \"try\",\n //\n \"tkindef\",\n //\n /*\n \"type\", // TYPE\n */\n \"typedef\",\n \"propdef\",\n \"viewdef\",\n \"vtypedef\",\n \"viewtypedef\",\n //\n /*\n \"val\", // VAL\n */\n \"prval\",\n //\n \"var\",\n \"prvar\",\n //\n \"when\",\n \"where\",\n //\n /*\n \"for\", // T_FOR\n \"while\", // T_WHILE\n */\n //\n \"with\",\n //\n \"withtype\",\n \"withprop\",\n \"withview\",\n \"withvtype\",\n \"withviewtype\",\n ],\n keywords_dlr: [\n \"$delay\",\n \"$ldelay\",\n //\n \"$arrpsz\",\n \"$arrptrsize\",\n //\n \"$d2ctype\",\n //\n \"$effmask\",\n \"$effmask_ntm\",\n \"$effmask_exn\",\n \"$effmask_ref\",\n \"$effmask_wrt\",\n \"$effmask_all\",\n //\n \"$extern\",\n \"$extkind\",\n \"$extype\",\n \"$extype_struct\",\n //\n \"$extval\",\n \"$extfcall\",\n \"$extmcall\",\n //\n \"$literal\",\n //\n \"$myfilename\",\n \"$mylocation\",\n \"$myfunction\",\n //\n \"$lst\",\n \"$lst_t\",\n \"$lst_vt\",\n \"$list\",\n \"$list_t\",\n \"$list_vt\",\n //\n \"$rec\",\n \"$rec_t\",\n \"$rec_vt\",\n \"$record\",\n \"$record_t\",\n \"$record_vt\",\n //\n \"$tup\",\n \"$tup_t\",\n \"$tup_vt\",\n \"$tuple\",\n \"$tuple_t\",\n \"$tuple_vt\",\n //\n \"$break\",\n \"$continue\",\n //\n \"$raise\",\n //\n \"$showtype\",\n //\n \"$vcopyenv_v\",\n \"$vcopyenv_vt\",\n //\n \"$tempenver\",\n //\n \"$solver_assert\",\n \"$solver_verify\",\n ],\n keywords_srp: [\n //\n \"#if\",\n \"#ifdef\",\n \"#ifndef\",\n //\n \"#then\",\n //\n \"#elif\",\n \"#elifdef\",\n \"#elifndef\",\n //\n \"#else\",\n \"#endif\",\n //\n \"#error\",\n //\n \"#prerr\",\n \"#print\",\n //\n \"#assert\",\n //\n \"#undef\",\n \"#define\",\n //\n \"#include\",\n \"#require\",\n //\n \"#pragma\",\n \"#codegen2\",\n \"#codegen3\",\n ],\n irregular_keyword_list: [\n \"val+\",\n \"val-\",\n \"val\",\n \"case+\",\n \"case-\",\n \"case\",\n \"addr@\",\n \"addr\",\n \"fold@\",\n \"free@\",\n \"fix@\",\n \"fix\",\n \"lam@\",\n \"lam\",\n \"llam@\",\n \"llam\",\n \"viewt@ype+\",\n \"viewt@ype-\",\n \"viewt@ype\",\n \"viewtype+\",\n \"viewtype-\",\n \"viewtype\",\n \"view+\",\n \"view-\",\n \"view@\",\n \"view\",\n \"type+\",\n \"type-\",\n \"type\",\n \"vtype+\",\n \"vtype-\",\n \"vtype\",\n \"vt@ype+\",\n \"vt@ype-\",\n \"vt@ype\",\n \"viewt@ype+\",\n \"viewt@ype-\",\n \"viewt@ype\",\n \"viewtype+\",\n \"viewtype-\",\n \"viewtype\",\n \"prop+\",\n \"prop-\",\n \"prop\",\n \"type+\",\n \"type-\",\n \"type\",\n \"t@ype\",\n \"t@ype+\",\n \"t@ype-\",\n \"abst@ype\",\n \"abstype\",\n \"absviewt@ype\",\n \"absvt@ype\",\n \"for*\",\n \"for\",\n \"while*\",\n \"while\"\n ],\n keywords_types: [\n 'bool',\n 'double',\n 'byte',\n 'int',\n 'short',\n 'char',\n 'void',\n 'unit',\n 'long',\n 'float',\n 'string',\n 'strptr'\n ],\n // TODO: reference for this?\n keywords_effects: [\n \"0\",\n \"fun\",\n \"clo\",\n \"prf\",\n \"funclo\",\n \"cloptr\",\n \"cloref\",\n \"ref\",\n \"ntm\",\n \"1\" // all effects\n ],\n operators: [\n \"@\",\n \"!\",\n \"|\",\n \"`\",\n \":\",\n \"$\",\n \".\",\n \"=\",\n \"#\",\n \"~\",\n //\n \"..\",\n \"...\",\n //\n \"=>\",\n // \"=<\", // T_EQLT\n \"=<>\",\n \"=/=>\",\n \"=>>\",\n \"=/=>>\",\n //\n \"<\",\n \">\",\n //\n \"><\",\n //\n \".<\",\n \">.\",\n //\n \".<>.\",\n //\n \"->\",\n //\"-<\", // T_MINUSLT\n \"-<>\",\n ],\n brackets: [\n { open: ',(', close: ')', token: 'delimiter.parenthesis' },\n { open: '`(', close: ')', token: 'delimiter.parenthesis' },\n { open: '%(', close: ')', token: 'delimiter.parenthesis' },\n { open: '\\'(', close: ')', token: 'delimiter.parenthesis' },\n { open: '\\'{', close: '}', token: 'delimiter.parenthesis' },\n { open: '@(', close: ')', token: 'delimiter.parenthesis' },\n { open: '@{', close: '}', token: 'delimiter.brace' },\n { open: '@[', close: ']', token: 'delimiter.square' },\n { open: '#[', close: ']', token: 'delimiter.square' },\n { open: '{', close: '}', token: 'delimiter.curly' },\n { open: '[', close: ']', token: 'delimiter.square' },\n { open: '(', close: ')', token: 'delimiter.parenthesis' },\n { open: '<', close: '>', token: 'delimiter.angle' }\n ],\n // we include these common regular expressions\n symbols: /[=>]/,\n digit: /[0-9]/,\n digitseq0: /@digit*/,\n xdigit: /[0-9A-Za-z]/,\n xdigitseq0: /@xdigit*/,\n INTSP: /[lLuU]/,\n FLOATSP: /[fFlL]/,\n fexponent: /[eE][+-]?[0-9]+/,\n fexponent_bin: /[pP][+-]?[0-9]+/,\n deciexp: /\\.[0-9]*@fexponent?/,\n hexiexp: /\\.[0-9a-zA-Z]*@fexponent_bin?/,\n irregular_keywords: /val[+-]?|case[+-]?|addr\\@?|fold\\@|free\\@|fix\\@?|lam\\@?|llam\\@?|prop[+-]?|type[+-]?|view[+-@]?|viewt@?ype[+-]?|t@?ype[+-]?|v(iew)?t@?ype[+-]?|abst@?ype|absv(iew)?t@?ype|for\\*?|while\\*?/,\n ESCHAR: /[ntvbrfa\\\\\\?'\"\\(\\[\\{]/,\n start: 'root',\n // The main tokenizer for ATS/Postiats\n // reference: https://github.com/githwxi/ATS-Postiats/blob/master/src/pats_lexing.dats\n tokenizer: {\n root: [\n // lexing_blankseq0\n { regex: /[ \\t\\r\\n]+/, action: { token: '' } },\n // NOTE: (*) is an invalid ML-like comment!\n { regex: /\\(\\*\\)/, action: { token: 'invalid' } },\n { regex: /\\(\\*/, action: { token: 'comment', next: 'lexing_COMMENT_block_ml' } },\n { regex: /\\(/, action: '@brackets' /*{ token: 'delimiter.parenthesis' }*/ },\n { regex: /\\)/, action: '@brackets' /*{ token: 'delimiter.parenthesis' }*/ },\n { regex: /\\[/, action: '@brackets' /*{ token: 'delimiter.bracket' }*/ },\n { regex: /\\]/, action: '@brackets' /*{ token: 'delimiter.bracket' }*/ },\n { regex: /\\{/, action: '@brackets' /*{ token: 'delimiter.brace' }*/ },\n { regex: /\\}/, action: '@brackets' /*{ token: 'delimiter.brace' }*/ },\n // lexing_COMMA\n { regex: /,\\(/, action: '@brackets' /*{ token: 'delimiter.parenthesis' }*/ },\n { regex: /,/, action: { token: 'delimiter.comma' } },\n { regex: /;/, action: { token: 'delimiter.semicolon' } },\n // lexing_AT\n { regex: /@\\(/, action: '@brackets' /* { token: 'delimiter.parenthesis' }*/ },\n { regex: /@\\[/, action: '@brackets' /* { token: 'delimiter.bracket' }*/ },\n { regex: /@\\{/, action: '@brackets' /*{ token: 'delimiter.brace' }*/ },\n // lexing_COLON\n { regex: /: lexing_IDENT_sym\n . FLOATDOT => lexing_FLOAT_deciexp\n . DIGIT => T_DOTINT\n */\n { regex: /\\.@symbolic+/, action: { token: 'identifier.sym' } },\n // FLOATDOT case\n { regex: /\\.@digit*@fexponent@FLOATSP*/, action: { token: 'number.float' } },\n { regex: /\\.@digit+/, action: { token: 'number.float' } },\n // lexing_DOLLAR:\n // '$' IDENTFST IDENTRST* => lexing_IDENT_dlr, _ => lexing_IDENT_sym\n {\n regex: /\\$@IDENTFST@IDENTRST*/,\n action: {\n cases: {\n '@keywords_dlr': { token: 'keyword.dlr' },\n '@default': { token: 'namespace' },\n }\n }\n },\n // lexing_SHARP:\n // '#' IDENTFST IDENTRST* => lexing_ident_srp, _ => lexing_IDENT_sym\n {\n regex: /\\#@IDENTFST@IDENTRST*/,\n action: {\n cases: {\n '@keywords_srp': { token: 'keyword.srp' },\n '@default': { token: 'identifier' },\n }\n }\n },\n // lexing_PERCENT:\n { regex: /%\\(/, action: { token: 'delimiter.parenthesis' } },\n { regex: /^%{(#|\\^|\\$)?/, action: { token: 'keyword', next: '@lexing_EXTCODE', nextEmbedded: 'text/javascript' } },\n { regex: /^%}/, action: { token: 'keyword' } },\n // lexing_QUOTE\n { regex: /'\\(/, action: { token: 'delimiter.parenthesis' } },\n { regex: /'\\[/, action: { token: 'delimiter.bracket' } },\n { regex: /'\\{/, action: { token: 'delimiter.brace' } },\n [/(')(\\\\@ESCHAR|\\\\[xX]@xdigit+|\\\\@digit+)(')/, ['string', 'string.escape', 'string']],\n [/'[^\\\\']'/, 'string'],\n // lexing_DQUOTE\n [/\"/, 'string.quote', '@lexing_DQUOTE'],\n // lexing_BQUOTE\n { regex: /`\\(/, action: '@brackets' /* { token: 'delimiter.parenthesis' }*/ },\n // TODO: otherwise, try lexing_IDENT_sym\n { regex: /\\\\/, action: { token: 'punctuation' } },\n // lexing_IDENT_alp:\n // NOTE: (?!regex) is syntax for \"not-followed-by\" regex\n // to resolve ambiguity such as foreach$fwork being incorrectly lexed as [for] [each$fwork]!\n { regex: /@irregular_keywords(?!@IDENTRST)/, action: { token: 'keyword' } },\n {\n regex: /@IDENTFST@IDENTRST*[ punctuation\n // ({\\$)([a-zA-Z_][a-zA-Z_0-9]*)(}) => punctuation,keyword,punctuation\n // [^\"] => identifier/literal\n '@keywords': { token: 'keyword' },\n '@keywords_types': { token: 'type' },\n '@default': { token: 'identifier' }\n }\n }\n },\n // lexing_IDENT_sym:\n { regex: /\\/\\/\\/\\//, action: { token: 'comment', next: '@lexing_COMMENT_rest' } },\n { regex: /\\/\\/.*$/, action: { token: 'comment' } },\n { regex: /\\/\\*/, action: { token: 'comment', next: '@lexing_COMMENT_block_c' } },\n // AS-20160627: specifically for effect annotations\n { regex: /-<|= lexing_FLOAT_hexiexp\n // - testing_fexponent_bin => lexing_FLOAT_hexiexp\n // - testing_intspseq0 => T_INT_hex\n // lexing_INT_hex:\n { regex: /0[xX]@xdigit+(@hexiexp|@fexponent_bin)@FLOATSP*/, action: { token: 'number.float' } },\n { regex: /0[xX]@xdigit+@INTSP*/, action: { token: 'number.hex' } },\n { regex: /0[0-7]+(?![0-9])@INTSP*/, action: { token: 'number.octal' } },\n //{regex: /0/, action: { token: 'number' } }, // INTZERO\n // lexing_INT_dec:\n // - testing_deciexp => lexing_FLOAT_deciexp\n // - testing_fexponent => lexing_FLOAT_deciexp\n // - otherwise => intspseq0 ([0-9]*[lLuU]?)\n { regex: /@digit+(@fexponent|@deciexp)@FLOATSP*/, action: { token: 'number.float' } },\n { regex: /@digit@digitseq0@INTSP*/, action: { token: 'number.decimal' } },\n // DIGIT, if followed by digitseq0, is lexing_INT_dec\n { regex: /@digit+@INTSP*/, action: { token: 'number' } },\n ],\n lexing_COMMENT_block_ml: [\n [/[^\\(\\*]+/, 'comment'],\n [/\\(\\*/, 'comment', '@push'],\n [/\\(\\*/, 'comment.invalid'],\n [/\\*\\)/, 'comment', '@pop'],\n [/\\*/, 'comment']\n ],\n lexing_COMMENT_block_c: [\n [/[^\\/*]+/, 'comment'],\n // [/\\/\\*/, 'comment', '@push' ], // nested C-style block comments not allowed\n // [/\\/\\*/, 'comment.invalid' ],\t// NOTE: this breaks block comments in the shape of /* //*/\n [/\\*\\//, 'comment', '@pop'],\n [/[\\/*]/, 'comment']\n ],\n lexing_COMMENT_rest: [\n [/$/, 'comment', '@pop'],\n [/.*/, 'comment']\n ],\n // NOTE: added by AS, specifically for highlighting\n lexing_EFFECT_commaseq0: [\n {\n regex: /@IDENTFST@IDENTRST+|@digit+/,\n action: {\n cases: {\n '@keywords_effects': { token: 'type.effect' },\n '@default': { token: 'identifier' }\n }\n }\n },\n { regex: /,/, action: { token: 'punctuation' } },\n { regex: />/, action: { token: '@rematch', next: '@pop' } },\n ],\n lexing_EXTCODE: [\n { regex: /^%}/, action: { token: '@rematch', next: '@pop', nextEmbedded: '@pop' } },\n { regex: /[^%]+/, action: '' },\n ],\n lexing_DQUOTE: [\n { regex: /\"/, action: { token: 'string.quote', next: '@pop' } },\n // AS-20160628: additional hi-lighting for variables in staload/dynload strings\n { regex: /(\\{\\$)(@IDENTFST@IDENTRST*)(\\})/, action: [{ token: 'string.escape' }, { token: 'identifier' }, { token: 'string.escape' }] },\n { regex: /\\\\$/, action: { token: 'string.escape' } },\n { regex: /\\\\(@ESCHAR|[xX]@xdigit+|@digit+)/, action: { token: 'string.escape' } },\n { regex: /[^\\\\\"]+/, action: { token: 'string' } }\n ],\n },\n};\n"],"sourceRoot":""}