問題タブ [editline]

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 投票する
1 に答える
403 参照

python - OS X 上の Python/editline: £ 記号が ed-prev-word にバインドされているようです

Mac OS XI では、ポンド記号 (£) を Python 対話型シェルに入力できません。

Python インタラクティブ シェルで shift-3 を入力すると、前の単語機能が呼び出されるように見えます。つまり、カーソルは、その行に入力された最後の「単語」(つまり、スペースで区切られた項目) の先頭に移動します。bash シェルに戻ったときに、shift-3 を入力すると、予想どおり £ が生成されます。

このバージョンの Python は、readline ではなく、対話型シェルに editline を使用しているようです。デフォルトの editline キー バインディングの 1 つが、shift-3 (または、shift-3 を入力したときに表示される editline) を ed-prev-word コマンドにバインドしていると思います。

~/.editrc ファイルでこのバインドを削除するためにいくつかのことを試しましたが、効果はありません。

  • bind -r £
  • bind -r \243
  • bind -r \156

バスエラーを引き起こす別のもの:

  • bind £ \243

何か案は?

0 投票する
6 に答える
8080 参照

readline - GNUReadlineの使用; 同じプログラムにncursesを追加するにはどうすればよいですか?

タイトルは私の実際の目標よりも少し具体的です:

私はGNUReadlineを使用するコマンドラインプログラムを持っています。これは主にコマンド履歴(つまり、上矢印を使用して以前のコマンドを取得するため)やその他の便利な機能です。現在、プログラムの出力はユーザーの入力に散在しているように見えますが、これは問題ない場合もありますが、出力は非同期であり(入力コマンドに応答してネットワーク接続を介して送信されます)、煩わしい場合があります(たとえば、ユーザーが行を出力する場合)新しい入力を入力しています)。

このプログラムに機能を追加したいと思います。出力用の個別の「ウィンドウ」です。このためにncursesを使用することを考えました。しかし、ncurses FAQから、2つのライブラリを一緒に使用するのは簡単ではないようです。

Readlineの代わりにEditlineまたはteclaを使用することを検討するかもしれませんが、どちらかが私の問題を解決するかどうかはわかりません。両方の種類の機能(テキストモードウィンドウとコマンド履歴)を提供するライブラリなど、ncurses以外のものを使用することも検討しますが、何が最適かわかりません。

ああ、そして色付きのテキストのサポートはボーナスポイントを獲得するかもしれません。Readlineでそれができるのではないかと思うので、別の問題かもしれませんが、私の問題を解決することで、出力に少し色を追加するのも簡単になるのであれば、はるかに優れています。

Ubuntu Hardy(Linux 2.6)を使用しています。

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

c++ - ノンブロッキング入力の Editline

シェルでユーザーコマンドを入力するために、プログラムで editline ライブラリを使用しています。しかし、シェルに加えて、プログラムにはGUIインターフェイスがあるため、Enterキーが押されるまでブロックされるため、別のスレッドでeditlineのreadline()関数を実行する必要があります。ブロックせずに readline() 関数を使用する方法があるので、別のスレッドの使用を避けることができますか?

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

c++ - editline アプリケーションのプロンプトを色付けする方法

libeditを搭載したアプリケーションのプロンプトを色付けしようとしていますが、色が表示されません。ここで私が間違っていることはありますか?

でコンパイル

残念ながら、次の無色のプロンプトのみが表示されます。

0 投票する
8 に答える
9837 参照

c - editline/history.h と editline/readline.h が見つからない/macOS で動作する、既にインストールされている開発者ツールでコンパイルしようとすると

私は、独自の LISP ( http://www.buildyourownlisp.com/chapter4_interactive_prompt ) の構築に関するこのチュートリアルに取り組んでおり、何らかの理由でコンパイルしようとすると、次のようになります。

macOS 開発者ツールをインストールしましたが、brew は readline がインストールされていることを示しており、brew install editline を試行しても何をすべきかわかりません。

これは私のコードです:

それは明らかに非常に基本的なことですが、私は本当にこのプロジェクトを進めたいと思っているので、これを理解できることを願っています. これは私がコンパイルするために使用しているものです:

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

c - GTK は readline のようなライブラリで動作しますか?

グラフィカル GTK プログラムが、 GNU readlineeditline、またはlinenoiseによって提供されるような「コマンドライン インターフェイス」を持つことは可能ですか?

gtk_main() 呼び出しのブロック、およびこれらのライブラリからのループ ステップのブロックに対処するにはどうすればよいですか?

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

c - 編集行エラー

私は C 言語に不慣れで、C コードをコマンドでコンパイルするたびにこのエラーが発生し続けますcc prompt.c。次のエラーが表示されます。

アーキテクチャ x86_64 の未定義のシンボル:

「_add_history」、以下から参照:

「_readline」、以下から参照:

ld: アーキテクチャ x86_64 のシンボルが見つかりません

clang: エラー: リンカー コマンドが終了コード 1 で失敗しました (呼び出しを確認するには -v を使用してください)

これが私のコードです:

OSX 10.10.3 を実行している Macbook Air でこのプログラムを書いています。

私は C 言語を学び始めたばかりなので、この質問が本当に単純かどうか判断しないでください。検索しても結果がありませんでした。

どんな助けでも大歓迎です。ありがとう!

0 投票する
0 に答える
168 参照

c - 削除可能な文字を端末に表示する (libedit/editline または readline を使用)

現在、「readline」機能に libedit を使用していますが、これまでのところ非常にうまく機能していますが、ユーザーが削除できるプロンプトの後に文字 (スペース) を表示したいと考えています。IPython に似ています:

パイソン

ご覧のとおり、4 つの追加文字 (スペース) が自動的に追加されていますが、プロンプトが表示されるまでバックスペースを押して削除できます...:

libedit/editline でこの動作を模倣したいと思います。これを行う方法がない場合 (たとえば、curses や libedit が使用する下層の端末機能を使用する場合)、readline に切り替えます。

libedit/editlineまたはreadlineを使用することをお勧めします。

編集: を変更しようとしrl_line_bufferましたが、これは表示を変更せず、 から取得した値のみを変更しましたreadline