Re: [Haskell-cafe] Announce: hothasktags

2010-04-07 Thread Evan Laforge
On Thu, Apr 1, 2010 at 1:46 PM, Luke Palmer lrpal...@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.

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

2010-04-07 Thread Evan Laforge
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

2010-04-07 Thread Luke Palmer
On Wed, Apr 7, 2010 at 1:23 AM, Evan Laforge qdun...@gmail.com wrote:
 On Thu, Apr 1, 2010 at 1:46 PM, Luke Palmer lrpal...@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
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Announce: hothasktags

2010-04-06 Thread Erlend Hamberg
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

2010-04-01 Thread Luke Palmer
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