wkoikingのブログ

内容は主にhaskellやxyzzy関連です。

xyzzy haskell-mode 改良

ghci-shell-modeに少し改良を加えました。

また、hs-modeからhaskell-modeへ名前を変更しました。

変更点

  • ghciへのコマンド出力時のエンコーディングをutf8に変更
    • 日本語のディレクトリでもghci-load-fileできるようになりました
  • ghci-shell-first-errorの追加
    • ghci-load-fileした後にF10ですぐにエラー行に飛べるようになりました

ghci-shell-mode

前回していなかったので少し説明を。

ghci-mode(マイナーモード)で、.hsファイルを編集中にC-c C-iで、 xyzzy上でghciを起動することができます。 (ghci起動と同時に現在編集中のファイルをロードします。)

ghci-shell-modeはghciとやりとりするためにghciと関連付けられたバッファで用いるモードです。

前回書き忘れていましたが、ghci-shell-modeのキーバインドは以下のとおりです。

だいたいcmdとかでghciを起動した時と同じように使えると思います。

キー関数名説明
RET ghci-shell-send-input ghciにコマンドを送信
C-c C-c ghci-shell-send-interrupt ghciにinterruptシグナルを送る
Up ghci-shell-up ヒストリー前
Down ghci-shell-down ヒストリー後
Home ghci-shell-home カーソルをプロンプトの手前に移動
S-Home ghci-shell-selection-beginning-of-line カーソルをプロンプトの手前に移動して選択
TAB ghci-dabbrev dabbrev
F10 ghci-shell-first-error 最初のエラー行へジャンプ

TAB補完がdabbrevを使っておりショボイため、ゆくゆくは改良したいと考えています。 (ちゃんとgithubとか使って公開したほうがいいかなぁ)