rlwrap による readline 支援 for Gauche
シンプルが信条の Scheme にあって,正規表現を標準装備,ライブラリも結構充実と,何故か Common Lisp より快適な処理系 gauche だが,まだ行編集やコマンドヒストリ機能が無い.Emacs から使う時はあまり困らないのだが,やはり単独で動かすときは行編集機能くらいは欲しい…というわけで,上述の cmucl の場合と同様に readline wrapper プログラム rlwrap を使ってみる.やっぱインタラクティブに使う時はこれくらいは欲しい.以下,gauche 用の補完リストの作り方.
$ gosh -E"use gauche.interactive" -E"apropos #/.*/" -Eexit |tr "(" "\n" |tr -d " (" |sort |uniq >gosh_symbols1
$ cat >script.awk
BEGIN {show=0}
/^C.[1-4]/ {show=1}
/^Table of Contents/ {show=0}
{ if (show==1) print $0}
$ awk -f script.awk refj |grep -e "^ [^ (]" |grep -v "^ Index Entry" |awk '{print $1}'
|tr -d " " |sort |uniq >gosh_symbols2
$ cat gosh_symbols1 gosh_symbols2 |sort |uniq >~/.gosh_completions
とりあえず,↑の手順で作成した .gosh_completions を置いときます.
とおもったけど,gosh_symbols1 をそのまま .gosh_completions にするだけで十分な気がしてきた.とりあえず行編集とヒストリ機能が装備されて快適.
