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