fix
This commit is contained in:
142
book/node_modules/highlight.js/lib/languages/reasonml.js
generated
vendored
Normal file
142
book/node_modules/highlight.js/lib/languages/reasonml.js
generated
vendored
Normal file
@ -0,0 +1,142 @@
|
||||
/*
|
||||
Language: ReasonML
|
||||
Description: Reason lets you write simple, fast and quality type safe code while leveraging both the JavaScript & OCaml ecosystems.
|
||||
Website: https://reasonml.github.io
|
||||
Author: Gidi Meir Morris <oss@gidi.io>
|
||||
Category: functional
|
||||
*/
|
||||
function reasonml(hljs) {
|
||||
const BUILT_IN_TYPES = [
|
||||
"array",
|
||||
"bool",
|
||||
"bytes",
|
||||
"char",
|
||||
"exn|5",
|
||||
"float",
|
||||
"int",
|
||||
"int32",
|
||||
"int64",
|
||||
"list",
|
||||
"lazy_t|5",
|
||||
"nativeint|5",
|
||||
"ref",
|
||||
"string",
|
||||
"unit",
|
||||
];
|
||||
return {
|
||||
name: 'ReasonML',
|
||||
aliases: [ 're' ],
|
||||
keywords: {
|
||||
$pattern: /[a-z_]\w*!?/,
|
||||
keyword: [
|
||||
"and",
|
||||
"as",
|
||||
"asr",
|
||||
"assert",
|
||||
"begin",
|
||||
"class",
|
||||
"constraint",
|
||||
"do",
|
||||
"done",
|
||||
"downto",
|
||||
"else",
|
||||
"end",
|
||||
"esfun",
|
||||
"exception",
|
||||
"external",
|
||||
"for",
|
||||
"fun",
|
||||
"function",
|
||||
"functor",
|
||||
"if",
|
||||
"in",
|
||||
"include",
|
||||
"inherit",
|
||||
"initializer",
|
||||
"land",
|
||||
"lazy",
|
||||
"let",
|
||||
"lor",
|
||||
"lsl",
|
||||
"lsr",
|
||||
"lxor",
|
||||
"mod",
|
||||
"module",
|
||||
"mutable",
|
||||
"new",
|
||||
"nonrec",
|
||||
"object",
|
||||
"of",
|
||||
"open",
|
||||
"or",
|
||||
"pri",
|
||||
"pub",
|
||||
"rec",
|
||||
"sig",
|
||||
"struct",
|
||||
"switch",
|
||||
"then",
|
||||
"to",
|
||||
"try",
|
||||
"type",
|
||||
"val",
|
||||
"virtual",
|
||||
"when",
|
||||
"while",
|
||||
"with",
|
||||
],
|
||||
built_in: BUILT_IN_TYPES,
|
||||
literal: ["true", "false"],
|
||||
},
|
||||
illegal: /(:-|:=|\$\{|\+=)/,
|
||||
contains: [
|
||||
{
|
||||
scope: 'literal',
|
||||
match: /\[(\|\|)?\]|\(\)/,
|
||||
relevance: 0
|
||||
},
|
||||
hljs.C_LINE_COMMENT_MODE,
|
||||
hljs.COMMENT(/\/\*/, /\*\//, { illegal: /^(#,\/\/)/ }),
|
||||
{ /* type variable */
|
||||
scope: 'symbol',
|
||||
match: /\'[A-Za-z_](?!\')[\w\']*/
|
||||
/* the grammar is ambiguous on how 'a'b should be interpreted but not the compiler */
|
||||
},
|
||||
{ /* polymorphic variant */
|
||||
scope: 'type',
|
||||
match: /`[A-Z][\w\']*/
|
||||
},
|
||||
{ /* module or constructor */
|
||||
scope: 'type',
|
||||
match: /\b[A-Z][\w\']*/,
|
||||
relevance: 0
|
||||
},
|
||||
{ /* don't color identifiers, but safely catch all identifiers with ' */
|
||||
match: /[a-z_]\w*\'[\w\']*/,
|
||||
relevance: 0
|
||||
},
|
||||
{
|
||||
scope: 'operator',
|
||||
match: /\s+(\|\||\+[\+\.]?|\*[\*\/\.]?|\/[\.]?|\.\.\.|\|>|&&|===?)\s+/,
|
||||
relevance: 0
|
||||
},
|
||||
hljs.inherit(hljs.APOS_STRING_MODE, {
|
||||
scope: 'string',
|
||||
relevance: 0
|
||||
}),
|
||||
hljs.inherit(hljs.QUOTE_STRING_MODE, { illegal: null }),
|
||||
{
|
||||
scope: 'number',
|
||||
variants: [
|
||||
{ match: /\b0[xX][a-fA-F0-9_]+[Lln]?/ },
|
||||
{ match: /\b0[oO][0-7_]+[Lln]?/ },
|
||||
{ match: /\b0[bB][01_]+[Lln]?/ },
|
||||
{ match: /\b[0-9][0-9_]*([Lln]|(\.[0-9_]*)?([eE][-+]?[0-9_]+)?)/ },
|
||||
],
|
||||
relevance: 0
|
||||
},
|
||||
]
|
||||
};
|
||||
}
|
||||
|
||||
module.exports = reasonml;
|
Reference in New Issue
Block a user