Re: [Haskell-cafe] Announce: hothasktags
On Wed, Apr 7, 2010 at 1:23 AM, Evan Laforge wrote: > On Thu, Apr 1, 2010 at 1:46 PM, Luke Palmer wrote: >> Hi, >> >> I'd like to draw attention to a little script I wrote. I tend to use >> qualified imports and short names like "new" and "filter". This makes >> hasktags pretty much useless, since it basically just guesses which >> one to go to. hothasktags is a reimplementation of hasktags that uses >> haskell-src-exts to analyze the import structure to generate (scoped) >> tags pointing to the right definition. I'm pretty addicted to it, >> since it provides the only functionality I miss from visual studio >> :-). >> >> VIm only for now, since I don't know if emacs tags format supports >> scoped tags. I am aware that it is not perfect -- patches and bug >> reports welcome. > > Hi, thanks for this, I've been wanting something like this for a long > time! I have a suggestion and a question though: > > If you prepend the tags file with "!_TAG_FILE_SORTED\t1\t ~\n" then I > think vim should be able to do a binary search on the file. Thanks! > This program generates a tag for each reference to a symbol: Almost. It generates a tag for each file/symbol pair such that the symbol is accessible from the file. > > Derive.PitchDeriver Derive/Derive.hs 98;" file:Cmd/Cmd.hs > Derive.PitchDeriver Derive/Derive.hs 98;" file:Cmd/Play.hs > Derive.PitchDeriver Derive/Derive.hs 98;" > file:Cmd/ResponderSync.hs > ... [ 20 more ] ... > > The vim tag documentation says these are "static" tags, and implies > they are meant to apply to symbols only valid within the same file, > but this is clearly not the case. Actually, the vim doc implies that > only "file:" is defined, and doesn't talk about "scoped tags" so I'm > not sure what is going on. Anyway, whenever I go to a tag I have to > first step through a message that says "1 of 25" or so. There's one > for each reference in the tags file, even though those are references > in other files. Hmm odd, I don't get that behavior. Is that with the sorted annotation? What version of vim? > What's going on? I even checked the current docs at vim.org and they > don't mention a file:xyz form either. I think I saw it documented *somewhere*, but now that I look again I can't find it anywhere. Maybe it was in a dream. I hope a newer version of vim didn't remove the support or something... Luke ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Announce: hothasktags
Ohh, and the other issue I had was that setting iskeyword causes 'w' to skip over '.'s. This causes trouble for me because I'm used to using 'w' to skip between components of the symbol and 'W' to skip it entirely. Is there a workaround you use, maybe a better way to navigate? ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Announce: hothasktags
On Thu, Apr 1, 2010 at 1:46 PM, Luke Palmer wrote: > Hi, > > I'd like to draw attention to a little script I wrote. I tend to use > qualified imports and short names like "new" and "filter". This makes > hasktags pretty much useless, since it basically just guesses which > one to go to. hothasktags is a reimplementation of hasktags that uses > haskell-src-exts to analyze the import structure to generate (scoped) > tags pointing to the right definition. I'm pretty addicted to it, > since it provides the only functionality I miss from visual studio > :-). > > VIm only for now, since I don't know if emacs tags format supports > scoped tags. I am aware that it is not perfect -- patches and bug > reports welcome. Hi, thanks for this, I've been wanting something like this for a long time! I have a suggestion and a question though: If you prepend the tags file with "!_TAG_FILE_SORTED\t1\t ~\n" then I think vim should be able to do a binary search on the file. This program generates a tag for each reference to a symbol: Derive.PitchDeriver Derive/Derive.hs98;"file:Cmd/Cmd.hs Derive.PitchDeriver Derive/Derive.hs98;"file:Cmd/Play.hs Derive.PitchDeriver Derive/Derive.hs98;" file:Cmd/ResponderSync.hs ... [ 20 more ] ... The vim tag documentation says these are "static" tags, and implies they are meant to apply to symbols only valid within the same file, but this is clearly not the case. Actually, the vim doc implies that only "file:" is defined, and doesn't talk about "scoped tags" so I'm not sure what is going on. Anyway, whenever I go to a tag I have to first step through a message that says "1 of 25" or so. There's one for each reference in the tags file, even though those are references in other files. What's going on? I even checked the current docs at vim.org and they don't mention a file:xyz form either. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Announce: hothasktags
On Thursday 1. April 2010 22.46.47 Luke Palmer wrote: > I'd like to draw attention to a little script I wrote. I tend to use > qualified imports and short names like "new" and "filter". This makes > hasktags pretty much useless, since it basically just guesses which > one to go to. hothasktags is a reimplementation of hasktags that uses > haskell-src-exts to analyze the import structure to generate (scoped) > tags pointing to the right definition. I'm pretty addicted to it, > since it provides the only functionality I miss from visual studio Thanks for this. Seems to be working very nicely. :-) -- Erlend Hamberg “Everything will be ok in the end. If its not ok, its not the end.” GPG/PGP: 0xAD3BCF19 45C3 E2E7 86CA ADB7 8DAD 51E7 3A1A F085 AD3B CF19 ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Announce: hothasktags
Hi, I'd like to draw attention to a little script I wrote. I tend to use qualified imports and short names like "new" and "filter". This makes hasktags pretty much useless, since it basically just guesses which one to go to. hothasktags is a reimplementation of hasktags that uses haskell-src-exts to analyze the import structure to generate (scoped) tags pointing to the right definition. I'm pretty addicted to it, since it provides the only functionality I miss from visual studio :-). VIm only for now, since I don't know if emacs tags format supports scoped tags. I am aware that it is not perfect -- patches and bug reports welcome. http://hackage.haskell.org/package/hothasktags Luke ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe