$shibayu36->blog;

株式会社はてなでエンジニアをしています。プログラミングや読書のことなどについて書いています。

emacsの例外処理を使ってdirex-project.elを便利にする

以前direx.elでgitプロジェクトのディレクトリツリーを表示する、またはdirex-project.elの紹介 - $shibayu36->blog;emacsの例外処理の方法がよくわからないと書いたら、Emacs Lispで例外処理 - Life is very shortで例外処理の方法を教えてもらったので、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さんありがとうございました!