snippet do
	do
		${0}
	end
snippet if if .. do .. end
	if ${1} do
		${0}
	end
snippet if: if .. do: ..
	if ${1:condition}, do: ${0}
snippet ife if .. do .. else .. end
	if ${1:condition} do
		${2}
	else
		${0}
	end
snippet ife: if .. do: .. else:
	if ${1:condition}, do: ${2}, else: ${0}
snippet unless unless .. do .. end
	unless ${1} do
		${0}
	end
snippet unless: unless .. do: ..
	unless ${1:condition}, do: ${0}
snippet unlesse unless .. do .. else .. end
	unless ${1:condition} do
		${2}
	else
		${0}
	end
snippet unlesse: unless .. do: .. else:
	unless ${1:condition}, do: ${2}, else: ${0}
snippet cond
	cond do
		${1} ->
			${0}
	end
snippet case
	case ${1} do
		${2} ->
			${0}
	end
snippet for
	for ${1:item} <- ${2:items} do
		${0}
	end
snippet fori
	for ${1:item} <- ${2:items}, into: ${3} do
		${0}
	end
snippet wi
	with(
		${1:item} <- ${2:items}
	) do
		${0}
	end
snippet wie
	with(
		${1:item} <- ${2:items}
	) do
		${3}
	else
		${4} ->
			${0}
	end
snippet df
	def ${1:name}, do: ${2}
snippet def
	def ${1:name} do
		${0}
	end
snippet defd
	@doc """
	${1:doc string}
	"""
	def ${2:name} do
		${0}
	end
snippet defim
	defimpl ${1:protocol_name}, for: ${2:data_type} do
		${0}
	end
snippet defma
	defmacro ${1:name} do
		${0}
	end
snippet defmo
	defmodule ${1:`substitute(vim_snippets#Filename(), '\(_\|^\)\(.\)', '\u\2', 'g')`} do
		${0}
	end
snippet dfp
	defp ${1:name}, do: ${2}
snippet defp
	defp ${1:name} do
		${0}
	end
snippet defpr
	defprotocol ${1:name}, [${0:function}]
snippet defr
	defrecord ${1:record_name}, ${0:fields}
snippet doc
	@doc """
	${0}
	"""
snippet docf
	@doc false
snippet fn
	fn ${1:args} -> ${0} end
snippet mdoc
	@moduledoc """
	${0}
	"""
snippet mdocf
	@moduledoc false
snippet rec
	receive do
		${1} ->
			${0}
	end
snippet req
	require ${0:module_name}
snippet imp
	import ${0:module_name}
snippet ali
	alias ${0:module_name}
snippet test
	test "${1:test name}" do
		${0}
	end
snippet testa
	test "${1:test_name}", %{${2:arg: arg}} do
		${0}
	end
snippet des
	describe "${1:test group subject}" do
		${0}
	end
snippet exunit
	defmodule ${1:`substitute(vim_snippets#Filename(), '\(_\|^\)\(.\)', '\u\2', 'g')`} do
		use ExUnit.Case, async: true

		${0}
	end
snippet try try .. rescue .. end
	try do
		${1}
	rescue
		${2} -> ${0}
	end
snippet pry
	require IEx; IEx.pry
	${0}
snippet qu
	quote do
		${1}
	end
snippet beh
	@behaviour ${1:Mix.Task}
	${0}