# # ReStructuredText keyword file for Jota Text Editor. # # This file is in the Public Domain and distributed on "AS IS" basis. # # Don't change this file. When Jota is updated, this file will be overwritten. # If you want to change this file, copy to /sdcard/.jota/keyword/user/ then re-write. # # If you want to distribute the updated file, you should put the file in Public Domain # and contact the developer of Jota Text Editor. # author=Lilian Besson # Based on the '.conf' files present in /sdcard/.jota/keyword/, and on the 'ocaml.lang' file distributed with gtksourceview2.0 version=0.01 comment=\(\*.*?\*\) #|\(\*\*.*?\*\)|\(\*\*.*?\*\*\) linecomment= # No line comment in Ocaml weakcomment='[^(\\)]'|'\\''|'\\"'|'[A-Za-z0-9_]'|'\\[0-9][0-9][0-9]'|'\\n'|'\\t'|'\\d'|'\\b' preprocessor=(?m)(^[ \t]*#[ \t]*[A-Za-z0-9_]*( <.*?>)?)|(defined) # Same as C/Cpp #string=".*?"|'[A-Za-z0-9_]'|'\\[0-9][0-9][0-9]'|'\\n'|'\\t'|'\\d'|'\\b' #string=""|".*?([^\\]|[\\\\])" string=""|"(.|[\\\\])*?([^\\]|(\\\\))" #string=""|".*?[^\\]" # "" are for strings (type : string), '' for caracters (type : char), with some specials char type=\b(option|ignore|ref|array|bool|char|float|int|list|string|unit)\b # Ocaml pervasives types constant=\b(true|false|None|Some|\;\;)\b # Ocaml constants statement=\b(and|assert|begin|do|done|downto|else|end|for|fun|function|if|in|let|match|rec|then|to|try|val|when|while|with)\b # Ocaml Flow control & common keywords statement2=\b(as|class|constraint|exception|external|functor|include|inherit|initializer|method|module|mutable|new|object|of|open|private|struct|sig|type|virtual)\b # Ocaml types, objects and modules number=(?<=[\s\n\+\-\*/%<>=&\|^~\(\[\{,\:;])(?i)(((\d+\.?\d*E(\+|-)?\d+)|(\d*\.\d+)|(\d+\.))J?|(((([1-9]\d*)|0)|(0O*[0-7]+)|(0X[\dA-F]+)|(0B(0|1)+))L?)|\d+J)(?=[\s\n\+\-\*/%<>=&\|^~!\)\]\},\:;#]) # Same as number for python operator=\+|-|\*|\*\*|/|%|<|>|=|&|\||\^|~|!=|<>|\:|;|,|:|#|$|\?|!|\)|\( # Infixed operators orange=\b([A-Z][A-Za-z0-9_]*)\b # Exceptions and types constructor names (begin by a uppercase) blue=\b(\[\||\[|\|\]|\]|\{|\})\b # Parenthesis, brackets, and all that stuff red=\b(arg|arith_status|array|arrayLabels|big_int|bigarray|buffer|callback|camlinternalMod|camlinternalOO|char|complex|condition|dbm|digest|dynLink|event|filename|format|gc|genlex|graphics|graphicsX11|hashtbl|int32|int64|largeFile|lazy|lexing|list|listLabels|map|marshal|moreLabels|mutex|mativeint|naereen|num|oo|parsing|printexc|printf|queue|random|scanf|set|sort|stack|stdLabels|str|stream|stringLabels|sys|thread|threadUnix|unix|unixLabels|weak)\b # Standart Ocaml modules yellow=\b(asr|land|lazy|lor|lsl|lsr|lxor|mod|or|lnot)\b # Ocaml function-like keywords magenta=(?m)(^\s*@[_a-zA-Z][_a-zA-Z0-9]*)\b # decorator : as for python (i don't know what is it)