[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[mhc:00282] Re: mhc-snap19991211
nom> Category の補完はまだです。仕様の段階で悩んでます。
nom> Category は 1つにしてしまっても不自由ないのかな、と思うようにも
nom> なりました。既に複数書いて使ってる人はいますか?
まだ使用していないですが、使用しそうです...
きょう gnu.emacs.help で補完あたりの話をしていたら Stefan Monnier さん
にサンプルコードをいただきました。
そのままでは動かなかったので、ちょっと手を加えました。その結果以下の
様なものができたました。
(setq prompt "Prompt: ")
(setq table '(("see" "this" "code" "work" "not")))
(setq separator ",")
(defun my-completion (str pred all)
(let ((lead ""))
(when (string-match (concat ".*" separator) str)
(setq lead (substring str 0 (match-end 0)))
(setq str (substring str (match-end 0))))
(if all
(mapcar
(lambda (s)
(concat lead s))
(all-completions str table pred))
(let ((result))
(setq result (try-completion str table pred))
(if (not (stringp result))
(concat lead str)
(concat lead result))))))
(completing-read prompt 'my-completion)
こんな感じのものを応用するというのはいかがでしょうか?
# *Completions* buffer の中身が気になります。上記のコードを
実行し、「see,」を補完すればわかると思います。なんとかできないかなぁ。