mirror of
https://github.com/aNNiMON/Own-Programming-Language-Tutorial.git
synced 2024-09-20 00:34:20 +03:00
44 lines
955 B
JavaScript
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
|
||
|
]
|
||
|
};
|
||
|
};
|