[Haskell-cafe] Announce: hothasktags

Luke Palmer lrpalmer at gmail.com
Wed Apr 7 19:09:30 EDT 2010


On Wed, Apr 7, 2010 at 1:23 AM, Evan Laforge <qdunkan at gmail.com> wrote:
> On Thu, Apr 1, 2010 at 1:46 PM, Luke Palmer <lrpalmer at gmail.com> 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


More information about the Haskell-Cafe mailing list