File manager - Edit - /home/opticamezl/www/newok/slim.tar
Back
slim.js 0000644 00000043155 15175104442 0006061 0 ustar 00 // CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: https://codemirror.net/5/LICENSE // Slim Highlighting for CodeMirror copyright (c) HicknHack Software Gmbh (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror"), require("../htmlmixed/htmlmixed"), require("../ruby/ruby")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror", "../htmlmixed/htmlmixed", "../ruby/ruby"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineMode("slim", function(config) { var htmlMode = CodeMirror.getMode(config, {name: "htmlmixed"}); var rubyMode = CodeMirror.getMode(config, "ruby"); var modes = { html: htmlMode, ruby: rubyMode }; var embedded = { ruby: "ruby", javascript: "javascript", css: "text/css", sass: "text/x-sass", scss: "text/x-scss", less: "text/x-less", styl: "text/x-styl", // no highlighting so far coffee: "coffeescript", asciidoc: "text/x-asciidoc", markdown: "text/x-markdown", textile: "text/x-textile", // no highlighting so far creole: "text/x-creole", // no highlighting so far wiki: "text/x-wiki", // no highlighting so far mediawiki: "text/x-mediawiki", // no highlighting so far rdoc: "text/x-rdoc", // no highlighting so far builder: "text/x-builder", // no highlighting so far nokogiri: "text/x-nokogiri", // no highlighting so far erb: "application/x-erb" }; var embeddedRegexp = function(map){ var arr = []; for(var key in map) arr.push(key); return new RegExp("^("+arr.join('|')+"):"); }(embedded); var styleMap = { "commentLine": "comment", "slimSwitch": "operator special", "slimTag": "tag", "slimId": "attribute def", "slimClass": "attribute qualifier", "slimAttribute": "attribute", "slimSubmode": "keyword special", "closeAttributeTag": null, "slimDoctype": null, "lineContinuation": null }; var closing = { "{": "}", "[": "]", "(": ")" }; var nameStartChar = "_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"; var nameChar = nameStartChar + "\\-0-9\xB7\u0300-\u036F\u203F-\u2040"; var nameRegexp = new RegExp("^[:"+nameStartChar+"](?::["+nameChar+"]|["+nameChar+"]*)"); var attributeNameRegexp = new RegExp("^[:"+nameStartChar+"][:\\."+nameChar+"]*(?=\\s*=)"); var wrappedAttributeNameRegexp = new RegExp("^[:"+nameStartChar+"][:\\."+nameChar+"]*"); var classNameRegexp = /^\.-?[_a-zA-Z]+[\w\-]*/; var classIdRegexp = /^#[_a-zA-Z]+[\w\-]*/; function backup(pos, tokenize, style) { var restore = function(stream, state) { state.tokenize = tokenize; if (stream.pos < pos) { stream.pos = pos; return style; } return state.tokenize(stream, state); }; return function(stream, state) { state.tokenize = restore; return tokenize(stream, state); }; } function maybeBackup(stream, state, pat, offset, style) { var cur = stream.current(); var idx = cur.search(pat); if (idx > -1) { state.tokenize = backup(stream.pos, state.tokenize, style); stream.backUp(cur.length - idx - offset); } return style; } function continueLine(state, column) { state.stack = { parent: state.stack, style: "continuation", indented: column, tokenize: state.line }; state.line = state.tokenize; } function finishContinue(state) { if (state.line == state.tokenize) { state.line = state.stack.tokenize; state.stack = state.stack.parent; } } function lineContinuable(column, tokenize) { return function(stream, state) { finishContinue(state); if (stream.match(/^\\$/)) { continueLine(state, column); return "lineContinuation"; } var style = tokenize(stream, state); if (stream.eol() && stream.current().match(/(?:^|[^\\])(?:\\\\)*\\$/)) { stream.backUp(1); } return style; }; } function commaContinuable(column, tokenize) { return function(stream, state) { finishContinue(state); var style = tokenize(stream, state); if (stream.eol() && stream.current().match(/,$/)) { continueLine(state, column); } return style; }; } function rubyInQuote(endQuote, tokenize) { // TODO: add multi line support return function(stream, state) { var ch = stream.peek(); if (ch == endQuote && state.rubyState.tokenize.length == 1) { // step out of ruby context as it seems to complete processing all the braces stream.next(); state.tokenize = tokenize; return "closeAttributeTag"; } else { return ruby(stream, state); } }; } function startRubySplat(tokenize) { var rubyState; var runSplat = function(stream, state) { if (state.rubyState.tokenize.length == 1 && !state.rubyState.context.prev) { stream.backUp(1); if (stream.eatSpace()) { state.rubyState = rubyState; state.tokenize = tokenize; return tokenize(stream, state); } stream.next(); } return ruby(stream, state); }; return function(stream, state) { rubyState = state.rubyState; state.rubyState = CodeMirror.startState(rubyMode); state.tokenize = runSplat; return ruby(stream, state); }; } function ruby(stream, state) { return rubyMode.token(stream, state.rubyState); } function htmlLine(stream, state) { if (stream.match(/^\\$/)) { return "lineContinuation"; } return html(stream, state); } function html(stream, state) { if (stream.match(/^#\{/)) { state.tokenize = rubyInQuote("}", state.tokenize); return null; } return maybeBackup(stream, state, /[^\\]#\{/, 1, htmlMode.token(stream, state.htmlState)); } function startHtmlLine(lastTokenize) { return function(stream, state) { var style = htmlLine(stream, state); if (stream.eol()) state.tokenize = lastTokenize; return style; }; } function startHtmlMode(stream, state, offset) { state.stack = { parent: state.stack, style: "html", indented: stream.column() + offset, // pipe + space tokenize: state.line }; state.line = state.tokenize = html; return null; } function comment(stream, state) { stream.skipToEnd(); return state.stack.style; } function commentMode(stream, state) { state.stack = { parent: state.stack, style: "comment", indented: state.indented + 1, tokenize: state.line }; state.line = comment; return comment(stream, state); } function attributeWrapper(stream, state) { if (stream.eat(state.stack.endQuote)) { state.line = state.stack.line; state.tokenize = state.stack.tokenize; state.stack = state.stack.parent; return null; } if (stream.match(wrappedAttributeNameRegexp)) { state.tokenize = attributeWrapperAssign; return "slimAttribute"; } stream.next(); return null; } function attributeWrapperAssign(stream, state) { if (stream.match(/^==?/)) { state.tokenize = attributeWrapperValue; return null; } return attributeWrapper(stream, state); } function attributeWrapperValue(stream, state) { var ch = stream.peek(); if (ch == '"' || ch == "\'") { state.tokenize = readQuoted(ch, "string", true, false, attributeWrapper); stream.next(); return state.tokenize(stream, state); } if (ch == '[') { return startRubySplat(attributeWrapper)(stream, state); } if (stream.match(/^(true|false|nil)\b/)) { state.tokenize = attributeWrapper; return "keyword"; } return startRubySplat(attributeWrapper)(stream, state); } function startAttributeWrapperMode(state, endQuote, tokenize) { state.stack = { parent: state.stack, style: "wrapper", indented: state.indented + 1, tokenize: tokenize, line: state.line, endQuote: endQuote }; state.line = state.tokenize = attributeWrapper; return null; } function sub(stream, state) { if (stream.match(/^#\{/)) { state.tokenize = rubyInQuote("}", state.tokenize); return null; } var subStream = new CodeMirror.StringStream(stream.string.slice(state.stack.indented), stream.tabSize); subStream.pos = stream.pos - state.stack.indented; subStream.start = stream.start - state.stack.indented; subStream.lastColumnPos = stream.lastColumnPos - state.stack.indented; subStream.lastColumnValue = stream.lastColumnValue - state.stack.indented; var style = state.subMode.token(subStream, state.subState); stream.pos = subStream.pos + state.stack.indented; return style; } function firstSub(stream, state) { state.stack.indented = stream.column(); state.line = state.tokenize = sub; return state.tokenize(stream, state); } function createMode(mode) { var query = embedded[mode]; var spec = CodeMirror.mimeModes[query]; if (spec) { return CodeMirror.getMode(config, spec); } var factory = CodeMirror.modes[query]; if (factory) { return factory(config, {name: query}); } return CodeMirror.getMode(config, "null"); } function getMode(mode) { if (!modes.hasOwnProperty(mode)) { return modes[mode] = createMode(mode); } return modes[mode]; } function startSubMode(mode, state) { var subMode = getMode(mode); var subState = CodeMirror.startState(subMode); state.subMode = subMode; state.subState = subState; state.stack = { parent: state.stack, style: "sub", indented: state.indented + 1, tokenize: state.line }; state.line = state.tokenize = firstSub; return "slimSubmode"; } function doctypeLine(stream, _state) { stream.skipToEnd(); return "slimDoctype"; } function startLine(stream, state) { var ch = stream.peek(); if (ch == '<') { return (state.tokenize = startHtmlLine(state.tokenize))(stream, state); } if (stream.match(/^[|']/)) { return startHtmlMode(stream, state, 1); } if (stream.match(/^\/(!|\[\w+])?/)) { return commentMode(stream, state); } if (stream.match(/^(-|==?[<>]?)/)) { state.tokenize = lineContinuable(stream.column(), commaContinuable(stream.column(), ruby)); return "slimSwitch"; } if (stream.match(/^doctype\b/)) { state.tokenize = doctypeLine; return "keyword"; } var m = stream.match(embeddedRegexp); if (m) { return startSubMode(m[1], state); } return slimTag(stream, state); } function slim(stream, state) { if (state.startOfLine) { return startLine(stream, state); } return slimTag(stream, state); } function slimTag(stream, state) { if (stream.eat('*')) { state.tokenize = startRubySplat(slimTagExtras); return null; } if (stream.match(nameRegexp)) { state.tokenize = slimTagExtras; return "slimTag"; } return slimClass(stream, state); } function slimTagExtras(stream, state) { if (stream.match(/^(<>?|><?)/)) { state.tokenize = slimClass; return null; } return slimClass(stream, state); } function slimClass(stream, state) { if (stream.match(classIdRegexp)) { state.tokenize = slimClass; return "slimId"; } if (stream.match(classNameRegexp)) { state.tokenize = slimClass; return "slimClass"; } return slimAttribute(stream, state); } function slimAttribute(stream, state) { if (stream.match(/^([\[\{\(])/)) { return startAttributeWrapperMode(state, closing[RegExp.$1], slimAttribute); } if (stream.match(attributeNameRegexp)) { state.tokenize = slimAttributeAssign; return "slimAttribute"; } if (stream.peek() == '*') { stream.next(); state.tokenize = startRubySplat(slimContent); return null; } return slimContent(stream, state); } function slimAttributeAssign(stream, state) { if (stream.match(/^==?/)) { state.tokenize = slimAttributeValue; return null; } // should never happen, because of forward lookup return slimAttribute(stream, state); } function slimAttributeValue(stream, state) { var ch = stream.peek(); if (ch == '"' || ch == "\'") { state.tokenize = readQuoted(ch, "string", true, false, slimAttribute); stream.next(); return state.tokenize(stream, state); } if (ch == '[') { return startRubySplat(slimAttribute)(stream, state); } if (ch == ':') { return startRubySplat(slimAttributeSymbols)(stream, state); } if (stream.match(/^(true|false|nil)\b/)) { state.tokenize = slimAttribute; return "keyword"; } return startRubySplat(slimAttribute)(stream, state); } function slimAttributeSymbols(stream, state) { stream.backUp(1); if (stream.match(/^[^\s],(?=:)/)) { state.tokenize = startRubySplat(slimAttributeSymbols); return null; } stream.next(); return slimAttribute(stream, state); } function readQuoted(quote, style, embed, unescaped, nextTokenize) { return function(stream, state) { finishContinue(state); var fresh = stream.current().length == 0; if (stream.match(/^\\$/, fresh)) { if (!fresh) return style; continueLine(state, state.indented); return "lineContinuation"; } if (stream.match(/^#\{/, fresh)) { if (!fresh) return style; state.tokenize = rubyInQuote("}", state.tokenize); return null; } var escaped = false, ch; while ((ch = stream.next()) != null) { if (ch == quote && (unescaped || !escaped)) { state.tokenize = nextTokenize; break; } if (embed && ch == "#" && !escaped) { if (stream.eat("{")) { stream.backUp(2); break; } } escaped = !escaped && ch == "\\"; } if (stream.eol() && escaped) { stream.backUp(1); } return style; }; } function slimContent(stream, state) { if (stream.match(/^==?/)) { state.tokenize = ruby; return "slimSwitch"; } if (stream.match(/^\/$/)) { // tag close hint state.tokenize = slim; return null; } if (stream.match(/^:/)) { // inline tag state.tokenize = slimTag; return "slimSwitch"; } startHtmlMode(stream, state, 0); return state.tokenize(stream, state); } var mode = { // default to html mode startState: function() { var htmlState = CodeMirror.startState(htmlMode); var rubyState = CodeMirror.startState(rubyMode); return { htmlState: htmlState, rubyState: rubyState, stack: null, last: null, tokenize: slim, line: slim, indented: 0 }; }, copyState: function(state) { return { htmlState : CodeMirror.copyState(htmlMode, state.htmlState), rubyState: CodeMirror.copyState(rubyMode, state.rubyState), subMode: state.subMode, subState: state.subMode && CodeMirror.copyState(state.subMode, state.subState), stack: state.stack, last: state.last, tokenize: state.tokenize, line: state.line }; }, token: function(stream, state) { if (stream.sol()) { state.indented = stream.indentation(); state.startOfLine = true; state.tokenize = state.line; while (state.stack && state.stack.indented > state.indented && state.last != "slimSubmode") { state.line = state.tokenize = state.stack.tokenize; state.stack = state.stack.parent; state.subMode = null; state.subState = null; } } if (stream.eatSpace()) return null; var style = state.tokenize(stream, state); state.startOfLine = false; if (style) state.last = style; return styleMap.hasOwnProperty(style) ? styleMap[style] : style; }, blankLine: function(state) { if (state.subMode && state.subMode.blankLine) { return state.subMode.blankLine(state.subState); } }, innerMode: function(state) { if (state.subMode) return {state: state.subState, mode: state.subMode}; return {state: state, mode: mode}; } //indent: function(state) { // return state.indented; //} }; return mode; }, "htmlmixed", "ruby"); CodeMirror.defineMIME("text/x-slim", "slim"); CodeMirror.defineMIME("application/x-slim", "slim"); }); slim.min.js 0000644 00000016747 15175104442 0006652 0 ustar 00 (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")}); slim.min.js.gz 0000644 00000005154 15175104442 0007257 0 ustar 00 � �kwӸ����*N������e�.�¾��8J+���i���=l�Nx�s���h^��fd8/x,Xʡ@q����Wi&rB@:�Hc:3�LgEB�D `F?,�x^��z ���tF�,�� ��_�e�dk:�_-���ި@�7BgtθZ� : ��,Пp�_�%��)n��<Ng�LQ�A�6���A.20��z��(y ��3��e�Dx�T(���hI}`�O@/&���b �%~I6�Sc���(�3�>�� �y�Aע�9�yT��]9 8�]��J���sq�X,q� ��9�>��J`�nj�ҸF� /�l1K�y=U � ��zƌ�3�:p=��-X ���tƢ�� ��eJ�i���j���Ez�2˧ L����*aq$��[wi6%�DjOs�iJƓ�<͠��8�ުȯ CÌ�"��^�����Q�c�8[�� �*�K�ߒM�.�����+���2�ί���|��h�4;�W4fQ�g�E�>ѥ��� "c�BP��4�8QQag>Q��LC�?�&#��.�����\��� ��4�5�T�I��N�Xnb H��)�ʢ Z�Wd6�%�`|0@�J�!��>�����p}�(\��� ףG�z�S7,�F���?|��z��a1ə��qW�N�S�=�$g��j0:���~� ��ǒf����H F��oHt°����?���Z�#%��H�o�פ����#0������l�>�ُ>���3h0 a��'��o���"����cc���8����=���.��Up�9���/l�g8Eԩ'����3o��Ox ��!�"(��� ��V`CP�����δN)�^\d�"����i���K�v�����K��a�M�x�~S/��R\u�n�ά�K)m���(^��*��}3VIS�W� 3>�\ЙOq%���%�o�k=��k�X̼���H �K���&�rȲ|��o[��m�^�a�-#_��E��!d�/a�9 �}�P:!#Tq�,�<�&u:����b;�� ���a��+Q�8` �n���+zK�X�ę5��F_���0oE��b2Bx�Sx�T>��!e���A ���Zh����4�WJ��S\�0�� �6 ��쫒;�CA&]o��ϊ�p,^x4�(��v�C��v�<�Z�aaVV���nq��R��Ů!C7j �ȕȰam-�jxk�q%�rt���6o�y���"�N���N���/#(2@X�r��٫��_R��u����ڑ��tۚNJ�E *{�*�!s��p����5M3��f6�Z9Y�{q�K�� �����ıũZ����e�|�V��S>�ɞ�lI~o�|CݺX�y>�_�~�r���(���|��HUn7+�3r�x���Y�R�6�� �*��l���4�2�|ȫ��(��!J ZQ���h-��Aձ���#����2B�=��2ds�/>���^�S��i1�Kc�p�ķ�B�t;���n9KP8m�U �_s�k�[1���:�V+Y�:a�/h��_��(��d� |ε]��r�#�dh|B��w�,}.2-�\�zy�bZ�i��M�%�!ӕ�|vۈ�����L�CH�\��Z�i��N�g��A� ;DC�ۨ�S��$ɰ��Y�Tj9jQG;�k�����Ķ'�qގ_˸pz��c>��oɖ�b �ɐ�!���v��� oY��"(�Z"�qI c8d�9$>{WQ�ꚿ�d�(n G��1���A���Rpw�+>�h���b�A\G�2��)9/�?����u�3�'�ʧ�+g pZO�&�{���!� 0nrs�o� �D3ll�����b}�Z8an�qx}4A�E�};����<�horx�X����Y��% M�3m �L�pM�ͩ&,+�OȆ��&2_?km��� ��Wsy����<�sʂ����cx�N��M��zٺ�^�d��< �O�H+7����6��^>��@_� ��_{Q�5@��%f�%u��8܄p"��!ůƺ���&xnŽiY��U�� �9�I�WF��0��]d̹ᱳJ��+3��Uf�M�!��x�1o��v�q�2�m��tq��O�d�e]� ��x�ށ�;�'�)N��rNR����¾Li���uJ8�%Lp����i��jgL�v5���C��0�"���%Iͺ�!Q%�*���ˆ�v{x���a� ���L�Βpt:�W�N�s� �I+G<@��H�����L��ȭ��=����_5R�fa�n����z~�Y���L7�KiЏdc�p���x�Ex��6qS��>�uW�S�xs��Bէ�������/K����>u��^�o1w�bGi����cS��_�T��N�e`1��/�%�ZF�RU��=^��9�AYjg�u�� C2�[z��H�7�Nr�o6�R�ДX�N��}j��I��!iPC����6Ֆ���N�6�Z��5�ӻ��u��X����[�=a�m״o�l�O��/ԏ7���+gן^��l�؞�N��qN3P�Qk��ݪ�[�F�~��'>�e}K����)i~�?_���_��Ϩ7�Q���%�������
| ver. 1.4 |
Github
|
.
| PHP 8.3.23 | Generation time: 0 |
proxy
|
phpinfo
|
Settings