# module and export all snippet mod -module(${1:`Filename('', 'my')`}). -compile([export_all]). start() -> ${2} stop() -> ok. # define directive snippet def -define(${1:macro}, ${2:body}).${3} # export directive snippet exp -export([${1:function}/${2:arity}]). # include directive snippet inc -include("${1:file}").${2} # behavior directive snippet beh -behaviour(${1:behaviour}).${2} # if expression snippet if if ${1:guard} -> ${2:body} end # case expression snippet case case ${1:expression} of ${2:pattern} -> ${3:body}; end # anonymous function snippet fun fun (${1:Parameters}) -> ${2:body} end${3} # try...catch snippet try try ${1} catch ${2:_:_} -> ${3:got_some_exception} end # record directive snippet rec -record(${1:record}, { ${2:field}=${3:value}}).${4} # todo comment snippet todo %% TODO: ${1} ## Snippets below (starting with '%') are in EDoc format. ## See http://www.erlang.org/doc/apps/edoc/chapter.html#id56887 for more details # doc comment snippet %d %% @doc ${1} # end of doc comment snippet %e %% @end # specification comment snippet %s %% @spec ${1} # private function marker snippet %p %% @private # OTP application snippet application -module(${1:`Filename('', 'my')`}). -behaviour(application). -export([start/2, stop/1]). start(_Type, _StartArgs) -> case ${2:root_supervisor}:start_link() of {ok, Pid} -> {ok, Pid}; Other -> {error, Other} end. stop(_State) -> ok. # OTP supervisor snippet supervisor -module(${1:`Filename('', 'my')`}). -behaviour(supervisor). %% API -export([start_link/0]). %% Supervisor callbacks -export([init/1]). -define(SERVER, ?MODULE). start_link() -> supervisor:start_link({local, ?SERVER}, ?MODULE, []). init([]) -> Server = {${2:my_server}, {$2, start_link, []}, permanent, 2000, worker, [$2]}, Children = [Server], RestartStrategy = {one_for_one, 0, 1}, {ok, {RestartStrategy, Children}}. # OTP gen_server snippet gen_server -module(${1:`Filename('', 'my')`}). -behaviour(gen_server). %% API -export([ start_link/0 ]). %% gen_server callbacks -export([init/1, handle_call/3, handle_cast/2, handle_info/2, terminate/2, code_change/3]). -define(SERVER, ?MODULE). -record(state, {}). %%%=================================================================== %%% API %%%=================================================================== start_link() -> gen_server:start_link({local, ?SERVER}, ?MODULE, [], []). %%%=================================================================== %%% gen_server callbacks %%%=================================================================== init([]) -> {ok, #state{}}. handle_call(_Request, _From, State) -> Reply = ok, {reply, Reply, State}. handle_cast(_Msg, State) -> {noreply, State}. handle_info(_Info, State) -> {noreply, State}. terminate(_Reason, _State) -> ok. code_change(_OldVsn, State, _Extra) -> {ok, State}. %%%=================================================================== %%% Internal functions %%%===================================================================