snippet rs "raise" b raise (${1:Not_found}) endsnippet snippet open "open" let open ${1:module} in ${2} endsnippet snippet try "try" try ${1} with ${2:Not_found} -> ${3:()} endsnippet snippet ref "ref" let ${1} = ref ${2} in ${3} endsnippet snippet matchl "pattern match on a list" match ${1:list} with | [] -> ${2:()} | x::xs -> ${3:()} endsnippet snippet matcho "pattern match on an option type" match ${1} with | Some(${2}) -> ${3:()} | None -> ${4:()} endsnippet snippet fun "anonymous function" (fun ${1} -> ${2}) endsnippet snippet cc "commment" (* ${1} *) endsnippet snippet let "let .. in binding" let ${1} = ${2} in ${3} endsnippet snippet lr "let rec" let rec ${1} = ${2} endsnippet snippet ife "if" if ${1} then ${2} else ${3} endsnippet snippet if "If" if ${1} then ${2} endsnippet snippet wh "while" while ${1} do ${2} done endsnippet snippet for "for" for ${1:i} = ${2:1} to ${3:10} do ${4} done endsnippet snippet match "match" match ${1} with | ${2} -> ${3} endsnippet snippet class "class" class ${1:name} = object ${2} end endsnippet snippet obj "obj" object ${2} end endsnippet snippet Obj "object" object (self) ${2} end endsnippet snippet {{ "object functional update" {< ${1} = ${2} >} endsnippet snippet beg "beg" begin ${1}${VISUAL} end endsnippet snippet ml "module instantiantion with functor" module ${1:Mod} = ${2:Functor}(${3:Arg}) endsnippet snippet mod "module - no signature" module ${1:(* Name *)} = struct ${2} end endsnippet snippet Mod "module with signature" module ${1:(* Name *)} : ${2:(* SIG *)} = struct ${3} end endsnippet snippet sig "anonymous signature" sig ${2} end endsnippet snippet sigf "functor signature or anonymous functor" functor (${1:Arg} : ${2:ARG}) -> ${3:(* BODY *)} endsnippet snippet func "define functor - no signature" module ${1:M} (${2:Arg} : ${3:ARG}) = struct ${4} end endsnippet snippet Func "define functor - with signature" module ${1:M} (${2:Arg} : ${3:ARG}) : ${4:SIG} = struct ${5} end endsnippet snippet mot "Declare module signature" module type ${1:(* Name *)} = sig ${2} end endsnippet snippet module "Module with anonymous signature" module ${1:(* Name *)} : sig ${2} end = struct ${3} end endsnippet snippet oo "odoc" (** ${1} *) endsnippet snippet qt "inline qtest" (*$T ${1:name} ${2:test} *) endsnippet