<settings>
language=Objective Caml/Camllight
compiler=
debugger=
execution=
auto_indent=1
use_spaces=0
tab_stop=4
</settings>

<extensions>
 <item name="ocaml source file" ext="ml">
 <item name="ocaml source file" ext="mli">
</extensions>

<syntax>
 <item name="ocaml string" start="\"" end="\(\"\|\n\)" color="string">
 <item name="ocaml comment" start="(\*" end="\*)" color="comment">
</syntax>

<pattern>
 <item name="ocaml chars" words="'\\?[a-zA-Z0-9_\\()#!$%^&@*-=+\"{}<)]'", color="char_string">
 <item name="ocaml types" words="\b\(int\|float\|array\|bool\|char\|exn\|format\|option\|list\|string\|unit\)\b" color="data_type">
 <item name="ocaml special types" words="`[a-z]+?\b" color="data_type">
 <item name="keywords" words="\b\(failwith\|let\|begin\|for\|to\|downto\|do\|done\|if\|then\|else\|object\|struct\|sig\|module\|include\|open\|and\|as\|assert\|class\|constraint\|exception\|external\|fun\|function\|in\|inherit\|initializer\|land\|lazy\|match\|method\|mutable\|new\|of\|parser\|private\|raise\|rec\|try\|type\|val\|virtual\|when\|while\|with\|end\|true\|false\|asr\|lor\|lsl\|lsr\|lxor\|mod\|not\|or\)\b" color="keyword">
 <item name="macros" words="\b[A-Z_][A-Z0-9_\-]+\b" color="macro">
 <item name="numbers" words="\b[0-9]+\.?\b" color="decimal">
 <item name="operators" words="\(\*\|\*\.\|+\|+\.\|-\|-\.\|/\|/\.\|->\|<-\|:\||\|||\|<\|>\|>\=\|<\=\|<\.\|>\.\|<=\.\|>=\.\|=\|,\|;\|&\|&&\|@\|__\|_\|\]\|#\|\[\|'\|!\|?\|\^\)" color="operator">
 <item name="ocaml functions" words="\(int_of_string\|string_of_int\|int_of_float\|float_of_int\|string_of_float\|float_of_string\|fst\|snd\|map\|char_of_int\|int_of_char\|ref\|print_newline()\|print_string\|printf\|print_int\|create_string\|string_lenght\|sub_string\)" color="function">
 <item name="ocaml graph functions" words="\(clear_graph\|moveto\|lineto\|set_color\|open_graph\)" color="function">
</pattern>
