openrat-cms

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README

shell.min.js (2243B)


      1 (function(e){if(typeof exports=="object"&&typeof module=="object")e(require("../../lib/codemirror"));else if(typeof define=="function"&&define.amd)define(["../../lib/codemirror"],e);else e(CodeMirror)})(function(e){"use strict";e.defineMode("shell",function(){var t={};function n(e,n){var i=n.split(" ");for(var r=0;r<i.length;r++){t[i[r]]=e}};n("atom","true false");n("keyword","if then do else elif while until for in esac fi fin fil done exit set unset export function");n("builtin","ab awk bash beep cat cc cd chown chmod chroot clear cp curl cut diff echo find gawk gcc get git grep hg kill killall ln ls make mkdir openssl mv nc node npm ping ps restart rm rmdir sed service sh shopt shred source sort sleep ssh start stop su sudo svn tee telnet top touch vi vim wall wc wget who write yes zsh");function o(n,s){if(n.eatSpace())return null;var u=n.sol(),o=n.next();if(o==="\\"){n.next();return null};if(o==="'"||o==="\""||o==="`"){s.tokens.unshift(r(o,o==="`"?"quote":"string"));return e(n,s)};if(o==="#"){if(u&&n.eat("!")){n.skipToEnd();return"meta"};n.skipToEnd();return"comment"};if(o==="$"){s.tokens.unshift(i);return e(n,s)};if(o==="+"||o==="="){return"operator"};if(o==="-"){n.eat("-");n.eatWhile(/\w/);return"attribute"};if(/\d/.test(o)){n.eatWhile(/\d/);if(n.eol()||!/\w/.test(n.peek())){return"number"}};n.eatWhile(/[\w-]/);var f=n.current();if(n.peek()==="="&&/\w+/.test(f))return"def";return t.hasOwnProperty(f)?t[f]:null};function r(t,n){var o=t=="("?")":t=="{"?"}":t;return function(s,f){var l,a=!1,u=!1;while((l=s.next())!=null){if(l===o&&!u){a=!0;break};if(l==="$"&&!u&&t!=="'"){u=!0;s.backUp(1);f.tokens.unshift(i);break};if(!u&&l===t&&t!==o){f.tokens.unshift(r(t,n));return e(s,f)};u=!u&&l==="\\"};if(a)f.tokens.shift();return n}};var i=function(t,n){if(n.tokens.length>1)t.eat("$");var i=t.next();if(/['"({]/.test(i)){n.tokens[0]=r(i,i=="("?"quote":i=="{"?"def":"string");return e(t,n)};if(!/\d/.test(i))t.eatWhile(/\w/);n.tokens.shift();return"def"};function e(e,t){return(t.tokens[0]||o)(e,t)};return{startState:function(){return{tokens:[]}},token:function(t,n){return e(t,n)},closeBrackets:"()[]{}''\"\"``",lineComment:"#",fold:"brace"}});e.defineMIME("text/x-sh","shell");e.defineMIME("application/x-sh","shell")});