/* Language: Bash Author: vah */ hljs.LANGUAGES.bash = function(){ var BASH_LITERAL = {'true' : 1, 'false' : 1}; var VAR1 = { className: 'variable', begin: '\\$([a-zA-Z0-9_]+)\\b' }; var VAR2 = { className: 'variable', begin: '\\$\\{(([^}])|(\\\\}))+\\}', contains: [hljs.C_NUMBER_MODE] }; var STRING = { className: 'string', begin: '"', end: '"', illegal: '\\n', contains: [hljs.BACKSLASH_ESCAPE, VAR1, VAR2], relevance: 0 }; var TEST_CONDITION = { className: 'test_condition', begin: '', end: '', contains: [STRING, VAR1, VAR2, hljs.C_NUMBER_MODE], keywords: { 'literal': BASH_LITERAL }, relevance: 0 }; return { defaultMode: { keywords: { 'keyword': {'if' : 1, 'then' : 1, 'else' : 1, 'fi' : 1, 'for' : 1, 'break' : 1, 'continue' : 1, 'while' : 1, 'in' : 1, 'do' : 1, 'done' : 1, 'echo' : 1, 'exit' : 1, 'return' : 1, 'set' : 1, 'declare' : 1}, 'literal': BASH_LITERAL }, contains: [ { className: 'shebang', begin: '(#!\\/bin\\/bash)|(#!\\/bin\\/sh)', relevance: 10 }, hljs.HASH_COMMENT_MODE, hljs.C_NUMBER_MODE, STRING, VAR1, VAR2, hljs.inherit(TEST_CONDITION, {begin: '\\[ ', end: ' \\]', relevance: 0}), hljs.inherit(TEST_CONDITION, {begin: '\\[\\[ ', end: ' \\]\\]'}) ] } }; }();