function u(n,t,e){return function(r,f){for(;!r.eol();){if(r.match(t)){f.tokenize=a;break}r.next()}return e&&(f.tokenize=e),n}}function p(n){return function(t,e){for(;!t.eol();)t.next();return e.tokenize=a,n}}function a(n,t){function e(m){return t.tokenize=m,m(n,t)}var r=n.sol(),f=n.next();switch(f){case"{":return n.eat("/"),n.eatSpace(),n.eatWhile(/[^\s\u00a0=\"\'\/?(}]/),t.tokenize=g,"tag";case"_":if(n.eat("_"))return e(u("strong","__",a));break;case"'":if(n.eat("'"))return e(u("em","''",a));break;case"(":if(n.eat("("))return e(u("link","))",a));break;case"[":return e(u("url","]",a));case"|":if(n.eat("|"))return e(u("comment","||"));break;case"-":if(n.eat("="))return e(u("header string","=-",a));if(n.eat("-"))return e(u("error tw-deleted","--",a));break;case"=":if(n.match("=="))return e(u("tw-underline","===",a));break;case":":if(n.eat(":"))return e(u("comment","::"));break;case"^":return e(u("tw-box","^"));case"~":if(n.match("np~"))return e(u("meta","~/np~"));break}if(r)switch(f){case"!":return n.match("!!!!!")||n.match("!!!!")||n.match("!!!")||n.match("!!"),e(p("header string"));case"*":case"#":case"+":return e(p("tw-listitem bracket"))}return null}var k,l;function g(n,t){var e=n.next(),r=n.peek();return e=="}"?(t.tokenize=a,"tag"):e=="("||e==")"?"bracket":e=="="?(l="equals",r==">"&&(n.next(),r=n.peek()),/[\'\"]/.test(r)||(t.tokenize=z()),"operator"):/[\'\"]/.test(e)?(t.tokenize=v(e),t.tokenize(n,t)):(n.eatWhile(/[^\s\u00a0=\"\'\/?]/),"keyword")}function v(n){return function(t,e){for(;!t.eol();)if(t.next()==n){e.tokenize=g;break}return"string"}}function z(){return function(n,t){for(;!n.eol();){var e=n.next(),r=n.peek();if(e==" "||e==","||/[ )}]/.test(r)){t.tokenize=g;break}}return"string"}}var i,c;function s(){for(var n=arguments.length-1;n>=0;n--)i.cc.push(arguments[n])}function o(){return s.apply(null,arguments),!0}function b(n,t){var e=i.context&&i.context.noIndent;i.context={prev:i.context,pluginName:n,indent:i.indented,startOfLine:t,noIndent:e}}function x(){i.context&&(i.context=i.context.prev)}function w(n){if(n=="openPlugin")return i.pluginName=k,o(d,L(i.startOfLine));if(n=="closePlugin"){var t=!1;return i.context?(t=i.context.pluginName!=k,x()):t=!0,t&&(c="error"),o(O(t))}else return n=="string"&&((!i.context||i.context.name!="!cdata")&&b("!cdata"),i.tokenize==a&&x()),o()}function L(n){return function(t){return t=="selfclosePlugin"||t=="endPlugin"||t=="endPlugin"&&b(i.pluginName,n),o()}}function O(n){return function(t){return n&&(c="error"),t=="endPlugin"?o():s()}}function d(n){return n=="keyword"?(c="attribute",o(d)):n=="equals"?o(P,d):s()}function P(n){return n=="keyword"?(c="string",o()):n=="string"?o(h):s()}function h(n){return n=="string"?o(h):s()}const N={name:"tiki",startState:function(){return{tokenize:a,cc:[],indented:0,startOfLine:!0,pluginName:null,context:null}},token:function(n,t){if(n.sol()&&(t.startOfLine=!0,t.indented=n.indentation()),n.eatSpace())return null;c=l=k=null;var e=t.tokenize(n,t);if((e||l)&&e!="comment")for(i=t;;){var r=t.cc.pop()||w;if(r(l||e))break}return t.startOfLine=!1,c||e},indent:function(n,t,e){var r=n.context;if(r&&r.noIndent)return 0;for(r&&/^{\//.test(t)&&(r=r.prev);r&&!r.startOfLine;)r=r.prev;return r?r.indent+e.unit:0}};export{N as tiki};