method一覧
以下の方法が一番楽かもしれない。
.emacs
(require 'ansi-color) (require 'anything) (unless (fboundp 'rlet1) (defmacro let1 (var val &rest action) `(let ((,var ,val)) ,@action)) (put 'let1 'lisp-indent-function 2) (defmacro rlet1 (var val &rest action) `(let1 ,var ,val (progn ,@action ,var))) (put 'rlet1 'lisp-indent-function 2) ) (defvar tiny-ruby-reference-source-buffer "*TRS*") (defvar tiny-ruby-reference-output "*qri-output*") (setq tiny-ruby-reference-source '((name . "ruby method") (init . (lambda () (unless (anything-candidate-buffer) (anything-candidate-buffer (tiny-ruby-reference-source-activate))))) (candidates-in-buffer) (action . tiny-ruby-reference-qri))) (defun tiny-ruby-reference-qri (cand) (let* ((cand* (replace-regexp-in-string "#" "." cand)) (cand** (replace-regexp-in-string "\?" "\\\\?" cand*))) (let1 buf (get-buffer-create tiny-ruby-reference-output) (with-current-buffer buf (erase-buffer) (call-process-shell-command (concat "qri " cand**) nil buf) (ansi-color-apply-on-region (point-min) (point-max))) (display-buffer buf)))) (defun tiny-ruby-reference-source-activate () (or (get-buffer tiny-ruby-reference-source-buffer) (rlet1 buf (get-buffer-create tiny-ruby-reference-source-buffer) (call-process-shell-command "qri -l" nil buf)))) (defun tiny-ruby-reference () (interactive) (anything '(tiny-ruby-reference-source)))
あとは、M-x tiny-ruby-referenceで
*1:friはserverが立ち上がっていないと利用できないので面倒