[Haskell-cafe] jumping to code every and anywhere : what about
installing tagfile and source ?
Marc Weber
marco-oweber at gmx.de
Sun Jan 13 19:57:00 EST 2008
I feel this is the right place to think about this?
(I'll crosspost a small announcement on ghc as well pointing to this thread)
Copied from http://hackage.haskell.org/trac/hackage/ticket/207#preview:
== Introduction ==
I personally depend on tags because the source code only tells what is
really going on.
So it would be incredible useful to not only get information using ghci
after loading libs but also beeing able to jump to all functions you might
be using anywhere (The only solution providing this in all cases is uning
tags, right? Because cpp defines can introduce new functions.. To be able
to jump to the code source must be installed along with libs (the way you
can optionally install haddock docs)
== Use case: ==
setup configure --with-tags --install-source (or something like that)
setup build && setup install
do this for each dependency given in the .cabal file
(VIM:) let tags+=system('ghc-pkg --query-tagfile-location
haskell98-1.0.0.0')
== Issues: ==
* Which tool to generate tag files?
* ghc(i) when targeting ghc
* the hasktags program shipping with ghc
* some others?
* Tagfile path type relative or absolute?
* absolute: After moving/ installing the sources the tagfile must be
patched
* relative: Do editors take the right base directory to find source
files?
* When to invoke the tagfile generating program?
* Perfect case would be after all preprocessing has been done
(Thus the tagging program should understand line number changing
comments!)
* Template Haskell? ( This is really tricky I think )
* Hmm sorted tagfiles would be useful as well :)
== alternatives ? ==
If you do not think this is useful (mandatory?)
how do you lookup code? (Yes I know hoogle :)
perhaps using Eclipse or Visual Studio?
I'd like to start implementing this somehow the next weeks.
So don't hesitate and start discussing
Marc Weber
More information about the Haskell-Cafe
mailing list