aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--haddock-ghc.cabal103
-rw-r--r--haddock.cabal101
-rw-r--r--src/Haddock/Utils.hs10
3 files changed, 70 insertions, 144 deletions
diff --git a/haddock-ghc.cabal b/haddock-ghc.cabal
deleted file mode 100644
index 5e907b6f..00000000
--- a/haddock-ghc.cabal
+++ /dev/null
@@ -1,103 +0,0 @@
-build-type: Simple
-name: haddock
-version: 2.0
-license: BSD3
-license-file: LICENSE
-copyright: (c) Simon Marlow, David Waern
-author: Simon Marlow, David Waern
-maintainer: David Waern <davve@dtek.chalmers.se>
-stability: stable
-homepage: http://www.haskell.org/haddock/
-synopsis: Haddock is a documentation-generation tool for Haskell
- libraries
-build-depends:
- base,
- haskell98,
- mtl,
- ghc>=6.8,
- Cabal,
- filepath,
- network,
- process,
- directory,
- pretty,
- containers,
- array
-extensions: CPP, PatternGuards
-ghc-options: -fglasgow-exts
-hs-source-dirs: src
-exposed-modules: Distribution.Haddock
-other-modules:
- Haddock.Types
- Haddock.InterfaceFile
- Haddock.Exception
-data-files:
- html/haddock-DEBUG.css
- html/haddock.css
- html/haddock.js
- html/haskell_icon.gif
- html/minus.gif
- html/plus.gif
-extra-source-files:
- CHANGES
- README
- TODO
- doc/Makefile
- doc/README
- doc/aclocal.m4
- doc/config.mk.in
- doc/configure.ac
- doc/docbook-xml.mk
- doc/fptools.css
- doc/haddock.xml
- examples/A.hs
- examples/B.hs
- examples/Bug1.hs
- examples/Bug2.hs
- examples/Bug3.hs
- examples/Bug4.hs
- examples/Bug6.hs
- examples/Bug7.hs
- examples/Bug8.hs
- examples/Bug9.hs
- examples/Hash.hs
- examples/Hidden.hs
- examples/Makefile
- examples/NoLayout.hs
- examples/Test.hs
- examples/Visible.hs
- examples/hide-bug/A.hs
- examples/hide-bug/B.hs
- examples/hide-bug/C.hs
- examples/hide-bug/D.hs
- haddock.spec
- haskell.vim
- src/haddock.sh
-
-executable: haddock
-hs-source-dirs: src
-main-is: Main.hs
-extensions: CPP, PatternGuards
-ghc-options: -fglasgow-exts -funbox-strict-fields -O2 -fasm
-other-modules:
- Haddock.Interface.Rename
- Haddock.Interface.Create
- Haddock.Interface.AttachInstances
- Haddock.Utils.FastMutInt2
- Haddock.Utils.BlockTable
- Haddock.Utils.Html
- Haddock.Utils
- Haddock.Backends.HaddockDB
- Haddock.Backends.DevHelp
- Haddock.Backends.HH
- Haddock.Backends.HH2
- Haddock.Backends.Hoogle
- Haddock.ModuleTree
- Haddock.Types
- Haddock.Version
- Haddock.InterfaceFile
- Haddock.Exception
- Haddock.Options
- Haddock.GHC.Typecheck
- Haddock.GHC.Utils
- Haddock.GHC
diff --git a/haddock.cabal b/haddock.cabal
index c4202436..92f8057f 100644
--- a/haddock.cabal
+++ b/haddock.cabal
@@ -1,21 +1,41 @@
-name: haddock
-cabal-version: >=1.1.4
-version: 2.0
-license: BSD3
-license-file: LICENSE
-copyright: (c) Simon Marlow
-author: Simon Marlow
-maintainer: Simon Marlow <simonmar@microsoft.com>
-stability: stable
-homepage: http://www.haskell.org/haddock/
-synopsis: Haddock is a documentation-generation tool for Haskell libraries
-build-depends: base>=1.0, haskell98>=1.0, mtl>=1.0, network>=1.0
+build-type: Simple
+name: haddock
+version: 2.0
+license: BSD3
+license-file: LICENSE
+copyright: (c) Simon Marlow, David Waern
+author: Simon Marlow, David Waern
+maintainer: David Waern <davve@dtek.chalmers.se>
+stability: stable
+homepage: http://www.haskell.org/haddock/
+synopsis: Haddock is a documentation-generation tool for Haskell
+ libraries
+build-depends:
+ base,
+ haskell98,
+ mtl,
+ ghc>=6.8,
+ Cabal,
+ filepath,
+ process,
+ directory,
+ pretty,
+ containers,
+ array
+extensions: CPP, PatternGuards
+ghc-options: -fglasgow-exts
+hs-source-dirs: src
+exposed-modules: Distribution.Haddock
+other-modules:
+ Haddock.Types
+ Haddock.InterfaceFile
+ Haddock.Exception
data-files:
- html/haddock-DEBUG.css
- html/haddock.css
- html/haddock.js
- html/haskell_icon.gif
- html/minus.gif
+ html/haddock-DEBUG.css
+ html/haddock.css
+ html/haddock.js
+ html/haskell_icon.gif
+ html/minus.gif
html/plus.gif
extra-source-files:
CHANGES
@@ -53,25 +73,30 @@ extra-source-files:
haskell.vim
src/haddock.sh
-executable: haddock-ghc
-hs-source-dirs: src
-main-is: Main.hs
-extensions: CPP, PatternGuards
+executable: haddock
+hs-source-dirs: src
+main-is: Main.hs
+extensions: CPP, PatternGuards
+ghc-options: -fglasgow-exts -funbox-strict-fields -O2 -fasm
other-modules:
- FastMutInt2
- BlockTable
- HaddockDB
- HaddockDevHelp
- HaddockHH
- HaddockHH2
- HaddockHoogle
- HaddockHtml
- HaddockModuleTree
- HaddockRename
- HaddockTypes
- HaddockUtil
- HaddockVersion
- Html
- GHCUtils
- Main
-
+ Haddock.Interface.Rename
+ Haddock.Interface.Create
+ Haddock.Interface.AttachInstances
+ Haddock.Utils.FastMutInt2
+ Haddock.Utils.BlockTable
+ Haddock.Utils.Html
+ Haddock.Utils
+ Haddock.Backends.HaddockDB
+ Haddock.Backends.DevHelp
+ Haddock.Backends.HH
+ Haddock.Backends.HH2
+ Haddock.Backends.Hoogle
+ Haddock.ModuleTree
+ Haddock.Types
+ Haddock.Version
+ Haddock.InterfaceFile
+ Haddock.Exception
+ Haddock.Options
+ Haddock.GHC.Typecheck
+ Haddock.GHC.Utils
+ Haddock.GHC
diff --git a/src/Haddock/Utils.hs b/src/Haddock/Utils.hs
index 81834cd8..18a5e831 100644
--- a/src/Haddock/Utils.hs
+++ b/src/Haddock/Utils.hs
@@ -46,11 +46,15 @@ import Module
import PackageConfig ( stringToPackageId )
import Control.Monad ( liftM, MonadPlus(..) )
-import Data.Char ( isAlpha, isSpace, toUpper, ord )
+import Data.Char ( isAlpha, isSpace, toUpper, ord, chr )
+import Numeric ( showIntAtBase )
+import Data.Map ( Map )
+import qualified Data.Map as Map hiding ( Map )
import Data.IORef ( IORef, newIORef, readIORef )
import Data.List ( intersect, isSuffixOf, intersperse )
-import Data.Maybe ( maybeToList, fromMaybe )
-import Network.URI
+import Data.Maybe ( maybeToList, fromMaybe, isJust, fromJust )
+import Data.Word ( Word8 )
+import Data.Bits ( testBit )
import System.Environment ( getProgName )
import System.Exit ( exitWith, ExitCode(..) )
import System.IO ( hPutStr, stderr )