emacsでEclipseの「実行の構成」の機能と同じようなことはできないのでしょうか?
EclipseやIntelliJにはサーバー起動やテスト実行等のコマンドを設定し、
それに名前をつけて保存し、ドロップダウンから選択して実行できる機能があるのですが、
Emacsにはそれに相当する機能はあったりしますでしょうか?
2016-04-20 追記
こんな感じの設定を入れることでanythingに表示できるようになりました。
~/.emacs.d/init.el
;; .emacs.d/init.el
(require 'f)
;; 指定のファイル内に定義された関数名をリストで取得
(defun list-defined-functions-in-file (file)
(-map 'cadr (s-match-strings-all "defun \\(exec-.*?\\) "
(f-read file))))
;; ~/.emacs.d/init.d/99_run_configuration.elの関数一覧を取ってくる
(setq run-congiguration-candidates (list-defined-functions-in-file "~/.emacs.d/init.d/99_run_configuration.el"))
;; anythingの情報源として99_run_configuration.elの関数の一覧を定義
(defvar anything-c-source-run-configuration
'((name . "Run configuration")
(candidates . (lambda () run-congiguration-candidates))
(type . command)))
(defun my-anything ()
(interactive)
(anything-other-buffer
'(anything-c-source-buffers-list
anything-c-source-run-configuration ;; ここで上記の情報源を追加
anything-c-source-recentf
anything-c-source-files-in-current-dir+)
"*anything*"))
~/.emacs.d/init.d/99_run_configuration
;; このファイルに実行したいコマンドを追加していく
(defun exec-lein-ring-server ()
(interactive)
(async-shell-command "cd ~/clojure_projects/sample_project; lein ring server"))
(defun exec-lein-deps ()
(interactive)
(async-shell-command "cd ~/clojure_projects/sample_project; lein deps"))