snippet comm
	(comment
		${0})
snippet condp
	(condp ${1:pred} ${2:expr}
		${0})
snippet def
	(def ${0})
snippet defm
	(defmethod ${1:multifn} "${2:doc-string}" ${3:dispatch-val} [${4:args}]
		${0:code})
snippet defmm
	(defmulti ${1:name} "${2:doc-string}" ${0:dispatch-fn})
snippet defma
	(defmacro ${1:name} "${2:doc-string}" ${0:dispatch-fn})
snippet defn
	(defn ${1:name} "${2:doc-string}" [${3:arg-list}]
		${0:code})
snippet defp
	(defprotocol ${1:name}
		${0:code})
snippet defr
	(defrecord ${1:name} [${2:fields}]
		${3:protocol}
		${0:code})
snippet deft
	(deftest ${1:name}
		(is (= ${0:assertion})))
snippet is
	(is (= ${1} ${0}))
snippet defty
	(deftype ${1:Name} [${2:fields}]
		${3:Protocol}
		${0:code})
snippet doseq
	(doseq [${1:elem} ${2:coll}]
		${0:code})
snippet fn
	(fn [${1:arg-list}] ${0:code})
snippet if
	(if ${1:test-expr}
		${2:then-expr}
		${0:else-expr})
snippet if-let
	(if-let [${1:result} ${2:test-expr}]
		(${3:then-expr} $1)
		(${0:else-expr}))
snippet imp
	(:import [${1:package}])
		& {:keys [${1:keys}] :or {${0:defaults}}}
snippet let
	(let [${1:name} ${2:expr}]
		${0:code})
snippet letfn
	(letfn [(${1:name}) [${2:args}]
		${0:code})])
snippet map
	(map ${1:func} ${0:coll})
snippet mapl
	(map #(${1:lambda}) ${0:coll})
snippet met
	(${1:name} [${2:this} ${3:args}]
		${0:code})
snippet ns
	(ns ${0:name})
snippet dotimes
	(dotimes [_ 10]
		(time
			(dotimes [_ ${1:times}]
				${0:code})))
snippet pmethod
	(${1:name} [${2:this} ${0:args}])
snippet refer
	(:refer-clojure :exclude [${0}])
snippet require
	(:require [${1:namespace} :as [${0}]])
snippet use
	(:use [${1:namespace} :only [${0}]])
snippet print
	(println ${0})
snippet reduce
	(reduce ${1:(fn [p n] ${3})} ${2})
snippet when
	(when ${1:test} $0)
snippet when-let
	(when-let [${1:result} ${2:test}]
		$0)
