
suggests using :etags in GHCI or hasktags, or gasbag. Of the three, hasktags comes closest to "working" but it has (for me) a major inconvenience, namely it finds both function definitions and type signatures, resulting in two TAGS entries such as:
./Main.hs,63 module Main where 6,7 main :: 24,25 main = 25,26
The hasktags I have has a --ignore-close-implementation flag, you might try that.
So I guess my question is, what are us disciples of "the one true editor" to do? Thanks in advance for you sage advice.
I'm also a user of the one true editor (namely vim ;) and I'd be interested in an answer to that too. Every once and a while I go look at the various tag programs to see if there's anything that works better than hasktags. The continuing proliferation of tags programs implies that others are also not satisfied with what's out there, but no one is devoted enough to the cause to devote the effort to make the One True Tags program. I like the idea of hothasktags since I used qualified imports and have lots of name clashes, but it's very slow on 300+ source files. It might be possible to use per-file tags and attach tag regeneration to the buffer-write, but that would require a bit of extra vim/emacs hackery. I tried gasbag and had some issue, I'll have to try that again to remind myself. I'll try out the latest couple of entries.