sbtで重複を許可しないparserを作る

"重複を許可しない" という言葉だけだと、何言ってるかわからないと思いますが、少しタイトル長くした程度ではいずれにせよ理解してもらえなそうだったので、こういうタイトルになりました。


これに気がついた流れを追って説明すると(別に流れを追う必要ないんですが)


さて、説明が前後しますが、"重複許可しない"とは何かというと、sbtのtestOnlyは、もしTestA, TestB, TestC と3つのテストのクラスがあった際に、以下ようにTestAとスペース入力後にタブキーを押すと

> testOnly TestA
TestB    TestC

補間される候補から、TestAは除かれていますね?(つまりTestBとTestCのみが候補にでる)
TestAを2回入力しても無視すればいいだけなので、候補にでること自体は致命的ではないですが、逆に言うと2回入力する意味はないので、補間候補から消えてくれたほうが嬉しいですね?

というわけで、上記の5、6行のコード書けば、sbtのparserはそういうことができるようになってます。便利だ・・・

*1: "--"で区切るなど