2009-12-10 29 views
9

私が取り組んでいるプロジェクトでは、ユーザーコマンドを受け入れて、上矢印付きの履歴を提供しようとしています。私は、このプロジェクトを依存関係から解放することを目指しています。私は、プロジェクトをコンパイルするためにreadline開発ファイルをインストールする必要はありません。単純な機能だけを提供するGNU Readlineの代わりとなる単純なドロップインを知っている人はいますか?Readlineに代わる簡単な方法はありますか?

答えて

7

ほとんどのシステムにはreadlineがインストールされているので、あまり問題にはならないと私は見ていません。

第2に、私はGNU Readlineライブラリの代わりにドロップインがないと思います。あなたはそれにこだわる必要があります。 :(

編集2016年5月11日:この答えは時代遅れである、と私は作ると思い任意の編集は、他の、より正解からほぼ完全に借りられる要約:。。現代のreadlineの代替のためのlinenoiseeditlineを参照してください

+0

ええ、私は周りを回っているように見えません。私は、Editlineやlibteclaのような選択肢を確認しましたが、「単純な」要件を満たしていません。私はちょうどそれを一括しなければならないつもりです。 –

+0

私はむしろそのことを言っていません。 [clisp](http://clisp.cvs.sourceforge.net/viewvc/clisp/clisp/doc/Why-CLISP-is-under-GPL)は、readlineのためにGPLに変換する最初のものです。 [ここ](http://lwn.net/Articles/428111/)は、readlineとGPLに関する記事です。 –

+0

私はこの回答を更新したいと思います - WindowsまたはMac OS Xにはreadlineがインストールされていません - それはユーザーの大部分です! –

22

EditlineそれはBSDスタイルのライセンスを持っている

EDIT:。。。editlineの古いバージョンでは、非常に簡単でした。ここjust two C files and a headerと1、コードの約1500行の合計です我々はそれを使用してきました。年。

1

editline(libedit)はまだマルチバイト文字をサポートしていません。

私はDan Loewenherzに同意します。readlineライブラリは広く普及しています。たとえば、ほとんどのLinuxディストリビューションはreadlineでbashを実行します。ほとんどのPythonディストリビューションにはreadlineも付属しています。あなたのプロジェクトにreadlineのようなライブラリが必要な場合は、GNU readlineライブラリを使用することをお勧めします。これは一般的な選択であり、ユーザはすでにOSにインストールされている可能性があるからです。

+2

2010-04-24現在editlineは './configure --enable-widec'を使ってutf-8をサポートして構築することができます。 –

+1

2016-06-18現在editlineは常にUnicode(ワイド文字/ UTF-8)サポートで構築され、 '--enable-widec'フラグは非推奨です。 – AndreyT

13

私は1つを見つけました。 Redis名声のantirezはlinenoise、はるかに簡単な代替案が出てきました。

+1

あなたのプログラムが自分の言語でタイプしようとしているテキストにバーフをつけているときに、英語以外のユーザーがそれを好きになると確信しています.... –

2

BusyBoxには、readlineに似たコマンドライン編集コードが含まれていますが、はるかに小さくて簡単です。はUTF-8をフルサポートしています。おそらくそれを独立したライブラリにするのは簡単でしょう。

+1

それでもGPLです。 – Demi

2

editlineライブラリはさらに別の方法です。 READMEから:

editlineライブラリは、彼らが「Cニュースのような」著作権の下でコードを配布することを選んだ時点で1992年 にSimmuleターナーとバックリッチ・サルズによって作成された、 はファイルLICENSEを参照してください詳細については。

[...]

editlineライブラリのこのバージョンは、フォークオフMinix3源です。他の の既知のバージョンです。オリジナルのcomp.sourcesに基づいていることがよくあります。Unixの投稿は以下のとおりです。

ほとんどのinterstingパッチやバグ各フォークからの修正がここでマージされました。

関連する問題