anything-sourceを選択してanythingを起動するanything-source
(defvar anything-c-source-call-source `((name . "call source") (init . (lambda () (with-current-buffer (anything-candidate-buffer 'global) (let ((sources (loop for sym being symbols for s = (symbol-name sym) when (string-match "^anything-c-source-" s) collect s))) (insert (mapconcat 'identity sources "\n")))))) (candidates-in-buffer) (action . (("invoke anything with selected source" . (lambda (candidate) (let ((source-sym (intern candidate))) (when (anything-c-call-source-p source-sym) (anything (list source-sym)))))) )))) (defun anything-c-call-source-p (sym) (let ((source (symbol-value sym))) (assq 'name source)))
anything-c-source-* を候補にanythingを起動して選択したsourceでanythingを起動します。
emacsの名前空間を逆に利用した技。
すぐ押せるキーバインドに割り当てておくと便利です。
たまに使うsourceを起動したい時に便利です。