chikuchikugonzalezの雑記帳

趣味とか日記とかメモとか(∩゚д゚)

環境変数を切り替えてシェルを起動するツール作った (3回目)

表題の通り、過去C#で作った cosplay をGo言語で再実装 + 機能追加しました ( ´ー`)フゥー...
その名も dresser (とdressup)

公開場所

BitBucketに置いてあります

chiku2gonzalez / dresser — Bitbucket
ライセンスは MIT にしてあります.

何ができるんだこれ

環境変数を変えたいときにぱっと変えることができます。
単にシェルと起動してるだけなので、exitすれば戻ります。

普段はRubyだけだけど、C拡張を作るときはGCCが必要なんだ、ってときに一時的にMinGWのパスを追加とかできます。
むしろそのために作った感ある。*1

インストール方法

Go言語なので go get コマンドで入ります。たぶん。入るんじゃないかな。*2

C:> go get bitbucket.org/chiku2gonzalez/dresser/cmd/dresser
C:> go get bitbucket.org/chiku2gonzalez/dresser/cmd/dressup
使い方

READMEにも書いてあるけど、最初は

C:> dresser setup
C:> dresser design -editor=gvim hello
C:> dresser dressup hello
   or 
C:> dressup hello

という流れになります。

設定ファイルのサンプルはリポジトリの examples と skeltons に置いてあるので見ていただければと。ただのYAMLです。

使ったもの


gonuts/commander · GitHub

gonuts/flag · GitHub

Sirupsen/logrus · GitHub

mattn/go-colorable · GitHub

go-yaml/yaml · GitHub

コレのために作ったものがある自作リポジトリ


chiku2gonzalez / gomibako — Bitbucket

特にコレは頑張ったと思うんだ。Windowsのsetコマンド形式で環境変数を展開する奴。
chiku2gonzalez / gomibako / source / os / mswin — Bitbucket

あ、でも遅延環境変数展開方式は対応してないな…

必要要件

*1:普段のGCCはTDM-GCCだけど、Ruby C拡張の時はRubyInstallerのDevKitじゃないとだめそうなのでとか

*2:drone.ioでクロスコンパイルとかしてみたかったんだけど、なんかうまくいかなかったんだよなー