1
0
Fork 0
management/front/dkha-web-sz-main/node_modules/highlight.js/lib/languages/flix.js

55 lines
1.0 KiB
JavaScript
Raw Normal View History

2024-01-16 21:26:16 +08:00
/*
Language: Flix
Category: functional
Author: Magnus Madsen <mmadsen@uwaterloo.ca>
Website: https://flix.dev/
*/
2023-12-18 13:12:25 +08:00
2024-01-16 21:26:16 +08:00
/** @type LanguageFn */
function flix(hljs) {
const CHAR = {
className: 'string',
begin: /'(.|\\[xXuU][a-zA-Z0-9]+)'/
};
2023-12-18 13:12:25 +08:00
2024-01-16 21:26:16 +08:00
const STRING = {
className: 'string',
variants: [{
begin: '"',
end: '"'
}]
};
2023-12-18 13:12:25 +08:00
2024-01-16 21:26:16 +08:00
const NAME = {
className: 'title',
relevance: 0,
begin: /[^0-9\n\t "'(),.`{}\[\]:;][^\n\t "'(),.`{}\[\]:;]+|[^0-9\n\t "'(),.`{}\[\]:;=]/
};
2023-12-18 13:12:25 +08:00
2024-01-16 21:26:16 +08:00
const METHOD = {
className: 'function',
beginKeywords: 'def',
end: /[:={\[(\n;]/,
excludeEnd: true,
contains: [NAME]
};
2023-12-18 13:12:25 +08:00
2024-01-16 21:26:16 +08:00
return {
name: 'Flix',
keywords: {
literal: 'true false',
keyword: 'case class def else enum if impl import in lat rel index let match namespace switch type yield with'
},
contains: [
hljs.C_LINE_COMMENT_MODE,
hljs.C_BLOCK_COMMENT_MODE,
CHAR,
STRING,
METHOD,
hljs.C_NUMBER_MODE
]
};
}
module.exports = flix;