{"version":3,"file":"tcl.mjs","sources":["../../../../../../node_modules/highlight.js/lib/languages/tcl.js"],"sourcesContent":["/*\nLanguage: Tcl\nDescription: Tcl is a very simple programming language.\nAuthor: Radek Liska <radekliska@gmail.com>\nWebsite: https://www.tcl.tk/about/language.html\nCategory: scripting\n*/\n\nfunction tcl(hljs) {\n  const regex = hljs.regex;\n  const TCL_IDENT = /[a-zA-Z_][a-zA-Z0-9_]*/;\n\n  const NUMBER = {\n    className: 'number',\n    variants: [\n      hljs.BINARY_NUMBER_MODE,\n      hljs.C_NUMBER_MODE\n    ]\n  };\n\n  const KEYWORDS = [\n    \"after\",\n    \"append\",\n    \"apply\",\n    \"array\",\n    \"auto_execok\",\n    \"auto_import\",\n    \"auto_load\",\n    \"auto_mkindex\",\n    \"auto_mkindex_old\",\n    \"auto_qualify\",\n    \"auto_reset\",\n    \"bgerror\",\n    \"binary\",\n    \"break\",\n    \"catch\",\n    \"cd\",\n    \"chan\",\n    \"clock\",\n    \"close\",\n    \"concat\",\n    \"continue\",\n    \"dde\",\n    \"dict\",\n    \"encoding\",\n    \"eof\",\n    \"error\",\n    \"eval\",\n    \"exec\",\n    \"exit\",\n    \"expr\",\n    \"fblocked\",\n    \"fconfigure\",\n    \"fcopy\",\n    \"file\",\n    \"fileevent\",\n    \"filename\",\n    \"flush\",\n    \"for\",\n    \"foreach\",\n    \"format\",\n    \"gets\",\n    \"glob\",\n    \"global\",\n    \"history\",\n    \"http\",\n    \"if\",\n    \"incr\",\n    \"info\",\n    \"interp\",\n    \"join\",\n    \"lappend|10\",\n    \"lassign|10\",\n    \"lindex|10\",\n    \"linsert|10\",\n    \"list\",\n    \"llength|10\",\n    \"load\",\n    \"lrange|10\",\n    \"lrepeat|10\",\n    \"lreplace|10\",\n    \"lreverse|10\",\n    \"lsearch|10\",\n    \"lset|10\",\n    \"lsort|10\",\n    \"mathfunc\",\n    \"mathop\",\n    \"memory\",\n    \"msgcat\",\n    \"namespace\",\n    \"open\",\n    \"package\",\n    \"parray\",\n    \"pid\",\n    \"pkg::create\",\n    \"pkg_mkIndex\",\n    \"platform\",\n    \"platform::shell\",\n    \"proc\",\n    \"puts\",\n    \"pwd\",\n    \"read\",\n    \"refchan\",\n    \"regexp\",\n    \"registry\",\n    \"regsub|10\",\n    \"rename\",\n    \"return\",\n    \"safe\",\n    \"scan\",\n    \"seek\",\n    \"set\",\n    \"socket\",\n    \"source\",\n    \"split\",\n    \"string\",\n    \"subst\",\n    \"switch\",\n    \"tcl_endOfWord\",\n    \"tcl_findLibrary\",\n    \"tcl_startOfNextWord\",\n    \"tcl_startOfPreviousWord\",\n    \"tcl_wordBreakAfter\",\n    \"tcl_wordBreakBefore\",\n    \"tcltest\",\n    \"tclvars\",\n    \"tell\",\n    \"time\",\n    \"tm\",\n    \"trace\",\n    \"unknown\",\n    \"unload\",\n    \"unset\",\n    \"update\",\n    \"uplevel\",\n    \"upvar\",\n    \"variable\",\n    \"vwait\",\n    \"while\"\n  ];\n\n  return {\n    name: 'Tcl',\n    aliases: [ 'tk' ],\n    keywords: KEYWORDS,\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          { begin: regex.concat(\n            /\\$/,\n            regex.optional(/::/),\n            TCL_IDENT,\n            '(::',\n            TCL_IDENT,\n            ')*'\n          ) },\n          {\n            begin: '\\\\$\\\\{(::)?[a-zA-Z_]((::)?[a-zA-Z0-9_])*',\n            end: '\\\\}',\n            contains: [ NUMBER ]\n          }\n        ]\n      },\n      {\n        className: 'string',\n        contains: [ hljs.BACKSLASH_ESCAPE ],\n        variants: [ hljs.inherit(hljs.QUOTE_STRING_MODE, { illegal: null }) ]\n      },\n      NUMBER\n    ]\n  };\n}\n\nmodule.exports = tcl;\n"],"names":["tcl","hljs","regex","TCL_IDENT","NUMBER","tcl_1"],"mappings":";;;;AAQA,WAASA,EAAIC,GAAM;AACjB,UAAMC,IAAQD,EAAK,OACbE,IAAY,0BAEZC,IAAS;AAAA,MACb,WAAW;AAAA,MACX,UAAU;AAAA,QACRH,EAAK;AAAA,QACLA,EAAK;AAAA;IAEX;AA2HE,WAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS,CAAE,IAAI;AAAA,MACf,UA5He;AAAA,QACf;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACJ;AAAA,MAMI,UAAU;AAAA,QACRA,EAAK,QAAQ,aAAa,GAAG;AAAA,QAC7BA,EAAK,QAAQ,aAAa,GAAG;AAAA,QAC7B;AAAA,UACE,eAAe;AAAA,UACf,KAAK;AAAA,UACL,YAAY;AAAA,UACZ,UAAU;AAAA,YACR;AAAA,cACE,WAAW;AAAA,cACX,OAAO;AAAA,cACP,KAAK;AAAA,cACL,gBAAgB;AAAA,cAChB,YAAY;AAAA;;;QAIlB;AAAA,UACE,WAAW;AAAA,UACX,UAAU;AAAA,YACR,EAAE,OAAOC,EAAM;AAAA,cACb;AAAA,cACAA,EAAM,SAAS,IAAI;AAAA,cACnBC;AAAA,cACA;AAAA,cACAA;AAAA,cACA;AAAA,YACZ,EAAW;AAAA,YACD;AAAA,cACE,OAAO;AAAA,cACP,KAAK;AAAA,cACL,UAAU,CAAEC,CAAM;AAAA;;;QAIxB;AAAA,UACE,WAAW;AAAA,UACX,UAAU,CAAEH,EAAK,gBAAgB;AAAA,UACjC,UAAU,CAAEA,EAAK,QAAQA,EAAK,mBAAmB,EAAE,SAAS,MAAM,CAAC;AAAA;QAErEG;AAAA;IAEN;AAAA,EACA;AAEA,SAAAC,IAAiBL;;","x_google_ignoreList":[0]}