mirror of
				https://github.com/amix/vimrc
				synced 2025-10-31 06:33:35 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			175 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			175 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 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
 | 
