aboutsummaryrefslogtreecommitdiff
path: root/vim/bundle/vim-snippets/UltiSnips/ocaml.snippets
diff options
context:
space:
mode:
Diffstat (limited to 'vim/bundle/vim-snippets/UltiSnips/ocaml.snippets')
-rw-r--r--vim/bundle/vim-snippets/UltiSnips/ocaml.snippets174
1 files changed, 174 insertions, 0 deletions
diff --git a/vim/bundle/vim-snippets/UltiSnips/ocaml.snippets b/vim/bundle/vim-snippets/UltiSnips/ocaml.snippets
new file mode 100644
index 0000000..1ebc347
--- /dev/null
+++ b/vim/bundle/vim-snippets/UltiSnips/ocaml.snippets
@@ -0,0 +1,174 @@
+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