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