biofriction-wp-theme/node_modules/highlight.js/lib/languages/roboconf.js

59 lines
1.4 KiB
JavaScript

module.exports = function(hljs) {
var IDENTIFIER = '[a-zA-Z-_][^\n{\r\n]+\\{';
return {
aliases: ['graph', 'instances'],
case_insensitive: true,
keywords: 'import',
contains: [
// Facet sections
{
className: 'facet',
begin: '^facet ' + IDENTIFIER,
end: '}',
keywords: 'facet installer exports children extends',
contains: [
hljs.HASH_COMMENT_MODE
]
},
// Instance sections
{
className: 'instance-of',
begin: '^instance of ' + IDENTIFIER,
end: '}',
keywords: 'name count channels instance-data instance-state instance of',
contains: [
// Instance overridden properties
{
className: 'keyword',
begin: '[a-zA-Z-_]+( |\t)*:'
},
hljs.HASH_COMMENT_MODE
]
},
// Component sections
{
className: 'component',
begin: '^' + IDENTIFIER,
end: '}',
lexemes: '\\(?[a-zA-Z]+\\)?',
keywords: 'installer exports children extends imports facets alias (optional)',
contains: [
// Imported component variables
{
className: 'string',
begin: '\\.[a-zA-Z-_]+',
end: '\\s|,|;',
excludeEnd: true
},
hljs.HASH_COMMENT_MODE
]
},
// Comments
hljs.HASH_COMMENT_MODE
]
};
};