[Hackage] #207: Jumping to code every and anywhere: What about installing source files and a tag file along with haddock and lib files ?

Hackage trac at galois.com
Sun Jan 13 19:32:58 EST 2008


#207: Jumping to code every and anywhere: What about installing source files and
a tag file along with haddock and lib files ?
--------------------------+-------------------------------------------------
  Reporter:  guest        |        Owner:                     
      Type:  enhancement  |       Status:  new                
  Priority:  normal       |    Milestone:                     
 Component:  misc         |      Version:  HEAD               
  Severity:  normal       |     Keywords:  tags source tagfile
Difficulty:  normal       |   Ghcversion:  6.8.2              
  Platform:               |  
--------------------------+-------------------------------------------------
 == 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

-- 
Ticket URL: <http://hackage.haskell.org/trac/hackage/ticket/207>
Hackage <http://haskell.org/cabal/>
Hackage: Cabal and related projects


More information about the cabal-devel mailing list