問題タブ [jline]

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.

0 投票する
2 に答える
11407 参照

java - コンソール アプリでの Java キーボード入力の解析

コンソールモードで文字入力を解析するためにJLineをいじり始めたところです。それはうまくいくようですが、私は疑問に思っています:

文字が利用可能かどうかを調べるための JLine のノンブロッキングな方法はありますか? (つまりkbhit()、Windows のように。)

キーボード入力を独自のスレッドにラップして、スレッドセーフなキューでキーボード文字をメインスレッドに提供することはいつでもできると思いますが、それは不要なようです。

EDIT : これは文字単位の解析です。GUI を使用するつもりはありません。コンソール モードでの Java の通常の InputStream I/O では、最初に Enter キーを押す必要があります (たとえば、バッファリングされた入力のみ)。コンソール モードでの文字単位の入力は、Java では不可能です。そうではありません。JLine は、プラットフォームに依存する実装を備えた移植可能なインターフェースを使用してそれを行います。

編集の更新: ヘルパー クラスをハックして、ワーカー スレッドでブロッキング I/O を実行することができました (文字ごとの I/O には JLine を使用します。警告: Ctrl-C を自分で解析する必要があります!)。 isempty() ルーチンを使用した同期キュー経由。私が今していることはそれで結構ですが、将来的にこれを行う良い方法を本当に知りたいです.

0 投票する
2 に答える
2997 参照

java - Java用のreadlineのようなライブラリ

どのJava用のreadlineのようなライブラリを使用していますか?ライブラリのような「readline」とは、履歴、タブ補完などをサポートする、コンソール入力を編集するためのライブラリを意味します。私は1つを探していますが、それほど多くの選択肢から選択することはできません(jLine-メンテナンスされていない、java-readline- 2003年の最後のリリース、その他?)

0 投票する
4 に答える
3136 参照

clojure - jlineを使用したclojure/lein REPL

何らかの理由で clojure REPL を jline で動作させることができません。私がしたことは、github から clojure リポジトリを git clone し、それをビルドするために ant を実行してから、jline-0.9.94.jar を clojure.jar のあるディレクトリにダウンロードすることでした。次に、次のコマンドを実行します。

次のエラーが表示されます。

現在のディレクトリにあるファイルは次のとおりです。

clojure 1.1 と lein repl で同じエラーが発生しました (lein は独自のバージョンの clojure を維持しているようです)。

ちなみに、これはmac ox 10.5.8です

誰が何が間違っていて、それを修正する方法を知っていますか? プロジェクトを開始するために lein repl を機能させたいと思っています。

0 投票する
3 に答える
2252 参照

java - jline 複数引数の解析

次のようなものを入力できるように、JLine にタブ補完を実行させようとしています。

次のコードを使用しています。

しかし、value2 を入力すると、タブの完了が停止します。

(補足質問、jline を使用して value1 を日付として検証できますか?)

0 投票する
3 に答える
1071 参照

java - 同じ jar ファイルに対して、私の javap 出力があなたのものと異なるのはなぜですか?

jline-0.9.94 に依存する Maven を持つコードのコンパイルに問題があります。具体的には、デフォルトの Ant ターゲットを使用してGroovy 1.7.6をコンパイルすると、次のエラーが発生します。

jline の依存関係は正しく解決されていますが、不思議なことに setDefaultPrompt メソッドが jar に存在していないようです。

(他のメソッドも javap 出力から欠落しているように見えますが、setDefaultPrompt は私のビルドを壊すものです。)

ローカルの Maven リポジトリから jline を消去して再試行しましたが、役に立ちませんでした。Maven Centralの jline jarfileと同じ結果のミラーもチェックしました。

奇妙なことに、jar ファイルを別のマシン (Sun) にコピーして、まったく同じ手順を実行すると、jar ファイルに setDefaultPrompt メソッドが期待どおりに表示されます。他の人は、Mac でも同じ手順を実行して成功しています。

私のマシンで、Java ツールチェーンが jar ファイルに含まれるメソッドを認識できない原因は何ですか?

0 投票する
3 に答える
854 参照

clojure - 別のプロセスからClojure REPLプロセスと対話する方法はありますか?

フォームを開始する REPL セッションに送信する Vim プラグインを作成できるかどうか疑問に思っていlein replます。既存の jline.ConsoleRunner プロセスにメッセージを送信する方法はありますか?

0 投票する
3 に答える
3281 参照

scala - ConsoleReader.readLine() をキャンセルする方法

まず第一に、私は scala を学んでおり、Java の世界は初めてです。コンソールを作成し、このコンソールを開始および停止できるサービスとして実行したいと考えています。ConsoleReader を Actor で実行できましたが、ConsoleReader を適切に停止する方法がわかりません。コードは次のとおりです。

このコードに関するアドバイスもお待ちしています。

0 投票する
1 に答える
551 参照

java - JLineを使用してストライクスルー効果でコマンドラインにテキストを出力するにはどうすればよいですか?

コンソールアプリケーションにJLineを使用していますが、ストライクスルー効果のあるテキストを出力したいと思います。

これはJLineで可能ですか?どうすればよいですか?

プラットフォーム固有の懸念はありますか?

0 投票する
2 に答える
1287 参照

clojure - バッファエディタを備えたClojure標準REPL?

IDE や統合 REPL を探しているわけではありません。「psql」または一部の *nix シェルからわかるように、REPL にバッファ エディタを含めることが可能かどうかを誰かが知っているかどうかを尋ねたかっただけです。

たとえば psql では、「\e」と入力するだけで、EDITOR に最後のコマンドが表示され、終了時にそれが実行されます。

これは、clojure repl にとっては素晴らしいことです。

それで、そのような機能はありますか?jlineのどこに実装する必要がありますか?

解決:

rlwrap がそのトリックを行います。

readline ftp://ftp.gnu.org/gnu/readline/をコンパイルしてからrlwrap http://utopia.knoware.nl/~hlub/rlwrap/#rlwrapをコンパイルする必要がありました。

その後、次のショートカットを使用してエディターを起動できました。

Ctrl + ^

rlwrap -m -- java -cp clojure-1.3.0.jar clojure.main

Mac OSX で leiningen を使用するには、以下を変更する必要がありました。

およびエクスポートRLWRAP_EDITOR

export RLWRAP_EDITOR="vim +%L"

0 投票する
1 に答える
2177 参照

java - jlineはプロンプトを下部に保持します

私は使用jlineしており、きちんとConsoleReaderしていて、すべてがうまく機能しています。ただし、プロンプトに何かを入力していて、(別のスレッドからの) stdout に出力がある場合、出力は入力している単語/コマンドを分割します。

jline端末の下部にプロンプ​​トを表示するにはどうすればよいですか?

私は1 を使用していますが、十分に安定していれば 2jlineを使用してもかまいません。jline