snippet do do ${0:${VISUAL}} end snippet put IO.puts IO.puts "${0}" snippet ins IO.inspect IO.inspect ${0} snippet insl IO.inspect with label IO.inspect(${0}label: "${1:label}") snippet if if .. do .. end if ${1} do ${0:${VISUAL}} end snippet if: if .. do: .. if ${1:condition}, do: ${0} snippet ife if .. do .. else .. end if ${1:condition} do ${2:${VISUAL}} else ${0} end snippet ife: if .. do: .. else: if ${1:condition}, do: ${2}, else: ${0} snippet unless unless .. do .. end unless ${1} do ${0:${VISUAL}} end snippet unless: unless .. do: .. unless ${1:condition}, do: ${0} snippet unlesse unless .. do .. else .. end unless ${1:condition} do ${2:${VISUAL}} else ${0} end snippet unlesse: unless .. do: .. else: unless ${1:condition}, do: ${2}, else: ${0} snippet cond cond do ${1} -> ${0:${VISUAL}} end snippet case case ${1} do ${2} -> ${0} end snippet for for ${1:item} <- ${2:items} do ${0} end snippet for: for ${1:item} <- ${2:items}, do: ${0} 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 sp @spec ${1:name}(${2:args}) :: ${3:returns} snippet op @opaque ${1:type_name} :: ${2:type} snippet ty @type ${1:type_name} :: ${2:type} snippet typ @typep ${1:type_name} :: ${2:type} snippet cb @callback ${1:name}(${2:args}) :: ${3:returns} 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 defsd @doc """ ${1:doc string} """ @spec ${2:name} :: ${3:no_return} def ${2} 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 docs @doc ~S""" ${0} """ snippet docf @doc false snippet im @impl true snippet fn fn ${1:args} -> ${0} end snippet mdoc @moduledoc """ ${0} """ snippet mdocs @moduledoc ~S""" ${0} """ snippet mdocf @moduledoc false snippet rec receive do ${1} -> ${0} end snippet req require ${0:Logger} snippet imp import ${0:module_name} snippet ali alias ${0:module_name} snippet test test "${1:test name}" do ${0} end snippet testc test "${1:test_name}", ctx 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:${VISUAL}} rescue ${2} -> ${0} end snippet pry require IEx; IEx.pry ${0} snippet qu quote do ${1} end snippet beh @behaviour ${1:Mix.Task} ${0} snippet p |> ${0} snippet >e pipe to each |> Enum.each(fn ${1} -> ${0} end) snippet >m pipe to map |> Enum.map(fn ${1} -> ${0} end) snippet >f pipe to filter |> Enum.filter(fn ${1} -> ${0} end) snippet >r pipe to reduce |> Enum.reduce(${1:acc}, fn ${2}, ${3:acc} -> ${0} end) snippet >i pipe to inspect |> IO.inspect snippet >il pipe to inspect with label |> IO.inspect(label: "${1:label}") snippet cs @doc false def child_spec(${1:_opts}) do %{ id: __MODULE__, start: {__MODULE__, :start_link, ${2:[]}}, restart: ${3::permanent}, shutdown: ${4:5000}, type: ${5::worker} } end snippet genserver basic genserver structure use GenServer @doc false def start_link do GenServer.start_link(__MODULE__, ${1:Map.new}) end @impl true def init(state) do {:ok, state} end snippet genserver: basic genserver structure use GenServer @doc false def start_link, do: GenServer.start_link(__MODULE__, ${1:Map.new}) @impl true def init(state), do: {:ok, state} snippet impl @impl true def ${1:name} do ${0} end snippet wl word list ~w(${0}) snippet al atom list ~w(${0})a