%PDF- %PDF-
Direktori : /proc/self/root/usr/share/webmin/authentic-theme/unauthenticated/js/codemirror/mode/shell/ |
Current File : //proc/self/root/usr/share/webmin/authentic-theme/unauthenticated/js/codemirror/mode/shell/shell.js |
!function(e){"object"==typeof exports&&"object"==typeof module?e(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],e):e(CodeMirror)}(function(e){"use strict";e.defineMode("shell",function(){function t(e,t){for(var n=0;n<t.length;n++)s[t[n]]=e}function n(e,t){if(e.eatSpace())return null;var n=e.sol(),i=e.next();if("\\"===i)return e.next(),null;if("'"===i||'"'===i||"`"===i)return t.tokens.unshift(r(i,"`"===i?"quote":"string")),o(e,t);if("#"===i)return n&&e.eat("!")?(e.skipToEnd(),"meta"):(e.skipToEnd(),"comment");if("$"===i)return t.tokens.unshift(c),o(e,t);if("+"===i||"="===i)return"operator";if("-"===i)return e.eat("-"),e.eatWhile(/\w/),"attribute";if(/\d/.test(i)&&(e.eatWhile(/\d/),e.eol()||!/\w/.test(e.peek())))return"number";e.eatWhile(/[\w-]/);var u=e.current();return"="===e.peek()&&/\w+/.test(u)?"def":s.hasOwnProperty(u)?s[u]:null}function r(e,t){var n="("==e?")":"{"==e?"}":e;return function(s,u){for(var f,l=!1;null!=(f=s.next());){if(f===n&&!l){u.tokens.shift();break}if("$"===f&&!l&&"'"!==e&&s.peek()!=n){l=!0,s.backUp(1),u.tokens.unshift(c);break}if(!l&&e!==n&&f===e)return u.tokens.unshift(r(e,t)),o(s,u);if(!l&&/['"]/.test(f)&&!/['"]/.test(e)){u.tokens.unshift(i(f,"string")),s.backUp(1);break}l=!l&&"\\"===f}return t}}function i(e,t){return function(n,i){return i.tokens[0]=r(e,t),n.next(),o(n,i)}}function o(e,t){return(t.tokens[0]||n)(e,t)}var s={},u=["true","false"],f=["if","then","do","else","elif","while","until","for","in","esac","fi","fin","fil","done","exit","set","unset","export","function"],l=["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","nl","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"];e.registerHelper("hintWords","shell",u.concat(f,l)),t("atom",u),t("keyword",f),t("builtin",l);var c=function(e,t){t.tokens.length>1&&e.eat("$");var n=e.next();return/['"({]/.test(n)?(t.tokens[0]=r(n,"("==n?"quote":"{"==n?"def":"string"),o(e,t)):(/\d/.test(n)||e.eatWhile(/\w/),t.tokens.shift(),"def")};return{startState:function(){return{tokens:[]}},token:function(e,t){return o(e,t)},closeBrackets:"()[]{}''\"\"``",lineComment:"#",fold:"brace"}}),e.defineMIME("text/x-sh","shell"),e.defineMIME("application/x-sh","shell")});