hgのコマンドが面倒だったので適当に補完
前に書いてたmercurialのコマンドが面倒だったので、適当に補完機能をつけてみた。ただ、新たにキーを割り振らなくてはいけなくてその辺はキー設定が微妙なのであんまり使うかどうかは不明。complete-word?かなにかがSPCに割り当てられててスペースがC-qしないと入力できない理由に気付かなくて妙に戸惑ったけど、その辺は適当にゴニョゴニョしてごまかした。初め自前で全部補完を作ろうとして微妙な感じになってたが、completing-readとかいうのがあってよかった。良い感じに適当にやっても補完がつく。補完対象は適当に途中のリストの所に増やせば良い感じ。
(defun hg-comp() (interactive) (define-key minibuffer-local-completion-map #\SPC 'self-insert-command) (execute-shell-command (concat "hg " (completing-read "hg " '("add" "annotate" "cat" "commit" "copy" "clone" "diff" "grep" "init" "locate" "log" "manifest" "pull" "push" "remove" "rename" "status" "update") :must-match nil)) nil "cmd")) ;;キー設定 (global-set-key '(#\C-c #\h #\g) 'hg-comp)
キー設定は適当。