!function(mod){"object"==typeof exports&&"object"==typeof module?mod(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],mod):mod(CodeMirror)}(function(CodeMirror){"use strict";CodeMirror.defineMode("shell",function(){var words={};function define(style,dict){for(var i=0;i1&&stream.eat("$");var ch=stream.next();return/['"({]/.test(ch)?(state.tokens[0]=tokenString(ch,"("==ch?"quote":"{"==ch?"def":"string"),tokenize(stream,state)):(/\d/.test(ch)||stream.eatWhile(/\w/),state.tokens.shift(),"def")};function tokenHeredoc(delim){return function(stream,state){return stream.sol()&&stream.string==delim&&state.tokens.shift(),stream.skipToEnd(),"string-2"}}function tokenize(stream,state){return(state.tokens[0]||tokenBase)(stream,state)}return{startState:function(){return{tokens:[]}},token:function(stream,state){return tokenize(stream,state)},closeBrackets:"()[]{}''\"\"``",lineComment:"#",fold:"brace"}}),CodeMirror.defineMIME("text/x-sh","shell"),CodeMirror.defineMIME("application/x-sh","shell")});