diff options
| author | Vito G. Graffagnino <vito@graffagnino.xyz> | 2022-08-28 12:24:01 +0100 |
|---|---|---|
| committer | Vito G. Graffagnino <vito@graffagnino.xyz> | 2022-08-28 12:24:01 +0100 |
| commit | 823302458ec6c53455a3f34674415c43ce6a3187 (patch) | |
| tree | 92168b44b01f5b2236b7cdf331e227c4790431ee /snippets/elixir.snippets | |
| parent | 9ea6111717518625cbd28a020493ec06610ff01e (diff) | |
Added snippets directory
Diffstat (limited to 'snippets/elixir.snippets')
| -rw-r--r-- | snippets/elixir.snippets | 292 |
1 files changed, 292 insertions, 0 deletions
diff --git a/snippets/elixir.snippets b/snippets/elixir.snippets new file mode 100644 index 0000000..ee093eb --- /dev/null +++ b/snippets/elixir.snippets @@ -0,0 +1,292 @@ +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 dfw + def ${1:name}(${2:args}) when ${3:guard}, do: +snippet def + def ${1:name} do + ${0} + end +snippet defd + @doc """ + ${1:doc string} + """ + def ${2:name} do + ${0} + end +snippet defs + @spec ${1:name}(${2:arg types}) :: ${3:no_return} + def $1(${4:args}) do + ${0} + end +snippet defsd + @doc """ + ${1:doc string} + """ + @spec ${2:name}(${3:arg types}) :: ${4:no_return} + def $2(${5:args}) do + ${0} + end +snippet defw + def ${1:name}(${2:args}) when ${3:guard} 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 %M + %__MODULE__{ + ${1:key_name}: ${2:value} + } +snippet enfk + @enforce_keys [:${1:key_name}] +snippet dfp + defp ${1:name}, do: ${2} +snippet dfpw + defp ${1:name}(${2:args}) when ${3:guard}, do: ${4} +snippet defp + defp ${1:name} do + ${0} + end +snippet defpw + defp ${1:name}(${2:args}) when ${3:guard} 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 destag + @describetag :${1:describe tag} +snippet mtag + @moduletag :${1:module tag} +snippet dt + doctest ${1:filename} +snippet tp + @tag :pending +snippet exunit + defmodule ${1:`substitute(vim_snippets#Filename(), '\(_\|^\)\(.\)', '\u\2', 'g')`} do + use ExUnit.Case, async: true + + ${0} + end +snippet setup + setup do + ${1} + end +snippet setupa + setup_all do + ${1} + end +snippet try try .. rescue .. end + try do + ${1:${VISUAL}} + rescue + ${2} -> ${0} + end +snippet pry + require IEx; IEx.pry + ${0} +snippet ppry + |> (fn x -> require IEx; IEx.pry; x end).()${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 |
