hasktags 0.69.4 → 0.69.5
raw patch · 4 files changed
+96/−115 lines, 4 filesdep −unixdep ~directoryPVP ok
version bump matches the API change (PVP)
Dependencies removed: unix
Dependency ranges changed: directory
API changes (from Hackage documentation)
Files
- README +0/−89
- README.md +89/−0
- hasktags.cabal +4/−14
- src/Hasktags.hs +3/−12
− README
@@ -1,89 +0,0 @@-# hasktags-A tool to generate tag files for vim and emacs--What is it for? A tag file is a index containing key items of your project such as-- function names-- module names-- data declarations-- ...--So that you can find / jump to them fast.--## HOWTO (GENERATING TAG FILES):-Build hasktags (standard cabal build)--Ctag format:-```bash-hasktags --ignore-close-implementation --ctags .-```--Etag format (used by emacs):-```bash-hasktags --ignore-close-implementation --etags .-```--Both formats:-```bash-hasktags --ignore-close-implementation .-```--*NB:* Generating both tags generates a file called `TAGS` for Emacs, and one called `ctags` for Vim.--## HOWTO (USING TAG FILES):-### ViM-```viml-let tags+=tagfile " tags,TAGS is the default setting so probably you don't have to do anything-```-`:tjump foo<tab>` or such. See `:h` tags--### NEdit-Load the "tags" file using File/Load Tags File.-Use "Ctrl-D" to search for a tag.--### XEmacs/Emacs-Load the "TAGS" file using "visit-tags-table"-Use "M-." to search for a tag.--### jedit-There is a plugin.--### Tests-To run the tests, do `cd testcases; sh test.sh`.--## History-In the past this tool was distributed with ghc. I forked and added some-features. hasktags itself was moved out of the ghc repository. Then I only-verified that my fork finds at least as much tags as the one forked by Igloo.--## Future-Things which could be done in the future:-- make json support optional-- Marco Túlio Pimenta Gontijo proposed replacing json by aeson because it might- be faster--## Maintainers-See cabal file--## Comments about literate haskell ([lhs][]):-Alex no longer supports bird style ">", so should we drop support, too?--## Contributors-- Tsuru Capital (github/liyang)-- Marco Túlio Pimenta Gontijo (github/marcotmarcot)--## TODO-Add all people having contributed before Oct 2012-This includes people contributing to the darcs repository as well as people-having contributed when this repository has been part of ghc--# Related work-List taken from announce of lushtags.-- https://github.com/bitc/lushtags-- http://hackage.haskell.org/package/hasktags-- http://kingfisher.nfshost.com/sw/gasbag/-- http://hackage.haskell.org/package/hothasktags-- http://majutsushi.github.com/tagbar/--And probably much more--[lhs]: http://www.haskell.org/haskellwiki/Literate_programming
+ README.md view
@@ -0,0 +1,89 @@+# hasktags+A tool to generate tag files for vim and emacs++What is it for? A tag file is a index containing key items of your project such as+- function names+- module names+- data declarations+- ...++So that you can find / jump to them fast.++## HOWTO (GENERATING TAG FILES):+Build hasktags (standard cabal build)++Ctag format:+```bash+hasktags --ignore-close-implementation --ctags .+```++Etag format (used by emacs):+```bash+hasktags --ignore-close-implementation --etags .+```++Both formats:+```bash+hasktags --ignore-close-implementation .+```++*NB:* Generating both tags generates a file called `TAGS` for Emacs, and one called `ctags` for Vim.++## HOWTO (USING TAG FILES):+### ViM+```viml+let tags+=tagfile " tags,TAGS is the default setting so probably you don't have to do anything+```+`:tjump foo<tab>` or such. See `:h` tags++### NEdit+Load the "tags" file using File/Load Tags File.+Use "Ctrl-D" to search for a tag.++### XEmacs/Emacs+Load the "TAGS" file using "visit-tags-table"+Use "M-." to search for a tag.++### jedit+There is a plugin.++### Tests+To run the tests, do `cd testcases; sh test.sh`.++## History+In the past this tool was distributed with ghc. I forked and added some+features. hasktags itself was moved out of the ghc repository. Then I only+verified that my fork finds at least as much tags as the one forked by Igloo.++## Future+Things which could be done in the future:+- make json support optional+- Marco Túlio Pimenta Gontijo proposed replacing json by aeson because it might+ be faster++## Maintainers+See cabal file++## Comments about literate haskell ([lhs][]):+Alex no longer supports bird style ">", so should we drop support, too?++## Contributors+- Tsuru Capital (github/liyang)+- Marco Túlio Pimenta Gontijo (github/marcotmarcot)++## TODO+Add all people having contributed before Oct 2012+This includes people contributing to the darcs repository as well as people+having contributed when this repository has been part of ghc++# Related work+List taken from announce of lushtags.+- https://github.com/bitc/lushtags+- http://hackage.haskell.org/package/hasktags+- http://kingfisher.nfshost.com/sw/gasbag/+- http://hackage.haskell.org/package/hothasktags+- http://majutsushi.github.com/tagbar/++And probably much more++[lhs]: http://www.haskell.org/haskellwiki/Literate_programming
hasktags.cabal view
@@ -1,5 +1,5 @@ Name: hasktags-Version: 0.69.4+Version: 0.69.5 Copyright: The University Court of the University of Glasgow License: BSD3 License-File: LICENSE@@ -17,7 +17,7 @@ build-type: Simple cabal-version: >=1.10 extra-source-files:- README,+ README.md, TODO, testcases/HUnitBase.lhs testcases/Repair.lhs@@ -62,13 +62,10 @@ utf8-string, base >= 4 && < 5, bytestring >= 0.9 && < 0.11,- directory >= 1.1 && < 1.4,+ directory >= 1.2.6 && < 1.4, filepath, json >= 0.5 && < 0.10 - if !os(windows)- build-depends: unix- Executable hasktags Main-Is: src/Main.hs Build-Depends:@@ -79,9 +76,6 @@ ghc-options: -Wall default-language: Haskell2010 - if !os(windows)- build-depends: unix- if flag(debug) cpp-options: -Ddebug @@ -96,14 +90,10 @@ directory, filepath, json,- HUnit,- unix+ HUnit other-modules: Tags, Hasktags, DebugShow ghc-options: -Wall default-language: Haskell2010-- if !os(windows)- build-depends: unix if flag(debug) cpp-options: -Ddebug
src/Hasktags.hs view
@@ -1,5 +1,3 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE CPP #-} -- should this be named Data.Hasktags or such? module Hasktags ( FileData,@@ -43,13 +41,11 @@ ( getModificationTime, getDirectoryContents, doesFileExist,- doesDirectoryExist )+ doesDirectoryExist,+ isSymbolicLink ) import Text.JSON.Generic ( encodeJSON, decodeJSON ) import Control.Monad ( when ) import DebugShow ( trace_ )-#ifdef VERSION_unix-import System.Posix.Files ( isSymbolicLink, getSymbolicLinkStatus )-#endif import System.FilePath ( (</>) ) -- search for definitions of things@@ -502,12 +498,7 @@ dirToFiles _ _ "STDIN" = fmap lines $ hGetContents stdin dirToFiles followSyms suffixes p = do isD <- doesDirectoryExist p- isSymLink <--#ifdef VERSION_unix- isSymbolicLink `fmap` getSymbolicLinkStatus p-#else- return False-#endif+ isSymLink <- isSymbolicLink p case isD of False -> return $ if matchingSuffix then [p] else [] True ->