いわゆる卍研究所。
In: Clojure
13 11月 2009TextMateでの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のバンドルエディタで適当なところに登録して好きなホットキーを割り当てれば準備オーケー。
実行すると選択範囲した部分(選択していないときは全域)を整形してくれます。
快適〜♪
私 manjilab のポータル的サイトになっております。日々気付いたこと、考えたこと、発表したいものを載せていきます。