2011-08-05 3 views
7

私はコンソールベースのJavaアプリケーションを作成しています。このアプリケーションでは、ユーザーが特定のコマンドを入力できるかどうかを確認するカスタムコマンドが表示されます。入力中にアプリケーションの自動補完機能を実装したいコマンドは、ユーザーがTabキーを押すと、コマンドが完了する必要があります。この機能は、Linuxコマンドプロンプトのauto completeと似ています。コンソールベースのタブベースオートコンプリート

Javaコンソールアプリケーションでは、TABを制御できず、TABを押すとデフォルトで8スペースが追加されます。私はTABがレンダリングのために行っていない、私のアプリは、TABをオートコンプリートで置き換えることができるいくつかのトリックが必要です。

ありがとうございます。

+0

RHQプロジェクトとそのCLIを確認してください。それはオートコンプリートのかなりのインプリメンテーションを持っています。 http://git.fedorahosted.org/git/?p=rhq/rhq.git;a=tree;f=modules/enterprise/remoting/cli;h=ba5c185774538696525b6c05c3777964f5dd606c;hb=HEAD –

+0

ちょっとGJ、私は非常に基本的な質問。どのようにコンソールストリングを操作しますか? String Bufferを使用していますか?設計上の決定を共有できますか? –

答えて

7

Java-Readlineまたはjline2のようなライブラリを使用できます。

+0

アクティブ開発中の唯一のものは[jline3](https://github.com/jline/jline3)です。 –

0

picocli Javaコマンドライン解析ライブラリは最近、自動補完機能を追加しました。

使い方ヘルプメッセージでANSIの色とスタイルを使用する方法が好きかもしれません。

enter image description here

免責事項:私は著者、したがって、バイアスされています。

関連する問題