JavaでREPLを実現するライブラリーであるJLineのメモ。
|
JLineはJavaでREPL(対話型コンソールツール)を実現できるライブラリー。
カーソルの上下で以前入力した文字列(履歴)を選択できたり、閉じ括弧を入力したときに開き括弧の位置にカーソルを一時的に移動したり、タブで補完する機能を持っていたりする。
JLineのメジャーバージョンによって、API(利用するクラス)が異なる。
主にJLine2ではConsoleReader、JLine3ではLineReaderを使用する。
Java9で導入されたJShellでもJLineが使われている。
(Java9〜11はJLine2、Java12以降はJLine3らしい。JDKのソースのjdk.shell/jdk/internal/jshell/tool/ConsoleIOContext.java参照)
(パッケージ名はjdk.internal.org.jlineだけど)