この記事はクソアプリ2 Advent Calendar 2019の16日目が空いていたので昔作ったクソアプリの紹介をするものです。
その昔こんな話題がありました。
なぜたった15人しかいない徳川将軍は覚えられないのですか? - Togetter
プログラマ視点では、「シェルで補完できないから」というのが一つの意見としてあります(暴論)。
bashの補完スクリプトの作成
ということで徳川幕府の将軍を補完できるスクリプトを書きました。2013年のことです。
当時の問題点
シェルの補完という行為は、基本的にあるコマンドに対して行うものです。しかしこの時点では存在しないコマンド"shogun"に対する補完として実装していました。
また、対応したのは徳川幕府だけで、鎌倉幕府には対応していませんでした。
鎌倉幕府対応版
2年後の2015年、鎌倉幕府への対応を行いました。
shogunコマンドの実装
さらに、shogunコマンドの実体をgoで実装しました。
これで存在しないコマンドに対する補完ではなくなり、無事問題点を解決できました。
ライセンスの設定
ライセンスを明記していなかったので、GNU All Permissinve Licenseを設定しました。リンク先にもありますが、これはGNUが小さなプログラムやファイルに対して推奨しているライセンスであり、GPLとの互換性もあります。
残る問題点
室町幕府に対応していません。
PRがあれば対応したいと思います。
追記: レギュレーション違反とその解消
既存のサービスやアプリを持ち出す場合は、クソアプリアドベントカレンダー2019のためのバージョンアップなど新規の開発部分があることを条件とします。既存作品の紹介だけという形の記事はご遠慮ください。
なにっ、新機能がまるでない
すいません、ちゃんとレギュレーションを読んでいませんでした。
ただ、この記事公開後に @mattn さんからリファクタリングと未定義将軍の対応、テストなどを実装したPRをもらいマージしたのでセーフとさせてください。