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