292 lines
4.9 KiB
Text
292 lines
4.9 KiB
Text
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, do: ${0}
|
|
snippet ife if .. do .. else .. end
|
|
if $1 do
|
|
${2:${VISUAL}}
|
|
else
|
|
${0}
|
|
end
|
|
snippet ife: if .. do: .. else:
|
|
if $1, do: ${2}, else: ${0}
|
|
snippet unless unless .. do .. end
|
|
unless ${1} do
|
|
${0:${VISUAL}}
|
|
end
|
|
snippet unless: unless .. do: ..
|
|
unless $1, do: ${0}
|
|
snippet unlesse unless .. do .. else .. end
|
|
unless $1 do
|
|
${2:${VISUAL}}
|
|
else
|
|
${0}
|
|
end
|
|
snippet unlesse: unless .. do: .. else:
|
|
unless $1, 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
|