TextMateでのClojureのインデント解決編

In: Clojure

13 11月 2009

TextMateでのClojureのインデントをなんとかしてみる話。

TextMateはLispスタイルのインデントに対応していない。
でもそれ以外ではとても使いやすい。

Snippetは便利だし、コマンドを拡張するにも言語を選ばない。
シェル上で動かせる言語ならokという懐の深さ。

使い慣れたRubyとかでチョイチョイとカスタマイズできるのです。
emacsだと拡張するのにemacs-lispしか選べないので敷居が高い。

できればTextMateでClojureしたいのだけど、インデント問題を解決しないことには使い続ける気になれない。

実際emacsのclojure-modeを使ってインデントしてみるとなんか説得力ある。
「なにが2タブだ!clojure-mode こそがコーディングルール!」と言わんばかり。

つまり先日の Project Euler #001 はホントはこうだったわけだ。

(reduce +
        (distinct
         (concat
          (range 3 1000 3)
          (range 5 1000 5))))

インデントをちゃんとしないと献コードとかに参加させてもらえなかったり、京都あたりでは近所の人に笑われるかも知れないのでなんとかしてみる。

インデントのルールがよく判らないのでclojure-modeに整形してもらう方向で。
コマンドラインからemacsを通して整形できることを確認。

あとはrubyスクリプトにしてTextMateに登録してみた。

コードはgistにアップしておいたので興味のある方はご自由にどうそ。

(required: emacs and clojure-mode.el) clojure-mode のパスをインストールした場所に変更すれば動くと思う。

TextMateのバンドルエディタで適当なところに登録して好きなホットキーを割り当てれば準備オーケー。

Tidy up clojure code in TextMate

実行すると選択範囲した部分(選択していないときは全域)を整形してくれます。

Lisp/Clojure style intentation with TextMate

快適〜♪

blog comments powered by Disqus
Get Adobe Flash playerPlugin by wpburn.com wordpress themes

About this blog

私 manjilab のポータル的サイトになっております。日々気付いたこと、考えたこと、発表したいものを載せていきます。

Photostream

    Lisp indent 考察Lisp indent 考察Lisp indent 考察Lisp indent 考察Lisp indent 考察Tips to use Clojure(Lisp) with TextMateTips to use Clojure(Lisp) with TextMateTips to use Clojure(Lisp) with TextMate