インタラクティブなシェルを作成できるJava用のライブラリを探しています。私はいくつかの検索を行いましたが、あまり多くは見つかりませんでした。私が見つけたもののほとんどは、コマンド引数の解析をアプリケーションに追加するためのライブラリですが、これはあまり役に立ちません。
私が見つけた最高のリードは、私が必要としていることを正確に実行するClicheというライブラリです。問題は単純すぎることです。もっとカスタマイズできるものを探しています。
もう少し進んだものに出くわした人はいますか?
インタラクティブなシェルを作成できるJava用のライブラリを探しています。私はいくつかの検索を行いましたが、あまり多くは見つかりませんでした。私が見つけたもののほとんどは、コマンド引数の解析をアプリケーションに追加するためのライブラリですが、これはあまり役に立ちません。
私が見つけた最高のリードは、私が必要としていることを正確に実行するClicheというライブラリです。問題は単純すぎることです。もっとカスタマイズできるものを探しています。
もう少し進んだものに出くわした人はいますか?
考慮すべきオプション:
Spring shellを使用していますが、非常にうまく機能しました。その機能のいくつか:
カスタム コマンドを提供するための、シンプルなアノテーション駆動型プログラミング モデル
コマンド プラグイン戦略とコマンド開発の基礎としての Spring のクラスパス スキャン機能の使用
Roo Shell 機能の継承、特にタブ補完、色付け、スクリプト実行。
コマンド プロンプト、バナー、シェル履歴ファイル名のカスタマイズ。
- コマンド履歴 - 以前に入力された行は、呼び出して編集することができ
、プログラムのセッション全体で使用できるように保持できます。- ライン編集 - JLine では、現在のコマンド ラインを完全に編集でき、emacs と vi の両方のキー マッピングのサポートを含め、GNU Readline の動作を可能な限り模倣しようとします。
- 補完 - JLine は、コマンドラインのタブ補完を実装するためのプラグ可能なメカニズムを提供します (もちろん、補完は任意のキーにバインドできます)。
- カスタム キー バインディング - 特定のアクションを実行するためにキーを任意に再マッピングできます。JLine は、既存の readline .inputrc ファイルに設定されているマッピングを尊重しようとします。
- 文字のマスキング - 視覚的なフィードバックなしでユーザーから入力を収集できます。これは、パスワードを要求するのに役立ちます。
99.99% Java - JLine の大部分はすべて Java であり、 Windows をサポートするために Jansi プロジェクトによって提供されるネイティブ コードを少しだけ使用します。