静的補完と動的補完を一緒にやってみた
前に作っていた奴に静的補完のも付けてみた。多少よくなった。
(defun lisp-indent-line-and-complete-symbol-loop() (interactive "*") (lisp-indent-line) (if (looking-at "\\_>");カーソル前が、補完可能なら (unless (expand-abbrev) (let (key) (while (lisp-complete-symbol);ループでlispのシンボルを補完し続ける (refresh-screen) ;補完された文字を更新する (lisp-complete-symbol);補完候補が一つで即座に補完された場合のために (setq key (read-char ed:*keyboard*));キーボードから一文字読み取る (unless (and (eq (lookup-key-command key) 'self-insert-command) ;入力されたキーがコマンドでないか確かめる↑ (or (syntax-word-p key) (syntax-symbol-p key))) (unread-char key);上の条件に合わなければ、keyを削除して (return));ループを抜ける (insert key);コマンドでないときにはキーを画面に挿入 )))))