45 lines
1.3 KiB
JavaScript
45 lines
1.3 KiB
JavaScript
module.exports = function(hljs) {
|
||
var NUMBER = {className: 'number', begin: '[\\$%]\\d+'};
|
||
return {
|
||
aliases: ['apacheconf'],
|
||
case_insensitive: true,
|
||
contains: [
|
||
hljs.HASH_COMMENT_MODE,
|
||
{className: 'tag', begin: '</?', end: '>'},
|
||
{
|
||
className: 'keyword',
|
||
begin: /\w+/,
|
||
relevance: 0,
|
||
// keywords aren’t needed for highlighting per se, they only boost relevance
|
||
// for a very generally defined mode (starts with a word, ends with line-end
|
||
keywords: {
|
||
common:
|
||
'order deny allow setenv rewriterule rewriteengine rewritecond documentroot ' +
|
||
'sethandler errordocument loadmodule options header listen serverroot ' +
|
||
'servername'
|
||
},
|
||
starts: {
|
||
end: /$/,
|
||
relevance: 0,
|
||
keywords: {
|
||
literal: 'on off all'
|
||
},
|
||
contains: [
|
||
{
|
||
className: 'sqbracket',
|
||
begin: '\\s\\[', end: '\\]$'
|
||
},
|
||
{
|
||
className: 'cbracket',
|
||
begin: '[\\$%]\\{', end: '\\}',
|
||
contains: ['self', NUMBER]
|
||
},
|
||
NUMBER,
|
||
hljs.QUOTE_STRING_MODE
|
||
]
|
||
}
|
||
}
|
||
],
|
||
illegal: /\S/
|
||
};
|
||
}; |