Own-Programming-Language-Tu.../editors/highlighjs/own.js

44 lines
955 B
JavaScript

export default function(hljs) {
const STRING = {
className: 'string',
variants: [{
begin: '"', end: '"',
contains: [hljs.BACKSLASH_ESCAPE]
}]
};
const EXTENDED_LITERAL = {
className: 'literal',
variants: [{
begin: '`', end: '`',
illegal: '\\n'
}]
};
const METHOD = {
className: 'function',
beginKeywords: 'def',
end: /[:={\[(\n;]/,
excludeEnd: true,
contains: [{
className: 'title',
begin: /[^0-9\n\t "'(),.`{}\[\]:;][^\n\t "'(),.`{}\[\]:;]+|[^0-9\n\t "'(),.`{}\[\]:;=]/,
relevance: 0
}]
};
return {
keywords: {
literal: 'true false this null',
keyword: 'break class continue def else for if match print println return use while do case extract include'
},
contains: [
hljs.C_LINE_COMMENT_MODE,
hljs.C_BLOCK_COMMENT_MODE,
STRING,
EXTENDED_LITERAL,
METHOD,
hljs.C_NUMBER_MODE
]
};
};