acmeでGoプログラミング
@repeatedlyさんがGoってacmeで書くんじゃないかとつぶやいていたなぁ。ということで、Plan9portのacmeでGoプログラミングしてみようという話。Goのコーディング規約がどうなっているのか読んだことないけど、ハードタブっぽいし、acmeで困ることは特にないよな。
下のスクリーンショットを見ると、ウィンドウの上から三行メニュバーのようなものがあるけど、これはタグと言って上からacme全体、カラム、パネル(バッファ)に対する操作メニュになる。New、Cut、Paste、Lookなどなどは組込みコマンドになる。コマンドは中央クリックで実行できる。タグは自由に書き換え可能で、例えば、下のスクリーンショットのようにmakeとか書いておけば、クリック一発でコンパイルされるので便利。
makeじゃなくて、Plan 9 mkじゃなきゃ嫌だという人もOK。mkfileはこんな感じかな。Makefileが読めればわかるだろう。環境変数を括弧で囲む必要はない。
<$GOROOT/src/Make.$GOARCH TARG=\ hello OFILES=\ hello.$O $TARG: $OFILES $LD -o $TARG $prereq %.$O: %.go $GC $stem.go clean: rm -f $TARG *.$O
コンパイル時にエラーがあると、右下の+Errorとか書かれたパネルに表示される。例えば、"hello.go:4: imported and not used: os"とか表示された場合に、hello.go:4を右クリックすれば、エラー行にジャンプできる。
また、ソースを選択状態にして、タグに|gofmtと書いて実行すればソースが整形される。
まぁ、Plan9portを使うのが一番よいけど、一応代替案としてWilyも紹介しておこう。でも、UTF-8はフォントの設定のせいで豆腐になっちゃうな。Wilyはacmeのクローンというか、インスパイアされたエディタでUNIX/X11上で動く。Eric RaymondのTAUPでも紹介されていたっけ。もちろんMac OS Xでも動く。
$ ./configure --x-libraries=/usr/x11/lib
$ make