⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 erlang_appwiz.el

📁 OTP是开放电信平台的简称
💻 EL
📖 第 1 页 / 共 3 页
字号:
    n    (erlang-skel-separator 2)    "%% Func: terminate/3" n    "%% Purpose: Shutdown the fsm" n    "%% Returns: any" n    (erlang-skel-separator 2)    "terminate(Reason, StateName, StatData) ->" n>    "ok." n    n    (erlang-skel-separator)    "%%% Internal functions" n    (erlang-skel-separator)    )  "*The template of a gen_fsm.Please see the function `tempo-define-template'.");;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Original erlang-add-quotes-if-needed is broken, we install a ;; new version.;;(add-hook 'erlang-load-hook 'my-erlang-load-mods)(defun fixed-erlang-add-quotes-if-needed (str)  "Return STR, possibly with quotes."  (let ((saved-case-fold-search case-fold-search)	(result nil))    (setq case-fold-search nil)    (setq result (if (string-match (concat "\\`" erlang-atom-regexp "\\'") str)		     str		   (concat "'" str "'")))    (setq case-fold-search saved-case-fold-search)    result))(defun my-erlang-load-mods () (fset 'erlang-add-quotes-if-needed	(symbol-function 'fixed-erlang-add-quotes-if-needed)) (appwiz-skel-init));;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Additional skeletons which are not shown in the Erlang menu.;;(defvar appwiz-skel  '(;    ("generic-server-no-api" erlang-skel-generic-server-no-api);    ("generic-server-api"    erlang-skel-generic-server-api);    ("gen-event-no-api"      erlang-skel-gen-event-no-api);    ("gen-event-api"         erlang-skel-gen-event-api);    ("gen-fsm-no-api"	     erlang-skel-gen-fsm-no-api);    ("gen-fsm-api"	     erlang-skel-gen-fsm-api)     ("makefile-middle"      erlang-skel-makefile-middle)     ("makefile-src"         erlang-skel-makefile-src)))(defun appwiz-skel-init ()  "Generate the skeleton functions."  (interactive)  (condition-case nil      (require 'tempo)    (error t))  (if (featurep 'tempo)      (let ((skel appwiz-skel))	(while skel	  (funcall (symbol-function 'tempo-define-template)		   (concat "erlang-" (nth 0 (car skel)))		   ;; The tempo template used contains an `include'		   ;; function call only, hence changes to the		   ;; variables describing the templates take effect		   ;; immdiately.		   (list (list 'erlang-skel-include (nth 1 (car skel))))		   (nth 0 (car skel)))	  (setq skel (cdr skel))))));;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;(defvar erlang-skel-generic-server-no-api;;  '((erlang-skel-include erlang-skel-large-header);;    "-behaviour(gen_server)." n;;    n;;    "%% gen_server callbacks" n;;    "-export([init/1, handle_call/3, handle_cast/2, ";;    "handle_info/2, terminate/2])." n n;;    "-record(state, {})." n ;;    n;;    (erlang-skel-separator);;    "%%% Callback functions from gen_server" n;;    (erlang-skel-separator);;    n;;    (erlang-skel-separator 2);;    "%% Func: init/1" n;;    "%% Returns: {ok, State}          |" n;;    "%%          {ok, State, Timeout} |" n;;    "%%          ignore               |" n;;    "%%          {stop, Reason}" n;;    (erlang-skel-separator 2);;    "init([]) ->" n>;;    "{ok, #state{}}." n;;    n;;    (erlang-skel-separator 2);;    "%% Func: handle_call/3" n;;    "%% Returns: {reply, Reply, State}          |" n;;    "%%          {reply, Reply, State, Timeout} |" n;;    "%%          {noreply, State}               |" n;;    "%%          {noreply, State, Timeout}      |" n;;    "%%          {stop, Reason, Reply, State}   | (terminate/2 is called)" n;;    "%%          {stop, Reason, State}            (terminate/2 is called)" n;;    (erlang-skel-separator 2);;    "handle_call(Request, From, State) ->" n>;;    "Reply = ok," n>;;    "{reply, Reply, State}." n;;    n;;    (erlang-skel-separator 2);;    "%% Func: handle_cast/2" n;;    "%% Returns: {noreply, State}          |" n;;    "%%          {noreply, State, Timeout} |" n;;    "%%          {stop, Reason, State}            (terminate/2 is called)" n;;    (erlang-skel-separator 2)    ;;    "handle_cast(Msg, State) ->" n>;;    "{noreply, State}." n;;    n;;    (erlang-skel-separator 2);;    "%% Func: handle_info/2" n;;    "%% Returns: {noreply, State}          |" n;;    "%%          {noreply, State, Timeout} |" n;;    "%%          {stop, Reason, State}            (terminate/2 is called)" n;;    (erlang-skel-separator 2);;    "handle_info(Info, State) ->" n>;;    "{noreply, State}." n;;    n;;    (erlang-skel-separator 2);;    "%% Func: terminate/2" n;;    "%% Purpose: Shutdown the server" n;;    "%% Returns: any (ignored by gen_server)" n;;    (erlang-skel-separator 2);;    "terminate(Reason, State) ->" n>;;    "ok." n;;    n;;    (erlang-skel-separator);;    "%%% Internal functions" n;;    (erlang-skel-separator);;    );;  "*The template of a generic server.;;Please see the function `tempo-define-template'.");;;;(defvar erlang-skel-generic-server-api;;  '((erlang-skel-include erlang-skel-large-header);;    "%% External exports" n;;    "-export([start_link/0])." n;;    n;;    (erlang-skel-separator);;    "%%% API" n;;    (erlang-skel-separator);;    "start_link() ->" n>;;    "gen_server:start_link({local, " ;;    (erlang-add-quotes-if-needed;;     (concat (erlang-get-module-from-file-name) "_server")) "}, ";;    (erlang-add-quotes-if-needed;;     (concat (erlang-get-module-from-file-name) "_server")) ", [], [])." n ;;    n;;    ));;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;(defvar erlang-skel-gen-event-no-api;;  '((erlang-skel-include erlang-skel-large-header);;    "-behaviour(gen_event)." n;;    n;;    "%% gen_event callbacks" n;;    "-export([init/1, handle_event/2, handle_call/2, ";;    "handle_info/2, terminate/2])." n n;;    "-record(state, {})." n ;;    n;;    (erlang-skel-separator);;    "%%% Callback functions from gen_event" n;;    (erlang-skel-separator);;    n;;    (erlang-skel-separator 2);;    "%% Func: init/1" n;;    "%% Returns: {ok, State}          |" n;;    "%%          Other" n;;    (erlang-skel-separator 2);;    "init([]) ->" n>;;    "{ok, #state{}}." n;;    n;;    (erlang-skel-separator 2);;    "%% Func: handle_event/2" n;;    "%% Returns: {ok, State}                                |" n;;    "%%          {swap_handler, Args1, State1, Mod2, Args2} |" n;;    "%%          remove_handler                              " n;;    (erlang-skel-separator 2);;    "handle_event(Event, State) ->" n>;;    "{ok, State}." n;;    n;;    (erlang-skel-separator 2);;    "%% Func: handle_call/2" n;;    "%% Returns: {ok, Reply, State}                                |" n;;    "%%          {swap_handler, Reply, Args1, State1, Mod2, Args2} |" n;;    "%%          {remove_handler, Reply}                            " n;;    (erlang-skel-separator 2);;    "handle_call(Request, State) ->" n>;;    "Reply = ok," n>;;    "{ok, Reply, State}." n;;    n;;    (erlang-skel-separator 2);;    "%% Func: handle_info/2" n;;    "%% Returns: {ok, State}                                |" n;;    "%%          {swap_handler, Args1, State1, Mod2, Args2} |" n;;    "%%          remove_handler                              " n;;    (erlang-skel-separator 2);;    "handle_info(Info, State) ->" n>;;    "{ok, State}." n;;    n;;    (erlang-skel-separator 2);;    "%% Func: terminate/2" n;;    "%% Purpose: Shutdown the server" n;;    "%% Returns: any" n;;    (erlang-skel-separator 2);;    "terminate(Reason, State) ->" n>;;    "ok." n;;    n;;    (erlang-skel-separator);;    "%%% Internal functions" n;;    (erlang-skel-separator);;    );;  "*The template of a gen_event.;;Please see the function `tempo-define-template'.");;;;(defvar erlang-skel-gen-event-api;;  '((erlang-skel-include erlang-skel-large-header);;    "%% External exports" n;;    "-export([start_link/0, add_handler/0])." n;;    n;;    (erlang-skel-separator);;    "%%% API" n;;    (erlang-skel-separator);;    "start_link() ->" n>;;    "gen_event:start_link({local, " ;;    (erlang-add-quotes-if-needed;;     (concat (erlang-get-module-from-file-name) "_event")) "}). " n;;    n;;    "add_handler() ->" n>;;    "gen_event:add_handler(";;    (erlang-add-quotes-if-needed;;     (concat (erlang-get-module-from-file-name) "_event")) ", ";;    (erlang-add-quotes-if-needed;;     (concat (erlang-get-module-from-file-name) "_event")) ", [])." n ;;    n));;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;(defvar erlang-skel-gen-fsm;;  '((erlang-skel-include erlang-skel-large-header);;    "-behaviour(gen_fsm)." n;;    n;;    "%% gen_fsm callbacks" n;;    "-export([init/1, state_name/2, state_name/3, handle_event/3," n>;;    "handle_sync_event/4, handle_info/3, terminate/3])." n n;;    "-record(state, {})." n ;;    n;;    (erlang-skel-separator);;    "%%% Callback functions from gen_fsm" n;;    (erlang-skel-separator);;    n;;    (erlang-skel-separator 2);;    "%% Func: init/1" n;;    "%% Returns: {ok, StateName, StateData}          |" n;;    "%%          {ok, StateName, StateData, Timeout} |" n;;    "%%          ignore                              |" n;;    "%%          {stop, StopReason}                   " n;;    (erlang-skel-separator 2);;    "init([]) ->" n>;;    "{ok, state_name, #state{}}." n;;    n;;    (erlang-skel-separator 2);;    "%% Func: StateName/2" n;;    "%% Returns: {next_state, NextStateName, NextStateData}          |" n;;    "%%          {next_state, NextStateName, NextStateData, Timeout} |" n;;    "%%          {stop, Reason, NewStateData}                         " n;;    (erlang-skel-separator 2);;    "state_name(Event, StateData) ->" n>;;    "{nextstate, state_name, StateData}." n;;    n;;    (erlang-skel-separator 2);;    "%% Func: StateName/3" n;;    "%% Returns: {next_state, NextStateName, NextStateData}            |" n;;    "%%          {next_state, NextStateName, NextStateData, Timeout}   |" n;;    "%%          {reply, Reply, NextStateName, NextStateData}          |" n;;    "%%          {reply, Reply, NextStateName, NextStateData, Timeout} |" n;;    "%%          {stop, Reason, NewStateData}                          |" n;;    "%%          {stop, Reason, Reply, NewStateData}                    " n;;    (erlang-skel-separator 2);;    "state_name(Event, From, StateData) ->" n>;;    "Reply = ok," n>;;    "{reply, Reply, state_name, StateData}." n;;    n;;    (erlang-skel-separator 2);;    "%% Func: handle_event/3" n;;    "%% Returns: {next_state, NextStateName, NextStateData}          |" n;;    "%%          {next_state, NextStateName, NextStateData, Timeout} |" n;;    "%%          {stop, Reason, NewStateData}                         " n;;    (erlang-skel-separator 2);;    "handle_event(Event, StateName, StateData) ->" n>;;    "{nextstate, StateName, StateData}." n;;    n;;    (erlang-skel-separator 2);;    "%% Func: handle_sync_event/4" n;;    "%% Returns: {next_state, NextStateName, NextStateData}            |" n;;    "%%          {next_state, NextStateName, NextStateData, Timeout}   |" n;;    "%%          {reply, Reply, NextStateName, NextStateData}          |" n;;    "%%          {reply, Reply, NextStateName, NextStateData, Timeout} |" n;;    "%%          {stop, Reason, NewStateData}                          |" n;;    "%%          {stop, Reason, Reply, NewStateData}                    " n;;    (erlang-skel-separator 2);;    "handle_sync_event(Event, From, StateName, StateData) ->" n>;;    "Reply = ok," n>;;    "{reply, Reply, StateName, StateData}." n;;    n;;    (erlang-skel-separator 2);;    "%% Func: handle_info/3" n;;    "%% Returns: {next_state, NextStateName, NextStateData}          |" n;;    "%%          {next_state, NextStateName, NextStateData, Timeout} |" n;;    "%%          {stop, Reason, NewStateData}                         " n;;    (erlang-skel-separator 2);;    "handle_info(Info, StateName, StateData) ->" n>;;    "{nextstate, StateName, StateData}." n;;    n;;    (erlang-skel-separator 2);;    "%% Func: terminate/3" n;;    "%% Purpose: Shutdown the fsm" n;;    "%% Returns: any" n;;    (erlang-skel-separator 2);;    "terminate(Reason, StateName, StatData) ->" n>;;    "ok." n;;    n;;    (erlang-skel-separator);;    "%%% Internal functions" n;;    (erlang-skel-separator);;    );;  "*The template of a gen_fsm.;;Please see the function `tempo-define-template'.");;;;(defvar erlang-skel-gen-fsm-no-api;;  '((erlang-skel-include erlang-skel-large-header);;        "%% External exports" n;;    "-export([start_link/0])." n;;    n;;    (erlang-skel-separator);;    "%%% API" n;;    (erlang-skel-separator);;    "start_link() ->" n>;;    "gen_fsm:start_link({local, " ;;    (erlang-add-quotes-if-needed;;     (concat (erlang-get-module-from-file-name) "_fsm")) "}, ";;    (erlang-add-quotes-if-needed;;     (concat (erlang-get-module-from-file-name) "_fsm")) ", [], [])." n ;;    n;;    ));;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; requires that the variables appwiz-erlang-modulename and;; appwiz-erlang-ext are defined.;;(defvar erlang-skel-makefile-src  '((erlang-skel-include erlang-skel-nomodule-header)    "MAKE = make" n    n    "ERL = erlc" n    n    "EBIN = ../ebin" n    n    (erlang-skel-makefile-separator)    n    (upcase appwiz-erlang-modulename) "_HEADER_FILES = "    appwiz-erlang-modulename "_sup.hrl" n    n    (upcase appwiz-erlang-modulename) "_SOURCE_FILES = \\" n    "	" appwiz-erlang-modulename ".erl" " "    appwiz-erlang-modulename "_sup.erl \\" n    "	" appwiz-erlang-modulename "_app.erl" " "    appwiz-erlang-modulename appwiz-erlang-ext ".erl" n    n    (upcase appwiz-erlang-modulename) "_OBJECT_FILES = $("    (upcase appwiz-erlang-modulename) "_SOURCE_FILES:.erl=.jam)" n    n    n    (erlang-skel-makefile-separator)    "#" n    "# Transformations " n    "#" n    n    ".erl.jam:" n    "	$(ERL) $<" n    n    (erlang-skel-makefile-separator) n    n    n    "def : "    appwiz-erlang-modulename n    n    appwiz-erlang-modulename ": $("    (upcase appwiz-erlang-modulename) "_OBJECT_FILES)" n    "	cp $(" (upcase appwiz-erlang-modulename) "_OBJECT_FILES) "    "$(EBIN)" n    n    "clean :" n    "	/bin/rm -f $(" (upcase appwiz-erlang-modulename)    "_OBJECT_FILES)" n    n    "$(" (upcase appwiz-erlang-modulename) "_OBJECT_FILES): $("    (upcase appwiz-erlang-modulename) "_HEADER_FILES)" n    n    ".SUFFIXES : .erl .jam" n    n    ))(defvar erlang-skel-makefile-middle  '((erlang-skel-include erlang-skel-nomodule-header)    "MAKE = make" n    n    (erlang-skel-makefile-separator)    n    "def:" n    "	(cd src ; $(MAKE))" n    n    "clean:" n    "	(cd src ; $(MAKE) clean)" n    n    ))    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;(defun erlang-skel-makefile-separator ()  "Return a comment separator."  (concat (make-string 70 ?\#) "\n"))

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -