問題タブ [jline3]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
jline - jline3 を使用してすべてのコマンドを表示する方法
期待どおりに動作するTreeCompleter
(Scala コード) があります。
ただし、ユーザーが最初にキーを押したのがタブの場合は、最上位のノード値をすべて表示して、使用可能なコマンドを表示する必要があります。これはどのように行うことができますか?
上記のコードを含む github プロジェクトはこちら: https://github.com/mslinn/jline-example/blob/master/src/main/scala/CliLoop.scala
答えがJavaであろうとScalaであろうと、私は気にしません、ありがとう!
java - Groovy: JLine は入力 Gradle を待機しません
OS: Windows 10、主に Cygwin を使用。
DummyMain.groovy ファイルを次のようにまとめました。
}
groovy DummyMain
独自のディレクトリに移動してこれを実行すると、これは期待どおりに機能し、喜びでいっぱいになります。reader.read()
行は次の文字のために一時停止し、それを処理します (つまり、ユーザーが Enter キーを押して行を終了する前に)。
しかし、コメントアウトして@Grab
この行を入れるとbuild.gradle
:
build.gradle
そして、失敗する可能性のある最も単純な方法を使用してこのファイルを実行しようとします。while
ループは、ユーザーの入力を待たずに無限にスピンします。つまり、「read |-1|...」を無限に出力します。
この待機の失敗は、Cygwin コンソールまたは Windows CMD コンソールを使用して移動すると発生しますgradle run
。
他の印刷行から、ここでのリーダーはNonBlockingInputStreamReader
3 つのケースすべて (つまり、Cygwin 経由の Gradle、Windoze CMD またはgroovy
コマンド ライン コマンド経由の Gradle) でクラスであることがわかります。
ただしgradle installDist
、 を実行すると、結果として得られる「配布された」バージョンのアプリが正常に動作することがわかりそれを神に感謝します!しかし、テストと開発の目的で、Gradle で実行しようとする問題の解決策が見つかればうれしいです。この結果、一部のテストが失敗してはならないときに失敗する可能性があります。
tkruse に返信
これがbuild.gradleです。DummyMain.groovy は src\main\groovy\core の下にあります。
(これまでのところ) 唯一の回答者は、JLine の作成者です。Gradle が JLine を使用する可能性は非常に低いと思います。