aboutsummaryrefslogtreecommitdiff
path: root/src/HsLexer.lhs
diff options
context:
space:
mode:
authorsimonmar <unknown>2002-05-08 11:21:56 +0000
committersimonmar <unknown>2002-05-08 11:21:56 +0000
commit1283a3c195ed226fc6d1c84a25de1d42d556cfad (patch)
tree75a32fa4aacf1f3eda3ab912dd71ea58961178e4 /src/HsLexer.lhs
parentadc8107866e9371b7b20e4e3985f9eca2e8ba52c (diff)
[haddock @ 2002-05-08 11:21:56 by simonmar]
Add a facility for specifying options that affect Haddock's treatment of the module. Options are given at the top of the module in a comma-separated list, beginning with '-- #'. eg. -- # prune, hide, ignore-exports Options currently available, with their meanings: prune: ignore declarations which have no documentation annotations ignore-exports: act as if the export list were not specified (i.e. export everything local to the module). hide: do not include this module in the generated documentation, but propagate any exported definitions to modules which re-export them. There's a slight change in the semantics for re-exporting a full module by giving 'module M' in the export list: if module M does not have the 'hide' option, then the documentation will now just contain a reference to module M rather than the full inlined contents of that module. These features, and some other changes in the pipeline, are the result of discussions between myself and Manuel Chakravarty <chak@cse.unsw.edu.au> (author of IDoc) yesterday. Also: some cleanups, use a Writer monad to collect error messages in some places instead of just printing them with trace.
Diffstat (limited to 'src/HsLexer.lhs')
-rw-r--r--src/HsLexer.lhs5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/HsLexer.lhs b/src/HsLexer.lhs
index 8f5c0174..1899dda5 100644
--- a/src/HsLexer.lhs
+++ b/src/HsLexer.lhs
@@ -1,5 +1,5 @@
-----------------------------------------------------------------------------
--- $Id: HsLexer.lhs,v 1.4 2002/04/25 14:40:05 simonmar Exp $
+-- $Id: HsLexer.lhs,v 1.5 2002/05/08 11:21:56 simonmar Exp $
--
-- (c) The GHC Team, 1997-2000
--
@@ -68,6 +68,7 @@ data Token
| DocCommentPrev String -- something beginning '-- ^'
| DocCommentNamed String -- something beginning '-- $'
| DocSection Int String -- a section heading
+ | DocOptions String
-- Reserved operators
@@ -223,6 +224,7 @@ lexer cont input (SrcLoc _ x) y col =
doc (' ':'^':_) = True
doc (' ':'*':_) = True
doc (' ':'$':_) = True
+ doc (' ':'#':_) = True
doc _ = False
nextTab x = x + (tAB_LENGTH - (x-1) `mod` tAB_LENGTH)
@@ -283,6 +285,7 @@ lexToken cont s loc y x =
'-':'-':' ':'^':s -> docComment DocCommentPrev cont s loc y x
'-':'-':' ':'$':s -> docComment DocCommentNamed cont s loc y x
'-':'-':' ':'*':s -> docSection cont ('*':s) loc y x
+ '-':'-':' ':'#':s -> docComment DocOptions cont s loc y x
'\'':s -> lexChar cont s loc y (x+1)
'\"':s{-"-} -> lexString cont s loc y (x+1)