{"version":3,"sources":["webpack:///text/node_modules/highlight.js/lib/languages/tcl.js"],"names":["concat","args","map","x","source","re","join","module","exports","hljs","TCL_IDENT","NUMBER","className","variants","BINARY_NUMBER_MODE","C_NUMBER_MODE","name","aliases","keywords","contains","COMMENT","beginKeywords","end","excludeEnd","begin","endsWithParent","BACKSLASH_ESCAPE","inherit","QUOTE_STRING_MODE","illegal"],"mappings":"6FA4BA,SAASA,KAAUC,GAEjB,OADeA,EAAKC,KAAKC,IAAMC,OApBjBC,EAoBwBF,GAlBpB,iBAAPE,EAAwBA,EAE5BA,EAAGD,OAHM,KADlB,IAAgBC,KAoB4BC,KAAK,IAqFjDC,EAAOC,QA1EP,SAAaC,GACX,MAAMC,EAAY,yBAEZC,EAAS,CACbC,UAAW,SACXC,SAAU,CAACJ,EAAKK,mBAAoBL,EAAKM,gBAG3C,MAAO,CACLC,KAAM,MACNC,QAAS,CAAC,MACVC,SAAU,+6BAYVC,SAAU,CACRV,EAAKW,QAAQ,YAAa,KAC1BX,EAAKW,QAAQ,YAAa,KAC1B,CACEC,cAAe,OACfC,IAAK,QACLC,YAAY,EACZJ,SAAU,CACR,CACEP,UAAW,QACXY,MAAO,kDACPF,IAAK,eACLG,gBAAgB,EAChBF,YAAY,KAIlB,CACEX,UAAW,WACXC,SAAU,CACR,CACEW,MAAOxB,EACL,MAjEIK,EAkEK,KAjEdL,EAAO,IAAKK,EAAI,OAkEXK,EACA,MACAA,EACA,OAGJ,CACEc,MAAO,2CACPF,IAAK,MACLH,SAAU,CACRR,MAKR,CACEC,UAAW,SACXO,SAAU,CAACV,EAAKiB,kBAChBb,SAAU,CACRJ,EAAKkB,QAAQlB,EAAKmB,kBAAmB,CAACC,QAAS,SAGnDlB,IAzFN,IAAkBN","file":"highlight/tcl.js?v=d755b1f2172c036cd206","sourcesContent":["/**\n * @param {string} value\n * @returns {RegExp}\n * */\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction source(re) {\n if (!re) return null;\n if (typeof re === \"string\") return re;\n\n return re.source;\n}\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction optional(re) {\n return concat('(', re, ')?');\n}\n\n/**\n * @param {...(RegExp | string) } args\n * @returns {string}\n */\nfunction concat(...args) {\n const joined = args.map((x) => source(x)).join(\"\");\n return joined;\n}\n\n/*\nLanguage: Tcl\nDescription: Tcl is a very simple programming language.\nAuthor: Radek Liska \nWebsite: https://www.tcl.tk/about/language.html\n*/\n\nfunction tcl(hljs) {\n const TCL_IDENT = /[a-zA-Z_][a-zA-Z0-9_]*/;\n\n const NUMBER = {\n className: 'number',\n variants: [hljs.BINARY_NUMBER_MODE, hljs.C_NUMBER_MODE]\n };\n\n return {\n name: 'Tcl',\n aliases: ['tk'],\n keywords: 'after append apply array auto_execok auto_import auto_load auto_mkindex ' +\n 'auto_mkindex_old auto_qualify auto_reset bgerror binary break catch cd chan clock ' +\n 'close concat continue dde dict encoding eof error eval exec exit expr fblocked ' +\n 'fconfigure fcopy file fileevent filename flush for foreach format gets glob global ' +\n 'history http if incr info interp join lappend|10 lassign|10 lindex|10 linsert|10 list ' +\n 'llength|10 load lrange|10 lrepeat|10 lreplace|10 lreverse|10 lsearch|10 lset|10 lsort|10 '+\n 'mathfunc mathop memory msgcat namespace open package parray pid pkg::create pkg_mkIndex '+\n 'platform platform::shell proc puts pwd read refchan regexp registry regsub|10 rename '+\n 'return safe scan seek set socket source split string subst switch tcl_endOfWord '+\n 'tcl_findLibrary tcl_startOfNextWord tcl_startOfPreviousWord tcl_wordBreakAfter '+\n 'tcl_wordBreakBefore tcltest tclvars tell time tm trace unknown unload unset update '+\n 'uplevel upvar variable vwait while',\n contains: [\n hljs.COMMENT(';[ \\\\t]*#', '$'),\n hljs.COMMENT('^[ \\\\t]*#', '$'),\n {\n beginKeywords: 'proc',\n end: '[\\\\{]',\n excludeEnd: true,\n contains: [\n {\n className: 'title',\n begin: '[ \\\\t\\\\n\\\\r]+(::)?[a-zA-Z_]((::)?[a-zA-Z0-9_])*',\n end: '[ \\\\t\\\\n\\\\r]',\n endsWithParent: true,\n excludeEnd: true\n }\n ]\n },\n {\n className: \"variable\",\n variants: [\n {\n begin: concat(\n /\\$/,\n optional(/::/),\n TCL_IDENT,\n '(::',\n TCL_IDENT,\n ')*'\n )\n },\n {\n begin: '\\\\$\\\\{(::)?[a-zA-Z_]((::)?[a-zA-Z0-9_])*',\n end: '\\\\}',\n contains: [\n NUMBER\n ]\n }\n ]\n },\n {\n className: 'string',\n contains: [hljs.BACKSLASH_ESCAPE],\n variants: [\n hljs.inherit(hljs.QUOTE_STRING_MODE, {illegal: null})\n ]\n },\n NUMBER\n ]\n }\n}\n\nmodule.exports = tcl;\n"],"sourceRoot":""}