zshの補完関数が書きたい
$fpath以下にあるファイルに補完の設定が書いてあるらしい。
補完設定用のファイルに楽に移動したい
移動用にanythingを使った関数を作成する.(rubyも使ってる)
(defmacro tiny-anything-function-maker (fname name shell-command actions) "fname: generated function's name name: index-name ---- \"current files\" Shell-command: shell-command ---- \"echo \\\"test\\\"\" actions: action-list --- find-file or ((\"find-file\" . find-file)) " `(defun ,fname () (interactive) (let ((source '((name . ,name) (init . (lambda () (call-process-shell-command ,shell-command nil (anything-candidate-buffer 'global)))) (candidates-in-buffer) (action . ,actions)))) (anything (list source))))) (tiny-anything-function-maker find-zsh-completion-function-file "Completion files" "echo $fpath | ruby -ne '$_.split(\" \").each{|d| fs = Dir[d+\"/*\"]; next if fs.empty?; puts fs}'" (lambda (c) (set-buffer (find-file-noselect c)) (shell-script-mode) (switch-to-buffer (current-buffer)) ))