0
This repository has been archived on 2024-08-27. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
highlight_js-rails/vendor/assets/javascripts/highlight_js/languages/bash.js
2012-08-14 23:47:39 +08:00

60 lines
1.4 KiB
JavaScript

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