priority -50 snippet rs "raise" b raise (${1:Not_found}) endsnippet snippet open "open" let open ${1:module} in ${2:e} endsnippet snippet try "try" try ${1:e} with ${2:Not_found} -> ${3:()} endsnippet snippet ref "ref" let ${1:name} = ref ${2:val} in ${3:e} 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:x} with | Some(${2:y}) -> ${3:()} | None -> ${4:()} endsnippet snippet fun "anonymous function" (fun ${1:x} -> ${2:x}) endsnippet snippet cc "commment" (* ${1:comment} *) endsnippet snippet let "let .. in binding" let ${1:x} = ${2:v} in ${3:e} endsnippet snippet lr "let rec" let rec ${1:f} = ${2:expr} endsnippet snippet if "if" if ${1:(* condition *)} then ${2:(* A *)} else ${3:(* B *)} endsnippet snippet If "If" if ${1:(* condition *)} then ${2:(* A *)} endsnippet snippet while "while" while ${1:(* condition *)} do ${2:(* A *)} done endsnippet snippet for "for" for ${1:i} = ${2:1} to ${3:10} do ${4:(* BODY *)} done endsnippet snippet match "match" match ${1:(* e1 *)} with | ${2:p} -> ${3:e2} endsnippet snippet Match "match" match ${1:(* e1 *)} with | ${2:p} -> ${3:e2} endsnippet snippet class "class" class ${1:name} = object ${2:methods} end endsnippet snippet obj "obj" object ${2:methods} end endsnippet snippet Obj "object" object (self) ${2:methods} end endsnippet snippet {{ "object functional update" {< ${1:x} = ${2:y} >} endsnippet snippet beg "beg" begin ${1:block} 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:(* BODY *)} end endsnippet snippet Mod "module with signature" module ${1:(* Name *)} : ${2:(* SIG *)} = struct ${3:(* BODY *)} end endsnippet snippet sig "anonymous signature" sig ${2:(* BODY *)} 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:(* BODY *)} end endsnippet snippet Func "define functor - with signature" module ${1:M} (${2:Arg} : ${3:ARG}) : ${4:SIG} = struct ${5:(* BODY *)} end endsnippet snippet mot "Declare module signature" module type ${1:(* Name *)} = sig ${2:(* BODY *)} end endsnippet snippet module "Module with anonymous signature" module ${1:(* Name *)} : sig ${2:(* SIGNATURE *)} end = struct ${3:(* BODY *)} end endsnippet snippet oo "odoc" (** ${1:odoc} *) endsnippet snippet qt "inline qtest" (*$T ${1:name} ${2:test} *) endsnippet