| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 | /*Language: BashAuthor: vah <[email protected]>Contributrors: Benjamin Pannell <[email protected]>Category: common*/function(hljs) {  var VAR = {    className: 'variable',    variants: [      {begin: /\$[\w\d#@][\w\d_]*/},      {begin: /\$\{(.*?)}/}    ]  };  var QUOTE_STRING = {    className: 'string',    begin: /"/, end: /"/,    contains: [      hljs.BACKSLASH_ESCAPE,      VAR,      {        className: 'variable',        begin: /\$\(/, end: /\)/,        contains: [hljs.BACKSLASH_ESCAPE]      }    ]  };  var APOS_STRING = {    className: 'string',    begin: /'/, end: /'/  };  return {    aliases: ['sh', 'zsh'],    lexemes: /-?[a-z\._]+/,    keywords: {      keyword:        'if then else elif fi for while in do done case esac function',      literal:        'true false',      built_in:        // Shell built-ins        // http://www.gnu.org/software/bash/manual/html_node/Shell-Builtin-Commands.html        'break cd continue eval exec exit export getopts hash pwd readonly return shift test times ' +        'trap umask unset ' +        // Bash built-ins        'alias bind builtin caller command declare echo enable help let local logout mapfile printf ' +        'read readarray source type typeset ulimit unalias ' +        // Shell modifiers        'set shopt ' +        // Zsh built-ins        'autoload bg bindkey bye cap chdir clone comparguments compcall compctl compdescribe compfiles ' +        'compgroups compquote comptags comptry compvalues dirs disable disown echotc echoti emulate ' +        'fc fg float functions getcap getln history integer jobs kill limit log noglob popd print ' +        'pushd pushln rehash sched setcap setopt stat suspend ttyctl unfunction unhash unlimit ' +        'unsetopt vared wait whence where which zcompile zformat zftp zle zmodload zparseopts zprof ' +        'zpty zregexparse zsocket zstyle ztcp',      _:        '-ne -eq -lt -gt -f -d -e -s -l -a' // relevance booster    },    contains: [      {        className: 'meta',        begin: /^#![^\n]+sh\s*$/,        relevance: 10      },      {        className: 'function',        begin: /\w[\w\d_]*\s*\(\s*\)\s*\{/,        returnBegin: true,        contains: [hljs.inherit(hljs.TITLE_MODE, {begin: /\w[\w\d_]*/})],        relevance: 0      },      hljs.HASH_COMMENT_MODE,      QUOTE_STRING,      APOS_STRING,      VAR    ]  };}
 |