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を起動したい時に便利です。