Hi Matthijs,

I've installed the vimball, and it spit a few errors at me. In particular, it
couldn't find the haddock documentation directory. A quick look at
haskell_doc.vim shows that it should autodetect the directory. However, for
some reason my ghc-pkg command returns the doc directory twice:

 $ ghc-pkg field base haddock-html
 haddock-html: /usr/local/ghc-6.10.1/share/doc/ghc/libraries/base
 haddock-html: /usr/local/ghc-6.10.1/share/doc/ghc/libraries/base

Interesting. The reason for the double listing is that recent GHCs come
with two base packages (since the packages differ in content, having
both point to the same documentation location looks wrong to me, btw).

The haskell_doc.vim contains the following line, which seems to deal with
multiple lines:

 let field = substitute(system(g:ghc_pkg . ' field base 
haddock-html'),'\n','','')

This just used to remove the final '\n', in the days when multiple versions of base were still unthinkable. What I'm really after in that part of the script
is the location of the GHC docs, and the library index (the actual package
docs are processed later). Unfortunately, past GHC versions haven't been too helpful (#1226, #1878, #1572), hence all that guesswork in my scripts (for a while, there was a ghc --print-docdir, but that didn't quite work and disappeared quickly, nowadays, there is the nice ghc-paths package, but that doesn't give a concrete path for docdir, so I still need to find the http top dir for GHC).

I hadn't noticed this change, because (a) the scripts look in "likely suspects" for the docs location as well, and (b) the docs location can be configured (bypassing all that guesswork) by setting 'g:haddock_docdir' before loading the scripts (:help g:haddock_docdir, :help haskellmode-settings-fine).

Using g:haddock_docdir to configure the right path for your installation is probably the least wrong thing to do for now, and requires no changes to the scripts, but I'll have a look at how to improve the guesswork code for convenience, looking at the first match only or looking for the relevant directories in all matches..

Thanks for the report!
Claus

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to