HOME xyzzy download 書き込む

Haskell mode for xyzzy


1. はじめに

xyzzy 用の Haskell mode を作ってみました。

2. インストール

インストールの手順は以下の通りです。
  1. hs-mode.lzh を解凍します。(hs-mode.l, hs-mode.lc, Haskell が生成します。)
  2. hs-mode.l, hs-mode.lc を /site-lisp に、 Haskell を /etc にコピーします。
  3. .xyzzy か site-init.l に以下のコードを追加します。
    (push '("\\.hs$" . hs-mode) *auto-mode-alist*)
    (autoload 'hs-mode "hs-mode" t)
    
  4. ダンプファイルを更新します。

2. 使用法

Haskell のソースコードを打ち込むとほぼ自動でインデントします。 インデント量が多いときは S-TAB を押すとインデント量が 一段階減少します。 キーマップは以下の通りです。
RET
改行してインデントします。
TAB
カーソルのある行をインデントします。
S-TAB
カーソルのある行のインデント量を1段階減らします。
M-w
カーソルのある行をインデントして where を挿入します。
M-g
カーソルのある行をインデントして guard ( | ) を挿入します。

3. カスタマイズ

インデントの量は *hs-primary-indent* と *hs-secondary-indent* で 調節します。

4. おわりに

Emacs の haskell-mode はかなり大きなプログラムなので 移植する気が失せました。その代わりにインデントだけを行う小さなスクリプトを書いてみました。

ご参考までに。