haskell補完3(静的な補完がしたい)
静的な補完もしたい。(リファレンスなどを調べるのに、静的な補完の方が便利)。
実行後は以下のようなファイルが生成される。(ArrayにはAraryモジュールの情報が格納されている)
. |-- modules | |-- Array | |-- Bits | |-- CError | |-- CForeign | |-- CPUTime | |-- CString ... ... `-- modules.dat 1 directory, 263 files
code
2分くらいかかった。
rubyが必要
alias skipcat="ruby -e 'puts STDIN.readlines[(ARGV[0]||0).to_i .. -(ARGV[1]||1).to_i]'" src=`ghc-pkg list | grep "^ \+" | sed "s/^ \+//g; s/ /\n/g; s/-[0-9]\+[\,0-9\.]\+//g" | grep -v '^('` for i in `echo $src`; do ghc-pkg field $i exposed-modules | tr -s " " "\n" | skipcat 1 >> modules.dat; done mkdir modules && cd modules for i in `cat ../modules.dat`; do echo ":m + $i\n :browse" | ghci | skipcat 2 2 | sed "s/Prelude[^-=(]*> *//g" > $i; done