function u(t){for(var r={},a=t.split(" "),e=0;e!?^\/\|]/;function i(t,r,a){return r.tokenize=a,a(t,r)}function o(t,r){var a=r.beforeParams;r.beforeParams=!1;var e=t.next();if((e=='"'||e=="'")&&r.inParams)return i(t,r,m(e));if(/[\[\]{}\(\),;\.]/.test(e))return e=="("&&a?r.inParams=!0:e==")"&&(r.inParams=!1),null;if(/\d/.test(e))return t.eatWhile(/[\w\.]/),"number";if(e=="#")return t.eat("*")?i(t,r,p):e=="#"&&t.match(/ *\[ *\[/)?i(t,r,d):(t.skipToEnd(),"comment");if(e=='"')return t.skipTo(/"/),"comment";if(e=="$")return t.eatWhile(/[$_a-z0-9A-Z\.{:]/),t.eatWhile(/}/),r.beforeParams=!0,"builtin";if(c.test(e))return t.eatWhile(c),"comment";t.eatWhile(/[\w\$_{}\xa1-\uffff]/);var n=t.current().toLowerCase();return f&&f.propertyIsEnumerable(n)?"keyword":s&&s.propertyIsEnumerable(n)?(r.beforeParams=!0,"keyword"):null}function m(t){return function(r,a){for(var e=!1,n,l=!1;(n=r.next())!=null;){if(n==t&&!e){l=!0;break}e=!e&&n=="\\"}return l&&(a.tokenize=o),"string"}}function p(t,r){for(var a=!1,e;e=t.next();){if(e=="#"&&a){r.tokenize=o;break}a=e=="*"}return"comment"}function d(t,r){for(var a=0,e;e=t.next();){if(e=="#"&&a==2){r.tokenize=o;break}e=="]"?a++:e!=" "&&(a=0)}return"meta"}const k={name:"tcl",startState:function(){return{tokenize:o,beforeParams:!1,inParams:!1}},token:function(t,r){return t.eatSpace()?null:r.tokenize(t,r)},languageData:{commentTokens:{line:"#"}}};export{k as tcl};