aboutsummaryrefslogtreecommitdiff
path: root/latex-test
diff options
context:
space:
mode:
authorAlec Theriault <alec.theriault@gmail.com>2018-09-09 14:25:57 -0700
committerAlec Theriault <alec.theriault@gmail.com>2019-03-09 11:22:55 -0800
commitae23b4f25a972620686617b5aab5375d5046b1c9 (patch)
treef6400b0853050caf7d54ec8945caf36ff78dd811 /latex-test
parent747dfc712bd516b76342f2e17dada7a64d43c778 (diff)
Many LaTeX backend fixes
After this commit, we can run with `--latex` on all boot libraries without crashing (although the generated LaTeX still fails to compile in a handful of larger packages like `ghc` and `base`). * Add newlines after all block elements in LaTeX. This is important to prevent the final output from being more an more indented. See the `latext-test/src/Example` test case for a sample of this. * Support associated types in class declarations (but not yet defaults) * Several small issues for producing compiling LaTeX; - avoid empy `\haddockbeginargs` lists (ex: `type family Any`) - properly escape identifiers depending on context (ex: `Int#`) - add `vbox` around `itemize`/`enumerate` (so they can be in tables) * Several spacing fixes: - limit the width of `Pretty`-arranged monospaced code - cut out extra space characters in export lists - only escape spaces if there are _multiple_ spaces - allow type signatures to be multiline (even without docs) * Remove uninteresting and repetitive `main.tex`/`haddock.sty` files from `latex-test` test reference output. Fixes #935, #929 (LaTeX docs for `text` build & compile) Fixes #727, #930 (I think both are really about type families...)
Diffstat (limited to 'latex-test')
-rwxr-xr-xlatex-test/Main.hs4
-rw-r--r--latex-test/ref/ConstructorArgs/ConstructorArgs.tex34
-rw-r--r--latex-test/ref/ConstructorArgs/haddock.sty57
-rw-r--r--latex-test/ref/ConstructorArgs/main.tex11
-rw-r--r--latex-test/ref/DefaultSignatures/DefaultSignatures.tex28
-rw-r--r--latex-test/ref/DefaultSignatures/haddock.sty57
-rw-r--r--latex-test/ref/DefaultSignatures/main.tex11
-rw-r--r--latex-test/ref/Deprecated/Deprecated.tex8
-rw-r--r--latex-test/ref/Deprecated/haddock.sty57
-rw-r--r--latex-test/ref/Deprecated/main.tex11
-rw-r--r--latex-test/ref/Example/Example.tex30
-rw-r--r--latex-test/ref/GadtConstructorArgs/GadtConstructorArgs.tex15
-rw-r--r--latex-test/ref/GadtConstructorArgs/haddock.sty57
-rw-r--r--latex-test/ref/GadtConstructorArgs/main.tex11
-rw-r--r--latex-test/ref/NamespacedIdentifier/NamespacedIdentifiers.tex26
-rw-r--r--latex-test/ref/NamespacedIdentifier/haddock.sty57
-rw-r--r--latex-test/ref/NamespacedIdentifier/main.tex11
-rw-r--r--latex-test/ref/Simple/Simple.tex8
-rw-r--r--latex-test/ref/Simple/haddock.sty57
-rw-r--r--latex-test/ref/Simple/main.tex11
-rw-r--r--latex-test/ref/TypeFamilies3/TypeFamilies3.tex32
-rw-r--r--latex-test/ref/TypeFamilies3/haddock.sty57
-rw-r--r--latex-test/ref/TypeFamilies3/main.tex11
-rw-r--r--latex-test/ref/UnboxedStuff/UnboxedStuff.tex26
-rw-r--r--latex-test/ref/UnboxedStuff/haddock.sty57
-rw-r--r--latex-test/ref/UnboxedStuff/main.tex11
-rw-r--r--latex-test/src/Example/Example.hs11
27 files changed, 132 insertions, 634 deletions
diff --git a/latex-test/Main.hs b/latex-test/Main.hs
index 8d2a4922..17ae8ae8 100755
--- a/latex-test/Main.hs
+++ b/latex-test/Main.hs
@@ -19,7 +19,9 @@ checkConfig = CheckConfig
dirConfig :: DirConfig
-dirConfig = defaultDirConfig $ takeDirectory __FILE__
+dirConfig = (defaultDirConfig $ takeDirectory __FILE__)
+ { dcfgCheckIgnore = (`elem` ["haddock.sty", "main.tex"]) . takeFileName
+ }
main :: IO ()
diff --git a/latex-test/ref/ConstructorArgs/ConstructorArgs.tex b/latex-test/ref/ConstructorArgs/ConstructorArgs.tex
index 44304f47..053d2e41 100644
--- a/latex-test/ref/ConstructorArgs/ConstructorArgs.tex
+++ b/latex-test/ref/ConstructorArgs/ConstructorArgs.tex
@@ -3,15 +3,16 @@
\haddockbeginheader
{\haddockverb\begin{verbatim}
module ConstructorArgs (
- Foo((:|), Rec, Baz, Boa, (:*), x, y), Boo(Foo, Foa, Fo, Fo'), pattern Bo,
- pattern Bo'
+ Foo((:|), Rec, Baz, Boa, (:*), x, y), Boo(Foo, Foa, Fo, Fo'),
+ pattern Bo, pattern Bo'
) where\end{verbatim}}
\haddockendheader
\begin{haddockdesc}
\item[\begin{tabular}{@{}l}
-data\ Foo
-\end{tabular}]\haddockbegindoc
+data Foo
+\end{tabular}]
+{\haddockbegindoc
\enspace \emph{Constructors}\par
\haddockbeginconstrs
\haddockdecltt{=} & \haddockdecltt{Rec} & doc on a record \\
@@ -25,12 +26,13 @@ data\ Foo
\haddockdecltt{|} & \haddockdecltt{(:*)} & doc on the \haddockid{:*} constructor \\
& \qquad \haddockdecltt{Int} & doc on the \haddockid{Int} field of the \haddockid{:*} constructor \\
& \qquad \haddockdecltt{String} & doc on the \haddockid{String} field of the \haddockid{:*} constructor \\
-\end{tabulary}\par
+\end{tabulary}\par}
\end{haddockdesc}
\begin{haddockdesc}
\item[\begin{tabular}{@{}l}
-data\ Boo\ where
-\end{tabular}]\haddockbegindoc
+data Boo where
+\end{tabular}]
+{\haddockbegindoc
\enspace \emph{Constructors}\par
\haddockbeginconstrs
& \haddockdecltt{Foo} & Info about a \haddockid{Foo} \\
@@ -46,24 +48,24 @@ data\ Boo\ where
& \qquad \haddockdecltt{->} \enspace \haddockdecltt{String} & a \haddockid{String} \\
& \qquad \haddockdecltt{->} \enspace \haddockdecltt{Boo} & a \haddockid{Boo} \\
& \haddockdecltt{pattern Fo' :: Boo} & Bundled and no argument docs \\
-\end{tabulary}\par
+\end{tabulary}\par}
\end{haddockdesc}
\begin{haddockdesc}
\item[\begin{tabular}{@{}l}
-pattern\ Bo
-\end{tabular}]\haddockbegindoc
+pattern Bo
+\end{tabular}]
+{\haddockbegindoc
\haddockbeginargs
\haddockdecltt{::} & \haddockdecltt{Int} & an \haddockid{Int} \\
\haddockdecltt{->} & \haddockdecltt{String} & a \haddockid{String} \\
\haddockdecltt{->} & \haddockdecltt{Boo} & a \haddockid{Boo} pattern \\
\end{tabulary}\par
-Info about not-bundled \haddockid{Bo}\par
-
+Info about not-bundled \haddockid{Bo}\par}
\end{haddockdesc}
\begin{haddockdesc}
\item[\begin{tabular}{@{}l}
-pattern\ Bo'\ ::\ Int\ ->\ String\ ->\ Boo
-\end{tabular}]\haddockbegindoc
-Not bunded and no argument docs\par
-
+pattern Bo' :: Int -> String -> Boo
+\end{tabular}]
+{\haddockbegindoc
+Not bunded and no argument docs\par}
\end{haddockdesc} \ No newline at end of file
diff --git a/latex-test/ref/ConstructorArgs/haddock.sty b/latex-test/ref/ConstructorArgs/haddock.sty
deleted file mode 100644
index 6e031a98..00000000
--- a/latex-test/ref/ConstructorArgs/haddock.sty
+++ /dev/null
@@ -1,57 +0,0 @@
-% Default Haddock style definitions. To use your own style, invoke
-% Haddock with the option --latex-style=mystyle.
-
-\usepackage{tabulary} % see below
-
-% make hyperlinks in the PDF, and add an expandabale index
-\usepackage[pdftex,bookmarks=true]{hyperref}
-
-\newenvironment{haddocktitle}
- {\begin{center}\bgroup\large\bfseries}
- {\egroup\end{center}}
-\newenvironment{haddockprologue}{\vspace{1in}}{}
-
-\newcommand{\haddockmoduleheading}[1]{\chapter{\texttt{#1}}}
-
-\newcommand{\haddockbeginheader}{\hrulefill}
-\newcommand{\haddockendheader}{\noindent\hrulefill}
-
-% a little gap before the ``Methods'' header
-\newcommand{\haddockpremethods}{\vspace{2ex}}
-
-% inserted before \\begin{verbatim}
-\newcommand{\haddockverb}{\small}
-
-% an identifier: add an index entry
-\newcommand{\haddockid}[1]{\haddocktt{#1}\index{#1@\texttt{#1}}}
-
-% The tabulary environment lets us have a column that takes up ``the
-% rest of the space''. Unfortunately it doesn't allow
-% the \end{tabulary} to be in the expansion of a macro, it must appear
-% literally in the document text, so Haddock inserts
-% the \end{tabulary} itself.
-\newcommand{\haddockbeginconstrs}{\begin{tabulary}{\linewidth}{@{}llJ@{}}}
-\newcommand{\haddockbeginargs}{\begin{tabulary}{\linewidth}{@{}llJ@{}}}
-
-\newcommand{\haddocktt}[1]{{\small \texttt{#1}}}
-\newcommand{\haddockdecltt}[1]{{\small\bfseries \texttt{#1}}}
-
-\makeatletter
-\newenvironment{haddockdesc}
- {\list{}{\labelwidth\z@ \itemindent-\leftmargin
- \let\makelabel\haddocklabel}}
- {\endlist}
-\newcommand*\haddocklabel[1]{\hspace\labelsep\haddockdecltt{#1}}
-\makeatother
-
-% after a declaration, start a new line for the documentation.
-% Otherwise, the documentation starts right after the declaration,
-% because we're using the list environment and the declaration is the
-% ``label''. I tried making this newline part of the label, but
-% couldn't get that to work reliably (the space seemed to stretch
-% sometimes).
-\newcommand{\haddockbegindoc}{\hfill\\[1ex]}
-
-% spacing between paragraphs and no \parindent looks better
-\parskip=10pt plus2pt minus2pt
-\setlength{\parindent}{0cm}
diff --git a/latex-test/ref/ConstructorArgs/main.tex b/latex-test/ref/ConstructorArgs/main.tex
deleted file mode 100644
index 80f639c5..00000000
--- a/latex-test/ref/ConstructorArgs/main.tex
+++ /dev/null
@@ -1,11 +0,0 @@
-\documentclass{book}
-\usepackage{haddock}
-\begin{document}
-\begin{titlepage}
-\begin{haddocktitle}
-
-\end{haddocktitle}
-\end{titlepage}
-\tableofcontents
-\input{ConstructorArgs}
-\end{document} \ No newline at end of file
diff --git a/latex-test/ref/DefaultSignatures/DefaultSignatures.tex b/latex-test/ref/DefaultSignatures/DefaultSignatures.tex
index 4dbcda49..162f5014 100644
--- a/latex-test/ref/DefaultSignatures/DefaultSignatures.tex
+++ b/latex-test/ref/DefaultSignatures/DefaultSignatures.tex
@@ -9,33 +9,33 @@ module DefaultSignatures (
\begin{haddockdesc}
\item[\begin{tabular}{@{}l}
-class\ Foo\ a\ where
-\end{tabular}]\haddockbegindoc
+class Foo a where
+\end{tabular}]
+{\haddockbegindoc
Documentation for Foo.\par
-
\haddockpremethods{}\emph{Methods}
\begin{haddockdesc}
\item[\begin{tabular}{@{}l}
-bar,\ baz\ ::\ a\ ->\ String
-\end{tabular}]\haddockbegindoc
-Documentation for bar and baz.\par
-
+bar, baz :: a -> String
+\end{tabular}]
+{\haddockbegindoc
+Documentation for bar and baz.\par}
\end{haddockdesc}
\begin{haddockdesc}
\item[\begin{tabular}{@{}l}
-default\ bar\ ::\ Show\ a\ =>\ a\ ->\ String
+default bar :: Show a => a -> String
\end{tabular}]
\end{haddockdesc}
\begin{haddockdesc}
\item[\begin{tabular}{@{}l}
-baz'\ ::\ String\ ->\ a
-\end{tabular}]\haddockbegindoc
-Documentation for baz'.\par
-
+baz' :: String -> a
+\end{tabular}]
+{\haddockbegindoc
+Documentation for baz'.\par}
\end{haddockdesc}
\begin{haddockdesc}
\item[\begin{tabular}{@{}l}
-default\ baz'\ ::\ Read\ a\ =>\ String\ ->\ a
+default baz' :: Read a => String -> a
\end{tabular}]
-\end{haddockdesc}
+\end{haddockdesc}}
\end{haddockdesc} \ No newline at end of file
diff --git a/latex-test/ref/DefaultSignatures/haddock.sty b/latex-test/ref/DefaultSignatures/haddock.sty
deleted file mode 100644
index 6e031a98..00000000
--- a/latex-test/ref/DefaultSignatures/haddock.sty
+++ /dev/null
@@ -1,57 +0,0 @@
-% Default Haddock style definitions. To use your own style, invoke
-% Haddock with the option --latex-style=mystyle.
-
-\usepackage{tabulary} % see below
-
-% make hyperlinks in the PDF, and add an expandabale index
-\usepackage[pdftex,bookmarks=true]{hyperref}
-
-\newenvironment{haddocktitle}
- {\begin{center}\bgroup\large\bfseries}
- {\egroup\end{center}}
-\newenvironment{haddockprologue}{\vspace{1in}}{}
-
-\newcommand{\haddockmoduleheading}[1]{\chapter{\texttt{#1}}}
-
-\newcommand{\haddockbeginheader}{\hrulefill}
-\newcommand{\haddockendheader}{\noindent\hrulefill}
-
-% a little gap before the ``Methods'' header
-\newcommand{\haddockpremethods}{\vspace{2ex}}
-
-% inserted before \\begin{verbatim}
-\newcommand{\haddockverb}{\small}
-
-% an identifier: add an index entry
-\newcommand{\haddockid}[1]{\haddocktt{#1}\index{#1@\texttt{#1}}}
-
-% The tabulary environment lets us have a column that takes up ``the
-% rest of the space''. Unfortunately it doesn't allow
-% the \end{tabulary} to be in the expansion of a macro, it must appear
-% literally in the document text, so Haddock inserts
-% the \end{tabulary} itself.
-\newcommand{\haddockbeginconstrs}{\begin{tabulary}{\linewidth}{@{}llJ@{}}}
-\newcommand{\haddockbeginargs}{\begin{tabulary}{\linewidth}{@{}llJ@{}}}
-
-\newcommand{\haddocktt}[1]{{\small \texttt{#1}}}
-\newcommand{\haddockdecltt}[1]{{\small\bfseries \texttt{#1}}}
-
-\makeatletter
-\newenvironment{haddockdesc}
- {\list{}{\labelwidth\z@ \itemindent-\leftmargin
- \let\makelabel\haddocklabel}}
- {\endlist}
-\newcommand*\haddocklabel[1]{\hspace\labelsep\haddockdecltt{#1}}
-\makeatother
-
-% after a declaration, start a new line for the documentation.
-% Otherwise, the documentation starts right after the declaration,
-% because we're using the list environment and the declaration is the
-% ``label''. I tried making this newline part of the label, but
-% couldn't get that to work reliably (the space seemed to stretch
-% sometimes).
-\newcommand{\haddockbegindoc}{\hfill\\[1ex]}
-
-% spacing between paragraphs and no \parindent looks better
-\parskip=10pt plus2pt minus2pt
-\setlength{\parindent}{0cm}
diff --git a/latex-test/ref/DefaultSignatures/main.tex b/latex-test/ref/DefaultSignatures/main.tex
deleted file mode 100644
index d30eb008..00000000
--- a/latex-test/ref/DefaultSignatures/main.tex
+++ /dev/null
@@ -1,11 +0,0 @@
-\documentclass{book}
-\usepackage{haddock}
-\begin{document}
-\begin{titlepage}
-\begin{haddocktitle}
-
-\end{haddocktitle}
-\end{titlepage}
-\tableofcontents
-\input{DefaultSignatures}
-\end{document} \ No newline at end of file
diff --git a/latex-test/ref/Deprecated/Deprecated.tex b/latex-test/ref/Deprecated/Deprecated.tex
index fa8fc20a..0ae2410b 100644
--- a/latex-test/ref/Deprecated/Deprecated.tex
+++ b/latex-test/ref/Deprecated/Deprecated.tex
@@ -9,9 +9,9 @@ module Deprecated (
\begin{haddockdesc}
\item[\begin{tabular}{@{}l}
-deprecated\ ::\ Int
-\end{tabular}]\haddockbegindoc
+deprecated :: Int
+\end{tabular}]
+{\haddockbegindoc
Deprecated: Don't use this\par
-Docs for something deprecated\par
-
+Docs for something deprecated\par}
\end{haddockdesc} \ No newline at end of file
diff --git a/latex-test/ref/Deprecated/haddock.sty b/latex-test/ref/Deprecated/haddock.sty
deleted file mode 100644
index 6e031a98..00000000
--- a/latex-test/ref/Deprecated/haddock.sty
+++ /dev/null
@@ -1,57 +0,0 @@
-% Default Haddock style definitions. To use your own style, invoke
-% Haddock with the option --latex-style=mystyle.
-
-\usepackage{tabulary} % see below
-
-% make hyperlinks in the PDF, and add an expandabale index
-\usepackage[pdftex,bookmarks=true]{hyperref}
-
-\newenvironment{haddocktitle}
- {\begin{center}\bgroup\large\bfseries}
- {\egroup\end{center}}
-\newenvironment{haddockprologue}{\vspace{1in}}{}
-
-\newcommand{\haddockmoduleheading}[1]{\chapter{\texttt{#1}}}
-
-\newcommand{\haddockbeginheader}{\hrulefill}
-\newcommand{\haddockendheader}{\noindent\hrulefill}
-
-% a little gap before the ``Methods'' header
-\newcommand{\haddockpremethods}{\vspace{2ex}}
-
-% inserted before \\begin{verbatim}
-\newcommand{\haddockverb}{\small}
-
-% an identifier: add an index entry
-\newcommand{\haddockid}[1]{\haddocktt{#1}\index{#1@\texttt{#1}}}
-
-% The tabulary environment lets us have a column that takes up ``the
-% rest of the space''. Unfortunately it doesn't allow
-% the \end{tabulary} to be in the expansion of a macro, it must appear
-% literally in the document text, so Haddock inserts
-% the \end{tabulary} itself.
-\newcommand{\haddockbeginconstrs}{\begin{tabulary}{\linewidth}{@{}llJ@{}}}
-\newcommand{\haddockbeginargs}{\begin{tabulary}{\linewidth}{@{}llJ@{}}}
-
-\newcommand{\haddocktt}[1]{{\small \texttt{#1}}}
-\newcommand{\haddockdecltt}[1]{{\small\bfseries \texttt{#1}}}
-
-\makeatletter
-\newenvironment{haddockdesc}
- {\list{}{\labelwidth\z@ \itemindent-\leftmargin
- \let\makelabel\haddocklabel}}
- {\endlist}
-\newcommand*\haddocklabel[1]{\hspace\labelsep\haddockdecltt{#1}}
-\makeatother
-
-% after a declaration, start a new line for the documentation.
-% Otherwise, the documentation starts right after the declaration,
-% because we're using the list environment and the declaration is the
-% ``label''. I tried making this newline part of the label, but
-% couldn't get that to work reliably (the space seemed to stretch
-% sometimes).
-\newcommand{\haddockbegindoc}{\hfill\\[1ex]}
-
-% spacing between paragraphs and no \parindent looks better
-\parskip=10pt plus2pt minus2pt
-\setlength{\parindent}{0cm}
diff --git a/latex-test/ref/Deprecated/main.tex b/latex-test/ref/Deprecated/main.tex
deleted file mode 100644
index 76def1cd..00000000
--- a/latex-test/ref/Deprecated/main.tex
+++ /dev/null
@@ -1,11 +0,0 @@
-\documentclass{book}
-\usepackage{haddock}
-\begin{document}
-\begin{titlepage}
-\begin{haddocktitle}
-
-\end{haddocktitle}
-\end{titlepage}
-\tableofcontents
-\input{Deprecated}
-\end{document} \ No newline at end of file
diff --git a/latex-test/ref/Example/Example.tex b/latex-test/ref/Example/Example.tex
new file mode 100644
index 00000000..11f7e734
--- /dev/null
+++ b/latex-test/ref/Example/Example.tex
@@ -0,0 +1,30 @@
+\haddockmoduleheading{Example}
+\label{module:Example}
+\haddockbeginheader
+{\haddockverb\begin{verbatim}
+module Example (
+ split
+ ) where\end{verbatim}}
+\haddockendheader
+
+\begin{haddockdesc}
+\item[\begin{tabular}{@{}l}
+split :: Int -> ()
+\end{tabular}]
+{\haddockbegindoc
+Example use.\par
+\begin{quote}
+{\haddockverb\begin{verbatim}
+>>> split 1
+()
+
+\end{verbatim}}
+\end{quote}
+\begin{quote}
+{\haddockverb\begin{verbatim}
+>>> split 2
+()
+
+\end{verbatim}}
+\end{quote}}
+\end{haddockdesc} \ No newline at end of file
diff --git a/latex-test/ref/GadtConstructorArgs/GadtConstructorArgs.tex b/latex-test/ref/GadtConstructorArgs/GadtConstructorArgs.tex
index 7aaf5512..9953ce55 100644
--- a/latex-test/ref/GadtConstructorArgs/GadtConstructorArgs.tex
+++ b/latex-test/ref/GadtConstructorArgs/GadtConstructorArgs.tex
@@ -9,17 +9,18 @@ module GadtConstructorArgs (
\begin{haddockdesc}
\item[\begin{tabular}{@{}l}
-data\ Boo\ where
-\end{tabular}]\haddockbegindoc
+data Boo where
+\end{tabular}]
+{\haddockbegindoc
\enspace \emph{Constructors}\par
\haddockbeginconstrs
& \haddockdecltt{Fot} & \\
- & \qquad \haddockdecltt{:: \{} \enspace \haddockdecltt{x :: Int} & an \haddockid{x} \\
+ & \qquad \haddockdecltt{:: {\char '173}} \enspace \haddockdecltt{x :: Int} & an \haddockid{x} \\
& \qquad \haddockdecltt{\ \ \ \ ,} \enspace \haddockdecltt{y :: Int} & a \haddockid{y} \\
- & \qquad \haddockdecltt{\ \ \ \ \} ->} \enspace \haddockdecltt{Boo} & \\
+ & \qquad \haddockdecltt{\ \ \ \ {\char '175} ->} \enspace \haddockdecltt{Boo} & \\
& \haddockdecltt{Fob} & Record GADT with docs \\
- & \qquad \haddockdecltt{:: \{} \enspace \haddockdecltt{w :: Int} & a \haddockid{w} \\
+ & \qquad \haddockdecltt{:: {\char '173}} \enspace \haddockdecltt{w :: Int} & a \haddockid{w} \\
& \qquad \haddockdecltt{\ \ \ \ ,} \enspace \haddockdecltt{z :: Int} & a \haddockid{z} \\
- & \qquad \haddockdecltt{\ \ \ \ \} ->} \enspace \haddockdecltt{Boo} & a \haddockid{Boo} \\
-\end{tabulary}\par
+ & \qquad \haddockdecltt{\ \ \ \ {\char '175} ->} \enspace \haddockdecltt{Boo} & a \haddockid{Boo} \\
+\end{tabulary}\par}
\end{haddockdesc} \ No newline at end of file
diff --git a/latex-test/ref/GadtConstructorArgs/haddock.sty b/latex-test/ref/GadtConstructorArgs/haddock.sty
deleted file mode 100644
index 6e031a98..00000000
--- a/latex-test/ref/GadtConstructorArgs/haddock.sty
+++ /dev/null
@@ -1,57 +0,0 @@
-% Default Haddock style definitions. To use your own style, invoke
-% Haddock with the option --latex-style=mystyle.
-
-\usepackage{tabulary} % see below
-
-% make hyperlinks in the PDF, and add an expandabale index
-\usepackage[pdftex,bookmarks=true]{hyperref}
-
-\newenvironment{haddocktitle}
- {\begin{center}\bgroup\large\bfseries}
- {\egroup\end{center}}
-\newenvironment{haddockprologue}{\vspace{1in}}{}
-
-\newcommand{\haddockmoduleheading}[1]{\chapter{\texttt{#1}}}
-
-\newcommand{\haddockbeginheader}{\hrulefill}
-\newcommand{\haddockendheader}{\noindent\hrulefill}
-
-% a little gap before the ``Methods'' header
-\newcommand{\haddockpremethods}{\vspace{2ex}}
-
-% inserted before \\begin{verbatim}
-\newcommand{\haddockverb}{\small}
-
-% an identifier: add an index entry
-\newcommand{\haddockid}[1]{\haddocktt{#1}\index{#1@\texttt{#1}}}
-
-% The tabulary environment lets us have a column that takes up ``the
-% rest of the space''. Unfortunately it doesn't allow
-% the \end{tabulary} to be in the expansion of a macro, it must appear
-% literally in the document text, so Haddock inserts
-% the \end{tabulary} itself.
-\newcommand{\haddockbeginconstrs}{\begin{tabulary}{\linewidth}{@{}llJ@{}}}
-\newcommand{\haddockbeginargs}{\begin{tabulary}{\linewidth}{@{}llJ@{}}}
-
-\newcommand{\haddocktt}[1]{{\small \texttt{#1}}}
-\newcommand{\haddockdecltt}[1]{{\small\bfseries \texttt{#1}}}
-
-\makeatletter
-\newenvironment{haddockdesc}
- {\list{}{\labelwidth\z@ \itemindent-\leftmargin
- \let\makelabel\haddocklabel}}
- {\endlist}
-\newcommand*\haddocklabel[1]{\hspace\labelsep\haddockdecltt{#1}}
-\makeatother
-
-% after a declaration, start a new line for the documentation.
-% Otherwise, the documentation starts right after the declaration,
-% because we're using the list environment and the declaration is the
-% ``label''. I tried making this newline part of the label, but
-% couldn't get that to work reliably (the space seemed to stretch
-% sometimes).
-\newcommand{\haddockbegindoc}{\hfill\\[1ex]}
-
-% spacing between paragraphs and no \parindent looks better
-\parskip=10pt plus2pt minus2pt
-\setlength{\parindent}{0cm}
diff --git a/latex-test/ref/GadtConstructorArgs/main.tex b/latex-test/ref/GadtConstructorArgs/main.tex
deleted file mode 100644
index dc1a1aa3..00000000
--- a/latex-test/ref/GadtConstructorArgs/main.tex
+++ /dev/null
@@ -1,11 +0,0 @@
-\documentclass{book}
-\usepackage{haddock}
-\begin{document}
-\begin{titlepage}
-\begin{haddocktitle}
-
-\end{haddocktitle}
-\end{titlepage}
-\tableofcontents
-\input{GadtConstructorArgs}
-\end{document} \ No newline at end of file
diff --git a/latex-test/ref/NamespacedIdentifier/NamespacedIdentifiers.tex b/latex-test/ref/NamespacedIdentifier/NamespacedIdentifiers.tex
index f39bd0ec..44c052c6 100644
--- a/latex-test/ref/NamespacedIdentifier/NamespacedIdentifiers.tex
+++ b/latex-test/ref/NamespacedIdentifier/NamespacedIdentifiers.tex
@@ -3,39 +3,35 @@
\haddockbeginheader
{\haddockverb\begin{verbatim}
module NamespacedIdentifiers (
- Foo(Bar), Bar
+ Foo(Bar), Bar
) where\end{verbatim}}
\haddockendheader
\begin{haddockdesc}
\item[\begin{tabular}{@{}l}
-data\ Foo
-\end{tabular}]\haddockbegindoc
+data Foo
+\end{tabular}]
+{\haddockbegindoc
A link to:\par
-\begin{itemize}
+\vbox{\begin{itemize}
\item
the type \haddockid{Bar}\par
-
\item
the constructor \haddockid{Bar}\par
-
\item
the unimported but qualified type \haddockid{A}\par
-
\item
the unimported but qualified value \haddockid{A}\par
-
-\end{itemize}
-
+\end{itemize}}
\enspace \emph{Constructors}\par
\haddockbeginconstrs
\haddockdecltt{=} & \haddockdecltt{Bar} & \\
-\end{tabulary}\par
+\end{tabulary}\par}
\end{haddockdesc}
\begin{haddockdesc}
\item[\begin{tabular}{@{}l}
-data\ Bar
-\end{tabular}]\haddockbegindoc
-A link to the value \haddocktt{Foo} (which shouldn't exist).\par
-
+data Bar
+\end{tabular}]
+{\haddockbegindoc
+A link to the value \haddocktt{Foo} (which shouldn't exist).\par}
\end{haddockdesc} \ No newline at end of file
diff --git a/latex-test/ref/NamespacedIdentifier/haddock.sty b/latex-test/ref/NamespacedIdentifier/haddock.sty
deleted file mode 100644
index 6e031a98..00000000
--- a/latex-test/ref/NamespacedIdentifier/haddock.sty
+++ /dev/null
@@ -1,57 +0,0 @@
-% Default Haddock style definitions. To use your own style, invoke
-% Haddock with the option --latex-style=mystyle.
-
-\usepackage{tabulary} % see below
-
-% make hyperlinks in the PDF, and add an expandabale index
-\usepackage[pdftex,bookmarks=true]{hyperref}
-
-\newenvironment{haddocktitle}
- {\begin{center}\bgroup\large\bfseries}
- {\egroup\end{center}}
-\newenvironment{haddockprologue}{\vspace{1in}}{}
-
-\newcommand{\haddockmoduleheading}[1]{\chapter{\texttt{#1}}}
-
-\newcommand{\haddockbeginheader}{\hrulefill}
-\newcommand{\haddockendheader}{\noindent\hrulefill}
-
-% a little gap before the ``Methods'' header
-\newcommand{\haddockpremethods}{\vspace{2ex}}
-
-% inserted before \\begin{verbatim}
-\newcommand{\haddockverb}{\small}
-
-% an identifier: add an index entry
-\newcommand{\haddockid}[1]{\haddocktt{#1}\index{#1@\texttt{#1}}}
-
-% The tabulary environment lets us have a column that takes up ``the
-% rest of the space''. Unfortunately it doesn't allow
-% the \end{tabulary} to be in the expansion of a macro, it must appear
-% literally in the document text, so Haddock inserts
-% the \end{tabulary} itself.
-\newcommand{\haddockbeginconstrs}{\begin{tabulary}{\linewidth}{@{}llJ@{}}}
-\newcommand{\haddockbeginargs}{\begin{tabulary}{\linewidth}{@{}llJ@{}}}
-
-\newcommand{\haddocktt}[1]{{\small \texttt{#1}}}
-\newcommand{\haddockdecltt}[1]{{\small\bfseries \texttt{#1}}}
-
-\makeatletter
-\newenvironment{haddockdesc}
- {\list{}{\labelwidth\z@ \itemindent-\leftmargin
- \let\makelabel\haddocklabel}}
- {\endlist}
-\newcommand*\haddocklabel[1]{\hspace\labelsep\haddockdecltt{#1}}
-\makeatother
-
-% after a declaration, start a new line for the documentation.
-% Otherwise, the documentation starts right after the declaration,
-% because we're using the list environment and the declaration is the
-% ``label''. I tried making this newline part of the label, but
-% couldn't get that to work reliably (the space seemed to stretch
-% sometimes).
-\newcommand{\haddockbegindoc}{\hfill\\[1ex]}
-
-% spacing between paragraphs and no \parindent looks better
-\parskip=10pt plus2pt minus2pt
-\setlength{\parindent}{0cm}
diff --git a/latex-test/ref/NamespacedIdentifier/main.tex b/latex-test/ref/NamespacedIdentifier/main.tex
deleted file mode 100644
index 75493e12..00000000
--- a/latex-test/ref/NamespacedIdentifier/main.tex
+++ /dev/null
@@ -1,11 +0,0 @@
-\documentclass{book}
-\usepackage{haddock}
-\begin{document}
-\begin{titlepage}
-\begin{haddocktitle}
-
-\end{haddocktitle}
-\end{titlepage}
-\tableofcontents
-\input{NamespacedIdentifiers}
-\end{document} \ No newline at end of file
diff --git a/latex-test/ref/Simple/Simple.tex b/latex-test/ref/Simple/Simple.tex
index 5ba4712c..96e9338a 100644
--- a/latex-test/ref/Simple/Simple.tex
+++ b/latex-test/ref/Simple/Simple.tex
@@ -9,8 +9,8 @@ module Simple (
\begin{haddockdesc}
\item[\begin{tabular}{@{}l}
-foo\ ::\ t
-\end{tabular}]\haddockbegindoc
-This is foo.\par
-
+foo :: t
+\end{tabular}]
+{\haddockbegindoc
+This is foo.\par}
\end{haddockdesc} \ No newline at end of file
diff --git a/latex-test/ref/Simple/haddock.sty b/latex-test/ref/Simple/haddock.sty
deleted file mode 100644
index 6e031a98..00000000
--- a/latex-test/ref/Simple/haddock.sty
+++ /dev/null
@@ -1,57 +0,0 @@
-% Default Haddock style definitions. To use your own style, invoke
-% Haddock with the option --latex-style=mystyle.
-
-\usepackage{tabulary} % see below
-
-% make hyperlinks in the PDF, and add an expandabale index
-\usepackage[pdftex,bookmarks=true]{hyperref}
-
-\newenvironment{haddocktitle}
- {\begin{center}\bgroup\large\bfseries}
- {\egroup\end{center}}
-\newenvironment{haddockprologue}{\vspace{1in}}{}
-
-\newcommand{\haddockmoduleheading}[1]{\chapter{\texttt{#1}}}
-
-\newcommand{\haddockbeginheader}{\hrulefill}
-\newcommand{\haddockendheader}{\noindent\hrulefill}
-
-% a little gap before the ``Methods'' header
-\newcommand{\haddockpremethods}{\vspace{2ex}}
-
-% inserted before \\begin{verbatim}
-\newcommand{\haddockverb}{\small}
-
-% an identifier: add an index entry
-\newcommand{\haddockid}[1]{\haddocktt{#1}\index{#1@\texttt{#1}}}
-
-% The tabulary environment lets us have a column that takes up ``the
-% rest of the space''. Unfortunately it doesn't allow
-% the \end{tabulary} to be in the expansion of a macro, it must appear
-% literally in the document text, so Haddock inserts
-% the \end{tabulary} itself.
-\newcommand{\haddockbeginconstrs}{\begin{tabulary}{\linewidth}{@{}llJ@{}}}
-\newcommand{\haddockbeginargs}{\begin{tabulary}{\linewidth}{@{}llJ@{}}}
-
-\newcommand{\haddocktt}[1]{{\small \texttt{#1}}}
-\newcommand{\haddockdecltt}[1]{{\small\bfseries \texttt{#1}}}
-
-\makeatletter
-\newenvironment{haddockdesc}
- {\list{}{\labelwidth\z@ \itemindent-\leftmargin
- \let\makelabel\haddocklabel}}
- {\endlist}
-\newcommand*\haddocklabel[1]{\hspace\labelsep\haddockdecltt{#1}}
-\makeatother
-
-% after a declaration, start a new line for the documentation.
-% Otherwise, the documentation starts right after the declaration,
-% because we're using the list environment and the declaration is the
-% ``label''. I tried making this newline part of the label, but
-% couldn't get that to work reliably (the space seemed to stretch
-% sometimes).
-\newcommand{\haddockbegindoc}{\hfill\\[1ex]}
-
-% spacing between paragraphs and no \parindent looks better
-\parskip=10pt plus2pt minus2pt
-\setlength{\parindent}{0cm}
diff --git a/latex-test/ref/Simple/main.tex b/latex-test/ref/Simple/main.tex
deleted file mode 100644
index 36536981..00000000
--- a/latex-test/ref/Simple/main.tex
+++ /dev/null
@@ -1,11 +0,0 @@
-\documentclass{book}
-\usepackage{haddock}
-\begin{document}
-\begin{titlepage}
-\begin{haddocktitle}
-
-\end{haddocktitle}
-\end{titlepage}
-\tableofcontents
-\input{Simple}
-\end{document} \ No newline at end of file
diff --git a/latex-test/ref/TypeFamilies3/TypeFamilies3.tex b/latex-test/ref/TypeFamilies3/TypeFamilies3.tex
index 2a8ad297..d8787704 100644
--- a/latex-test/ref/TypeFamilies3/TypeFamilies3.tex
+++ b/latex-test/ref/TypeFamilies3/TypeFamilies3.tex
@@ -3,42 +3,42 @@
\haddockbeginheader
{\haddockverb\begin{verbatim}
module TypeFamilies3 (
- Foo, Bar, Baz(Baz3, Baz2, Baz1)
+ Foo, Bar, Baz(Baz3, Baz2, Baz1)
) where\end{verbatim}}
\haddockendheader
\begin{haddockdesc}
\item[\begin{tabular}{@{}l}
-type\ family\ Foo\ a\ where
-\end{tabular}]\haddockbegindoc
+type family Foo a where
+\end{tabular}]
+{\haddockbegindoc
\haddockbeginargs
\haddockdecltt{Foo () = Int} \\
-\haddockdecltt{Foo \_ = ()} \\
+\haddockdecltt{Foo {\char '137} = ()} \\
\end{tabulary}\par
-A closed type family\par
-
+A closed type family\par}
\end{haddockdesc}
\begin{haddockdesc}
\item[\begin{tabular}{@{}l}
-type\ family\ Bar\ a
-\end{tabular}]\haddockbegindoc
-An open family\par
-
+type family Bar a
+\end{tabular}]
+{\haddockbegindoc
+An open family\par}
\end{haddockdesc}
\begin{haddockdesc}
\item[\begin{tabular}{@{}l}
-type\ instance\ Bar\ Int\ =\ ()\\type\ instance\ Bar\ ()\ =\ Int
+type instance Bar Int = ()\\type instance Bar () = Int
\end{tabular}]
\end{haddockdesc}
\begin{haddockdesc}
\item[\begin{tabular}{@{}l}
-data\ family\ Baz\ a
-\end{tabular}]\haddockbegindoc
-A data family\par
-
+data family Baz a
+\end{tabular}]
+{\haddockbegindoc
+A data family\par}
\end{haddockdesc}
\begin{haddockdesc}
\item[\begin{tabular}{@{}l}
-newtype\ instance\ Baz\ Double\\data\ instance\ Baz\ Int\\data\ instance\ Baz\ ()
+newtype instance Baz Double\\data instance Baz Int\\data instance Baz ()
\end{tabular}]
\end{haddockdesc} \ No newline at end of file
diff --git a/latex-test/ref/TypeFamilies3/haddock.sty b/latex-test/ref/TypeFamilies3/haddock.sty
deleted file mode 100644
index 6e031a98..00000000
--- a/latex-test/ref/TypeFamilies3/haddock.sty
+++ /dev/null
@@ -1,57 +0,0 @@
-% Default Haddock style definitions. To use your own style, invoke
-% Haddock with the option --latex-style=mystyle.
-
-\usepackage{tabulary} % see below
-
-% make hyperlinks in the PDF, and add an expandabale index
-\usepackage[pdftex,bookmarks=true]{hyperref}
-
-\newenvironment{haddocktitle}
- {\begin{center}\bgroup\large\bfseries}
- {\egroup\end{center}}
-\newenvironment{haddockprologue}{\vspace{1in}}{}
-
-\newcommand{\haddockmoduleheading}[1]{\chapter{\texttt{#1}}}
-
-\newcommand{\haddockbeginheader}{\hrulefill}
-\newcommand{\haddockendheader}{\noindent\hrulefill}
-
-% a little gap before the ``Methods'' header
-\newcommand{\haddockpremethods}{\vspace{2ex}}
-
-% inserted before \\begin{verbatim}
-\newcommand{\haddockverb}{\small}
-
-% an identifier: add an index entry
-\newcommand{\haddockid}[1]{\haddocktt{#1}\index{#1@\texttt{#1}}}
-
-% The tabulary environment lets us have a column that takes up ``the
-% rest of the space''. Unfortunately it doesn't allow
-% the \end{tabulary} to be in the expansion of a macro, it must appear
-% literally in the document text, so Haddock inserts
-% the \end{tabulary} itself.
-\newcommand{\haddockbeginconstrs}{\begin{tabulary}{\linewidth}{@{}llJ@{}}}
-\newcommand{\haddockbeginargs}{\begin{tabulary}{\linewidth}{@{}llJ@{}}}
-
-\newcommand{\haddocktt}[1]{{\small \texttt{#1}}}
-\newcommand{\haddockdecltt}[1]{{\small\bfseries \texttt{#1}}}
-
-\makeatletter
-\newenvironment{haddockdesc}
- {\list{}{\labelwidth\z@ \itemindent-\leftmargin
- \let\makelabel\haddocklabel}}
- {\endlist}
-\newcommand*\haddocklabel[1]{\hspace\labelsep\haddockdecltt{#1}}
-\makeatother
-
-% after a declaration, start a new line for the documentation.
-% Otherwise, the documentation starts right after the declaration,
-% because we're using the list environment and the declaration is the
-% ``label''. I tried making this newline part of the label, but
-% couldn't get that to work reliably (the space seemed to stretch
-% sometimes).
-\newcommand{\haddockbegindoc}{\hfill\\[1ex]}
-
-% spacing between paragraphs and no \parindent looks better
-\parskip=10pt plus2pt minus2pt
-\setlength{\parindent}{0cm}
diff --git a/latex-test/ref/TypeFamilies3/main.tex b/latex-test/ref/TypeFamilies3/main.tex
deleted file mode 100644
index 2c98043c..00000000
--- a/latex-test/ref/TypeFamilies3/main.tex
+++ /dev/null
@@ -1,11 +0,0 @@
-\documentclass{book}
-\usepackage{haddock}
-\begin{document}
-\begin{titlepage}
-\begin{haddocktitle}
-
-\end{haddocktitle}
-\end{titlepage}
-\tableofcontents
-\input{TypeFamilies3}
-\end{document} \ No newline at end of file
diff --git a/latex-test/ref/UnboxedStuff/UnboxedStuff.tex b/latex-test/ref/UnboxedStuff/UnboxedStuff.tex
index 36d5c12b..990d2a5b 100644
--- a/latex-test/ref/UnboxedStuff/UnboxedStuff.tex
+++ b/latex-test/ref/UnboxedStuff/UnboxedStuff.tex
@@ -3,34 +3,34 @@
\haddockbeginheader
{\haddockverb\begin{verbatim}
module UnboxedStuff (
- X, Y, Z, unboxedUnit, unboxedTuple, unboxedSum
+ X, Y, Z, unboxedUnit, unboxedTuple, unboxedSum
) where\end{verbatim}}
\haddockendheader
\begin{haddockdesc}
\item[\begin{tabular}{@{}l}
-data\ X
+data X
\end{tabular}]
\end{haddockdesc}
\begin{haddockdesc}
\item[\begin{tabular}{@{}l}
-data\ Y
+data Y
\end{tabular}]
\end{haddockdesc}
\begin{haddockdesc}
\item[\begin{tabular}{@{}l}
-data\ Z
+data Z
\end{tabular}]
\end{haddockdesc}
\section{Unboxed type constructors}
\begin{haddockdesc}
-\item[
-unboxedUnit\ ::\ ({\char '43}\ {\char '43})\ ->\ ({\char '43}\ {\char '43})
-]
-\item[
-unboxedTuple\ ::\ ({\char '43}\ X,\ Y\ {\char '43})\ ->\ ({\char '43}\ X,\ Y,\ Z\ {\char '43})
-]
-\item[
-unboxedSum\ ::\ ({\char '43}\ X\ |\ Y\ {\char '43})\ ->\ ({\char '43}\ X\ |\ Y\ |\ Z\ {\char '43})
-]
+\item[\begin{tabular}{@{}l}
+unboxedUnit :: ({\char '43} {\char '43}) -> ({\char '43} {\char '43})
+\end{tabular}]
+\item[\begin{tabular}{@{}l}
+unboxedTuple :: ({\char '43} X, Y {\char '43}) -> ({\char '43} X, Y, Z {\char '43})
+\end{tabular}]
+\item[\begin{tabular}{@{}l}
+unboxedSum :: ({\char '43} X | Y {\char '43}) -> ({\char '43} X | Y | Z {\char '43})
+\end{tabular}]
\end{haddockdesc} \ No newline at end of file
diff --git a/latex-test/ref/UnboxedStuff/haddock.sty b/latex-test/ref/UnboxedStuff/haddock.sty
deleted file mode 100644
index 6e031a98..00000000
--- a/latex-test/ref/UnboxedStuff/haddock.sty
+++ /dev/null
@@ -1,57 +0,0 @@
-% Default Haddock style definitions. To use your own style, invoke
-% Haddock with the option --latex-style=mystyle.
-
-\usepackage{tabulary} % see below
-
-% make hyperlinks in the PDF, and add an expandabale index
-\usepackage[pdftex,bookmarks=true]{hyperref}
-
-\newenvironment{haddocktitle}
- {\begin{center}\bgroup\large\bfseries}
- {\egroup\end{center}}
-\newenvironment{haddockprologue}{\vspace{1in}}{}
-
-\newcommand{\haddockmoduleheading}[1]{\chapter{\texttt{#1}}}
-
-\newcommand{\haddockbeginheader}{\hrulefill}
-\newcommand{\haddockendheader}{\noindent\hrulefill}
-
-% a little gap before the ``Methods'' header
-\newcommand{\haddockpremethods}{\vspace{2ex}}
-
-% inserted before \\begin{verbatim}
-\newcommand{\haddockverb}{\small}
-
-% an identifier: add an index entry
-\newcommand{\haddockid}[1]{\haddocktt{#1}\index{#1@\texttt{#1}}}
-
-% The tabulary environment lets us have a column that takes up ``the
-% rest of the space''. Unfortunately it doesn't allow
-% the \end{tabulary} to be in the expansion of a macro, it must appear
-% literally in the document text, so Haddock inserts
-% the \end{tabulary} itself.
-\newcommand{\haddockbeginconstrs}{\begin{tabulary}{\linewidth}{@{}llJ@{}}}
-\newcommand{\haddockbeginargs}{\begin{tabulary}{\linewidth}{@{}llJ@{}}}
-
-\newcommand{\haddocktt}[1]{{\small \texttt{#1}}}
-\newcommand{\haddockdecltt}[1]{{\small\bfseries \texttt{#1}}}
-
-\makeatletter
-\newenvironment{haddockdesc}
- {\list{}{\labelwidth\z@ \itemindent-\leftmargin
- \let\makelabel\haddocklabel}}
- {\endlist}
-\newcommand*\haddocklabel[1]{\hspace\labelsep\haddockdecltt{#1}}
-\makeatother
-
-% after a declaration, start a new line for the documentation.
-% Otherwise, the documentation starts right after the declaration,
-% because we're using the list environment and the declaration is the
-% ``label''. I tried making this newline part of the label, but
-% couldn't get that to work reliably (the space seemed to stretch
-% sometimes).
-\newcommand{\haddockbegindoc}{\hfill\\[1ex]}
-
-% spacing between paragraphs and no \parindent looks better
-\parskip=10pt plus2pt minus2pt
-\setlength{\parindent}{0cm}
diff --git a/latex-test/ref/UnboxedStuff/main.tex b/latex-test/ref/UnboxedStuff/main.tex
deleted file mode 100644
index e34c5f14..00000000
--- a/latex-test/ref/UnboxedStuff/main.tex
+++ /dev/null
@@ -1,11 +0,0 @@
-\documentclass{book}
-\usepackage{haddock}
-\begin{document}
-\begin{titlepage}
-\begin{haddocktitle}
-
-\end{haddocktitle}
-\end{titlepage}
-\tableofcontents
-\input{UnboxedStuff}
-\end{document} \ No newline at end of file
diff --git a/latex-test/src/Example/Example.hs b/latex-test/src/Example/Example.hs
new file mode 100644
index 00000000..42ff1646
--- /dev/null
+++ b/latex-test/src/Example/Example.hs
@@ -0,0 +1,11 @@
+module Example where
+
+-- | Example use.
+--
+-- >>> split 1
+-- ()
+--
+-- >>> split 2
+-- ()
+split :: Int -> ()
+split _ = ()