jquery.syntax.brush.ocaml.js 1.79 KB
// This file is part of the "jQuery.Syntax" project, and is distributed under the MIT License.
Syntax.register("ocaml",function(a){a.push(["private","public"],{klass:"access"});a.push(["true","false"],{klass:"constant"});a.push(["bool","byte","sbyte",/\bu?int\d*\b/g,"nativeint","unativeint","char","string","decimal","unit","void","float32","single","float64","double","list","array","exn","format","fun","option","ref"],{klass:"type"});a.push("abstract and as assert begin class default delegate do done downcast downto elif else end exception extern finally for fun function if in inherit inline interface internal lazy let match member module mutable namespace new null of open or override rec return static struct then to try type upcast use val when while with yield asr land lor lsl lsr lxor mod sig atomic break checked component const constraint constructor continue eager event external fixed functor global include method mixin object parallel process protected pure sealed trait virtual volatile val".split(" "),
{klass:"keyword"});a.push("! <> % & * + - -> / :: := :> :? :?> < = > ? @ ^ _ ` | ~ ' [< >] <| |> [| |] (| |) (* *) in".split(" "),{klass:"operator"});a.push({pattern:/(?:open|new)\s+((?:\.?[a-z][a-z0-9]*)+)/gi,matches:Syntax.extractMatches({klass:"type"})});a.push({pattern:/(?:\.)([a-z_][a-z0-9_]+)/gi,matches:Syntax.extractMatches({klass:"function"})});a.push({pattern:/(?:\(|,)\s*(\w+\s*=)/g,matches:Syntax.extractMatches({klass:"keyword-argument"})});a.push({pattern:/([a-z_][a-z0-9_]*)\s*\((?!\*)/gi,
matches:Syntax.extractMatches({klass:"function"})});a.push(Syntax.lib.camelCaseType);a.push(Syntax.lib.webLink);a.push({pattern:/\(\*[\s\S]*?\*\)/g,klass:"comment"});a.push(Syntax.lib.doubleQuotedString);a.push(Syntax.lib.stringEscape);a.push(Syntax.lib.decimalNumber);a.push(Syntax.lib.hexNumber)});