1
0
Fork 0
mirror of synced 2024-12-27 09:03:21 -05:00
ultimate-vim/sources_non_forked/vim-snippets/UltiSnips/ocaml.snippets

167 lines
2.3 KiB
Text

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