site-tpe/EnlighterJS/Source/Language/Shell.js
2025-05-16 18:49:08 +02:00

59 lines
1.3 KiB
JavaScript

/*
---
description: Shell/Bash Scripting
license: MIT-style
authors:
- Andi Dittrich
requires:
- Core/1.4.5
provides: [EnlighterJS.Language.shell]
...
*/
EJS.Language.shell = new Class ({
Extends: EJS.Language.generic,
setupLanguage: function(){
this.keywords = {
keywords: {
csv: 'if, fi, then, elif, else, for, do, done, until, while, break, continue, case, esac, return, function, in, eq, ne, gt, lt, ge, le',
alias: 'kw1'
}
};
this.patterns = {
'comments': {
pattern: /((?:^\s*|\s+)#.*$)/gm,
alias: 'co1'
},
'strings': {
pattern: this.common.strings,
alias: 'st0'
},
'backticks': {
pattern: /`.*?`/gm,
alias: 'st1'
},
'cases': {
pattern: /^\s*\w+\)\s*$/gm,
alias: 'kw2'
},
'def': {
pattern: /^(\s*\w+)=/gm,
alias: 'kw4'
},
'vars': {
pattern: /(\$\w+)\b/gim,
alias: 'kw4'
},
'functions': {
pattern: /^\s*\w+\(\)\s*\{/gm,
alias: 'kw3'
}
};
}
});