# Credit: @iurifg priority -50 snippet do do ${1} end endsnippet snippet if "if .. do .. end" if ${1:condition} do ${2:expression} end endsnippet snippet if "if .. do: .." if ${1:condition}, do: ${2:expression} endsnippet snippet ife "if .. do .. else .. end" if ${1:condition} do ${2:expression} else ${3:expression} end endsnippet snippet ife "if .. do: .. else:" if ${1:condition}, do: ${2}, else: ${3} endsnippet snippet unless "unless .. do .. end" unless ${1} do ${2} end endsnippet snippet unless "unless .. do: .." unless ${1:condition}, do: ${2} endsnippet snippet unlesse "unless .. do .. else .. end" unless ${1:condition} do ${2} else ${3} end endsnippet snippet unlesse "unless .. do: .. else:" unless ${1:condition}, do: ${2}, else: ${3} endsnippet snippet cond "cond do" ${1} -> ${2} end endsnippet snippet case case ${1} do ${2} -> ${3} end endsnippet snippet def def ${1:name} do ${2} end endsnippet snippet defin "def function(n), do: n" def ${1:name}, do: ${2} endsnippet snippet defg def ${1:name} when ${2:guard-condition} do ${3} end endsnippet snippet defim defimpl ${1:protocol_name}, for: ${2:data_type} do ${3} end endsnippet snippet defma defmacro ${1:name} do ${2} end endsnippet snippet defmo defmodule ${1:module_name} do ${2} end endsnippet snippet defp defp ${1:name} do ${2} end endsnippet snippet defpr defprotocol ${1:name}, [${2:function}] endsnippet snippet defr defrecord ${1:record_name}, ${2:fields} endsnippet snippet doc @doc """ ${1} """ endsnippet snippet fn fn(${1:args}) -> ${2} end endsnippet snippet fun function do ${1} end endsnippet snippet mdoc @moduledoc """ ${1} """ endsnippet snippet rec receive do ${1} -> ${2} end endsnippet snippet req require ${1:module_name} endsnippet snippet imp import ${1:module_name} endsnippet snippet ali "alias old-module to shorthand" alias ${1:module_name} endsnippet snippet test test "${1:test_name}" do ${2} end endsnippet snippet try "try .. rescue .. end" try do ${1} rescue ${2} -> ${3} end endsnippet