ANNOUNCE: lushtags, haskell ctags for Vim Tagbar plugin

I would like to announce the first release of my program lushtags. Available on hackage: cabal install lushtags At github: https://github.com/bitc/lushtags Screenshot: https://github.com/bitc/lushtags/raw/master/doc/screenshot-tagbar-2011-09-19... What is lushtags? From the README: lushtags ======== Create ctags compatible tags files for Haskell programs Similar programs are [hasktags][1], [gasbag][2], [hothasktags][3], and GHC's builtin ctags generation. lushtags differs from these by being designed to have smooth integration with the [Vim Tagbar][4] plugin. Tagbar is nice because it deals with creating tags automatically. There is no need to manually run commands or keep track of tag files. Just open any Haskell file in Vim and the Tagbar window will instantly show an interactive browsable list of all the functions and declarations in the file. This window also updates automatically as you edit the file. The tags created by lushtags are marked with several extensions, so that when used with Tagbar you get these features: - Type signatures are displayed for functions. - Tags are properly scoped so that, for example, data declarations appear as a tree with their constructors scoped as children. - Definitions that are exported from the module are marked as "public" and appear emphasized in Tagbar. - Tag locations are internally stored as patterns, not line numbers, so that you can correctly jump to tags even if they have moved in the source code during editing.  [1]: http://hackage.haskell.org/package/hasktags [2]: http://kingfisher.nfshost.com/sw/gasbag/ [3]: http://hackage.haskell.org/package/hothasktags [4]: http://majutsushi.github.com/tagbar/

2011/9/20 Bit Connor
I would like to announce the first release of my program lushtags.
Available on hackage: cabal install lushtags At github: https://github.com/bitc/lushtags Screenshot: https://github.com/bitc/lushtags/raw/master/doc/screenshot-tagbar-2011-09-19...
What is lushtags? From the README:
lushtags ========
Create ctags compatible tags files for Haskell programs
Similar programs are [hasktags][1], [gasbag][2], [hothasktags][3], and GHC's builtin ctags generation.
lushtags differs from these by being designed to have smooth integration with the [Vim Tagbar][4] plugin.
Tagbar is nice because it deals with creating tags automatically. There is no need to manually run commands or keep track of tag files. Just open any Haskell file in Vim and the Tagbar window will instantly show an interactive browsable list of all the functions and declarations in the file. This window also updates automatically as you edit the file.
The tags created by lushtags are marked with several extensions, so that when used with Tagbar you get these features:
- Type signatures are displayed for functions. - Tags are properly scoped so that, for example, data declarations appear as a tree with their constructors scoped as children. - Definitions that are exported from the module are marked as "public" and appear emphasized in Tagbar. - Tag locations are internally stored as patterns, not line numbers, so that you can correctly jump to tags even if they have moved in the source code during editing.

Hi, Wow, it looks really amazing! Thanks! Best Regards, Karol Samborski

Hi Bit Connor, I like very much that you've also listed related work. Would you mind comparing the "tag generation" engine with the solutions you've pointed out? Eg does it depend on ghc? Does it reuse one of the existing solutions for generating tags - eg is it a wrapper only? Eg hothasktags says "with knowledge of import lists and qualified imports. It provides a smart go-to-definition for vim" Did you know that taglist plugin for Vim should also automatically regenerate tag files for the current buffer? Marc Weber
participants (3)
-
Bit Connor
-
Karol Samborski
-
Marc Weber