問題タブ [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.
java - コンソール アプリでの Java キーボード入力の解析
コンソールモードで文字入力を解析するためにJLineをいじり始めたところです。それはうまくいくようですが、私は疑問に思っています:
文字が利用可能かどうかを調べるための JLine のノンブロッキングな方法はありますか? (つまりkbhit()
、Windows のように。)
キーボード入力を独自のスレッドにラップして、スレッドセーフなキューでキーボード文字をメインスレッドに提供することはいつでもできると思いますが、それは不要なようです。
EDIT : これは文字単位の解析です。GUI を使用するつもりはありません。コンソール モードでの Java の通常の InputStream I/O では、最初に Enter キーを押す必要があります (たとえば、バッファリングされた入力のみ)。コンソール モードでの文字単位の入力は、Java では不可能です。そうではありません。JLine は、プラットフォームに依存する実装を備えた移植可能なインターフェースを使用してそれを行います。
編集の更新: ヘルパー クラスをハックして、ワーカー スレッドでブロッキング I/O を実行することができました (文字ごとの I/O には JLine を使用します。警告: Ctrl-C を自分で解析する必要があります!)。 isempty() ルーチンを使用した同期キュー経由。私が今していることはそれで結構ですが、将来的にこれを行う良い方法を本当に知りたいです.
java - Java用のreadlineのようなライブラリ
どのJava用のreadlineのようなライブラリを使用していますか?ライブラリのような「readline」とは、履歴、タブ補完などをサポートする、コンソール入力を編集するためのライブラリを意味します。私は1つを探していますが、それほど多くの選択肢から選択することはできません(jLine-メンテナンスされていない、java-readline- 2003年の最後のリリース、その他?)
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 を機能させたいと思っています。
java - jline 複数引数の解析
次のようなものを入力できるように、JLine にタブ補完を実行させようとしています。
次のコードを使用しています。
しかし、value2 を入力すると、タブの完了が停止します。
(補足質問、jline を使用して value1 を日付として検証できますか?)
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 ファイルに含まれるメソッドを認識できない原因は何ですか?
clojure - 別のプロセスからClojure REPLプロセスと対話する方法はありますか?
フォームを開始する REPL セッションに送信する Vim プラグインを作成できるかどうか疑問に思っていlein repl
ます。既存の jline.ConsoleRunner プロセスにメッセージを送信する方法はありますか?
scala - ConsoleReader.readLine() をキャンセルする方法
まず第一に、私は scala を学んでおり、Java の世界は初めてです。コンソールを作成し、このコンソールを開始および停止できるサービスとして実行したいと考えています。ConsoleReader を Actor で実行できましたが、ConsoleReader を適切に停止する方法がわかりません。コードは次のとおりです。
このコードに関するアドバイスもお待ちしています。
java - JLineを使用してストライクスルー効果でコマンドラインにテキストを出力するにはどうすればよいですか?
コンソールアプリケーションにJLineを使用していますが、ストライクスルー効果のあるテキストを出力したいと思います。
これはJLineで可能ですか?どうすればよいですか?
プラットフォーム固有の懸念はありますか?
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"
java - jlineはプロンプトを下部に保持します
私は使用jline
しており、きちんとConsoleReader
していて、すべてがうまく機能しています。ただし、プロンプトに何かを入力していて、(別のスレッドからの) stdout に出力がある場合、出力は入力している単語/コマンドを分割します。
jline
端末の下部にプロンプトを表示するにはどうすればよいですか?
私は1 を使用していますが、十分に安定していれば 2jline
を使用してもかまいません。jline