Current File : /home/pacjaorg/public_html/kmm/media/vendor/codemirror/mode/slim/slim.min.js |
(function(t){typeof exports=="object"&&typeof module=="object"?t(require("../../lib/codemirror"),require("../htmlmixed/htmlmixed"),require("../ruby/ruby")):typeof define=="function"&&define.amd?define(["../../lib/codemirror","../htmlmixed/htmlmixed","../ruby/ruby"],t):t(CodeMirror)})(function(t){"use strict";t.defineMode("slim",function(d){var z=t.getMode(d,{name:"htmlmixed"}),b=t.getMode(d,"ruby"),v={html:z,ruby:b},L={ruby:"ruby",javascript:"javascript",css:"text/css",sass:"text/x-sass",scss:"text/x-scss",less:"text/x-less",styl:"text/x-styl",coffee:"coffeescript",asciidoc:"text/x-asciidoc",markdown:"text/x-markdown",textile:"text/x-textile",creole:"text/x-creole",wiki:"text/x-wiki",mediawiki:"text/x-mediawiki",rdoc:"text/x-rdoc",builder:"text/x-builder",nokogiri:"text/x-nokogiri",erb:"application/x-erb"},q=function(n){var e=[];for(var i in n)e.push(i);return new RegExp("^("+e.join("|")+"):")}(L),R={commentLine:"comment",slimSwitch:"operator special",slimTag:"tag",slimId:"attribute def",slimClass:"attribute qualifier",slimAttribute:"attribute",slimSubmode:"keyword special",closeAttributeTag:null,slimDoctype:null,lineContinuation:null},O={"{":"}","[":"]","(":")"},a="_a-zA-Z\xC0-\xD6\xD8-\xF6\xF8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD",y=a+"\\-0-9\xB7\u0300-\u036F\u203F-\u2040",P=new RegExp("^[:"+a+"](?::["+y+"]|["+y+"]*)"),Q=new RegExp("^[:"+a+"][:\\."+y+"]*(?=\\s*=)"),V=new RegExp("^[:"+a+"][:\\."+y+"]*"),W=/^\.-?[_a-zA-Z]+[\w\-]*/,_=/^#[_a-zA-Z]+[\w\-]*/;function N(n,e,i){var u=function(r,o){return o.tokenize=e,r.pos<n?(r.pos=n,i):o.tokenize(r,o)};return function(r,o){return o.tokenize=u,e(r,o)}}function Z(n,e,i,u,r){var o=n.current(),l=o.search(i);return l>-1&&(e.tokenize=N(n.pos,e.tokenize,r),n.backUp(o.length-l-u)),r}function g(n,e){n.stack={parent:n.stack,style:"continuation",indented:e,tokenize:n.line},n.line=n.tokenize}function w(n){n.line==n.tokenize&&(n.line=n.stack.tokenize,n.stack=n.stack.parent)}function B(n,e){return function(i,u){if(w(u),i.match(/^\\$/))return g(u,n),"lineContinuation";var r=e(i,u);return i.eol()&&i.current().match(/(?:^|[^\\])(?:\\\\)*\\$/)&&i.backUp(1),r}}function H(n,e){return function(i,u){w(u);var r=e(i,u);return i.eol()&&i.current().match(/,$/)&&g(u,n),r}}function F(n,e){return function(i,u){var r=i.peek();return r==n&&u.rubyState.tokenize.length==1?(i.next(),u.tokenize=e,"closeAttributeTag"):p(i,u)}}function c(n){var e,i=function(u,r){if(r.rubyState.tokenize.length==1&&!r.rubyState.context.prev){if(u.backUp(1),u.eatSpace())return r.rubyState=e,r.tokenize=n,n(u,r);u.next()}return p(u,r)};return function(u,r){return e=r.rubyState,r.rubyState=t.startState(b),r.tokenize=i,p(u,r)}}function p(n,e){return b.token(n,e.rubyState)}function G(n,e){return n.match(/^\\$/)?"lineContinuation":E(n,e)}function E(n,e){return n.match(/^#\{/)?(e.tokenize=F("}",e.tokenize),null):Z(n,e,/[^\\]#\{/,1,z.token(n,e.htmlState))}function J(n){return function(e,i){var u=G(e,i);return e.eol()&&(i.tokenize=n),u}}function D(n,e,i){return e.stack={parent:e.stack,style:"html",indented:n.column()+i,tokenize:e.line},e.line=e.tokenize=E,null}function T(n,e){return n.skipToEnd(),e.stack.style}function K(n,e){return e.stack={parent:e.stack,style:"comment",indented:e.indented+1,tokenize:e.line},e.line=T,T(n,e)}function k(n,e){return n.eat(e.stack.endQuote)?(e.line=e.stack.line,e.tokenize=e.stack.tokenize,e.stack=e.stack.parent,null):n.match(V)?(e.tokenize=X,"slimAttribute"):(n.next(),null)}function X(n,e){return n.match(/^==?/)?(e.tokenize=Y,null):k(n,e)}function Y(n,e){var i=n.peek();return i=='"'||i=="'"?(e.tokenize=I(i,"string",!0,!1,k),n.next(),e.tokenize(n,e)):i=="["?c(k)(n,e):n.match(/^(true|false|nil)\b/)?(e.tokenize=k,"keyword"):c(k)(n,e)}function s(n,e,i){return n.stack={parent:n.stack,style:"wrapper",indented:n.indented+1,tokenize:i,line:n.line,endQuote:e},n.line=n.tokenize=k,null}function nn(n,e){if(n.match(/^#\{/))return e.tokenize=F("}",e.tokenize),null;var i=new t.StringStream(n.string.slice(e.stack.indented),n.tabSize);i.pos=n.pos-e.stack.indented,i.start=n.start-e.stack.indented,i.lastColumnPos=n.lastColumnPos-e.stack.indented,i.lastColumnValue=n.lastColumnValue-e.stack.indented;var u=e.subMode.token(i,e.subState);return n.pos=i.pos+e.stack.indented,u}function en(n,e){return e.stack.indented=n.column(),e.line=e.tokenize=nn,e.tokenize(n,e)}function un(n){var e=L[n],i=t.mimeModes[e];if(i)return t.getMode(d,i);var u=t.modes[e];return u?u(d,{name:e}):t.getMode(d,"null")}function rn(n){return v.hasOwnProperty(n)?v[n]:v[n]=un(n)}function tn(n,e){var i=rn(n),u=t.startState(i);return e.subMode=i,e.subState=u,e.stack={parent:e.stack,style:"sub",indented:e.indented+1,tokenize:e.line},e.line=e.tokenize=en,"slimSubmode"}function on(n,e){return n.skipToEnd(),"slimDoctype"}function ln(n,e){var i=n.peek();if(i=="<")return(e.tokenize=J(e.tokenize))(n,e);if(n.match(/^[|']/))return D(n,e,1);if(n.match(/^\/(!|\[\w+])?/))return K(n,e);if(n.match(/^(-|==?[<>]?)/))return e.tokenize=B(n.column(),H(n.column(),p)),"slimSwitch";if(n.match(/^doctype\b/))return e.tokenize=on,"keyword";var u=n.match(q);return u?tn(u[1],e):A(n,e)}function M(n,e){return e.startOfLine?ln(n,e):A(n,e)}function A(n,e){return n.eat("*")?(e.tokenize=c($),null):n.match(P)?(e.tokenize=$,"slimTag"):x(n,e)}function $(n,e){return n.match(/^(<>?|><?)/)?(e.tokenize=x,null):x(n,e)}function x(n,e){return n.match(_)?(e.tokenize=x,"slimId"):n.match(W)?(e.tokenize=x,"slimClass"):f(n,e)}function f(n,e){return n.match(/^([\[\{\(])/)?s(e,O[RegExp.$1],f):n.match(Q)?(e.tokenize=cn,"slimAttribute"):n.peek()=="*"?(n.next(),e.tokenize=c(U),null):U(n,e)}function cn(n,e){return n.match(/^==?/)?(e.tokenize=fn,null):f(n,e)}function fn(n,e){var i=n.peek();return i=='"'||i=="'"?(e.tokenize=I(i,"string",!0,!1,f),n.next(),e.tokenize(n,e)):i=="["?c(f)(n,e):i==":"?c(C)(n,e):n.match(/^(true|false|nil)\b/)?(e.tokenize=f,"keyword"):c(f)(n,e)}function C(n,e){return n.backUp(1),n.match(/^[^\s],(?=:)/)?(e.tokenize=c(C),null):(n.next(),f(n,e))}function I(n,e,i,u,r){return function(o,l){w(l);var S=o.current().length==0;if(o.match(/^\\$/,S))return S?(g(l,l.indented),"lineContinuation"):e;if(o.match(/^#\{/,S))return S?(l.tokenize=F("}",l.tokenize),null):e;for(var h=!1,m;(m=o.next())!=null;){if(m==n&&(u||!h)){l.tokenize=r;break}if(i&&m=="#"&&!h&&o.eat("{")){o.backUp(2);break}h=!h&&m=="\\"}return o.eol()&&h&&o.backUp(1),e}}function U(n,e){return n.match(/^==?/)?(e.tokenize=p,"slimSwitch"):n.match(/^\/$/)?(e.tokenize=M,null):n.match(/^:/)?(e.tokenize=A,"slimSwitch"):(D(n,e,0),e.tokenize(n,e))}var j={startState:function(){var n=t.startState(z),e=t.startState(b);return{htmlState:n,rubyState:e,stack:null,last:null,tokenize:M,line:M,indented:0}},copyState:function(n){return{htmlState:t.copyState(z,n.htmlState),rubyState:t.copyState(b,n.rubyState),subMode:n.subMode,subState:n.subMode&&t.copyState(n.subMode,n.subState),stack:n.stack,last:n.last,tokenize:n.tokenize,line:n.line}},token:function(n,e){if(n.sol())for(e.indented=n.indentation(),e.startOfLine=!0,e.tokenize=e.line;e.stack&&e.stack.indented>e.indented&&e.last!="slimSubmode";)e.line=e.tokenize=e.stack.tokenize,e.stack=e.stack.parent,e.subMode=null,e.subState=null;if(n.eatSpace())return null;var i=e.tokenize(n,e);return e.startOfLine=!1,i&&(e.last=i),R.hasOwnProperty(i)?R[i]:i},blankLine:function(n){if(n.subMode&&n.subMode.blankLine)return n.subMode.blankLine(n.subState)},innerMode:function(n){return n.subMode?{state:n.subState,mode:n.subMode}:{state:n,mode:j}}};return j},"htmlmixed","ruby"),t.defineMIME("text/x-slim","slim"),t.defineMIME("application/x-slim","slim")});