コード補完

意味の上でのある程度のまとまりごとに、名前をドットで区切ってやれば、名前の衝突は防止できるな。
まぁ、単なる文字列なので、その「意味」に当たる部分は、プログラマの頭の中だけにしか無いけど。


名前の衝突を防止の他に、コード補完によるコーディングの効率化という効果もあるな。
長い名前覚えなくても、ドットまでタイプして補完させれば楽ちんになるはず。


ってことで、「Scheme」「補完」でググったらscheme-complete.elなるモノがあることを知った。
1. http://synthcode.com/から「scheme-complete-X.X.X.el.gz」をダウンロード
2. 解凍後して出来たファイルを「scheme-complete.el」に名前変更
3. emacsのパスの通っているところに置く
4. .emacs(または.emacs.el)に以下を追記

(autoload 'scheme-smart-complete "scheme-complete" nil t)
(eval-after-load 'scheme
  '(progn (define-key scheme-mode-map "\t" 'scheme-complete-or-indent)))
(autoload 'scheme-get-current-symbol-info "scheme-complete" nil t)
(add-hook 'scheme-mode-hook
  (lambda ()
    (make-local-variable 'eldoc-documentation-function)
    (setq eldoc-documentation-function 'scheme-get-current-symbol-info)
    (eldoc-mode t)
    (setq lisp-indent-function 'scheme-smart-indent-function)))


上のスクリーンショットは、

  • Item.Properties
  • Item.Property-get

を定義して、

(Item.

までタイプして、Tabキー押したところ。


補完された!(゚д゚)ウマー