1

シンプルなコンソール アプリケーションを JLine3 で動作させるための基本に苦労しています。

私は次のように初期化しました:

    terminal = TerminalBuilder.builder()
                .streams(System.in, System.out)
                .build();
    lineReader = LineReaderBuilder.builder().terminal(terminal).build();

そして、私は次のような行を読み込もうとします:

    String in = lineReader.readLine("/>").trim();

ユーザーがテキストを正しく入力するだけで、正しい入力が得られます。バックスペースは、入力を修正するために機能します。しかし、左矢印キーを使用してカーソルを戻すことはできません。カーソルが移動する代わりに^[0D、画面に表示されます。

他のさまざまなオプションを試しましたが、何も変わりませんでした。やがて履歴とオートコンプリートを活用したいと思っていますが、最初の赤ちゃんのステップで失敗しています。

私は明らかに基本的なものを見逃しています(しかし、ドキュメントは良くありません...)

MacOS 10.13.6 で JLine 3.13.3 を使用する

4

1 に答える 1

0

JVM が実行されている実際のコンソール用の端末を作成する場合は、次のようにします。

     terminal = TerminalBuilder
                .builder()
                .system(true)
                .build();

そのほうがうまくいくはず...

于 2020-03-27T09:28:52.330 に答える