以前direx.elでgitプロジェクトのディレクトリツリーを表示する、またはdirex-project.elの紹介 - $shibayu36->blog;でemacsの例外処理の方法がよくわからないと書いたら、Emacs Lispで例外処理 - syohex’s diaryで例外処理の方法を教えてもらったので、direx-projectを例外処理を使って少しだけ便利にしてみました。
(defun direx:jump-to-project-directory () (interactive) (let ((result (ignore-errors (direx-project:jump-to-project-root-other-window) t))) (unless result (direx:jump-to-directory-other-window))))
これにより、
- project内にいるなら、direx-projectを起動する
- そうでなければ普通にdirexを起動するということができます
例外処理についていろいろ知ることが出来たので、id:syohexさんありがとうございました!