aboutsummaryrefslogtreecommitdiff
path: root/haddock-api/src/Haddock/Backends/Hyperlinker
diff options
context:
space:
mode:
authorŁukasz Hanuszczak <lukasz.hanuszczak@gmail.com>2015-06-22 17:41:31 +0200
committerŁukasz Hanuszczak <lukasz.hanuszczak@gmail.com>2015-06-30 22:37:49 +0200
commita6bd86a8550d5d7e8bdb12e1d09036b9f88eed73 (patch)
tree7b140190e68418ebe3a3ff9c8dfc984c643cf7de /haddock-api/src/Haddock/Backends/Hyperlinker
parent6f16398a26a12d58b3ba7f1924e2b6b00e68f5f7 (diff)
Add support for fancy highlighting upon hovering over identifier.
Diffstat (limited to 'haddock-api/src/Haddock/Backends/Hyperlinker')
-rw-r--r--haddock-api/src/Haddock/Backends/Hyperlinker/Renderer.hs23
1 files changed, 15 insertions, 8 deletions
diff --git a/haddock-api/src/Haddock/Backends/Hyperlinker/Renderer.hs b/haddock-api/src/Haddock/Backends/Hyperlinker/Renderer.hs
index 70524759..6d6d2012 100644
--- a/haddock-api/src/Haddock/Backends/Hyperlinker/Renderer.hs
+++ b/haddock-api/src/Haddock/Backends/Hyperlinker/Renderer.hs
@@ -16,21 +16,28 @@ import qualified Text.XHtml as Html
type StyleClass = String
-render :: Maybe FilePath -> [RichToken] -> Html
-render css tokens = header css <> body tokens
+render :: Maybe FilePath -> Maybe FilePath -> [RichToken] -> Html
+render mcss mjs tokens = header mcss mjs <> body tokens
body :: [RichToken] -> Html
body = Html.body . Html.pre . mconcat . map richToken
-header :: Maybe FilePath -> Html
-header Nothing = Html.noHtml
-header (Just css) =
- Html.header $ Html.thelink Html.noHtml ! attrs
+header :: Maybe FilePath -> Maybe FilePath -> Html
+header mcss mjs
+ | isNothing mcss && isNothing mjs = Html.noHtml
+header mcss mjs =
+ Html.header $ css mcss <> js mjs
where
- attrs =
+ css Nothing = Html.noHtml
+ css (Just cssFile) = Html.thelink Html.noHtml !
[ Html.rel "stylesheet"
- , Html.href css
, Html.thetype "text/css"
+ , Html.href cssFile
+ ]
+ js Nothing = Html.noHtml
+ js (Just jsFile) = Html.script Html.noHtml !
+ [ Html.thetype "text/javascript"
+ , Html.src jsFile
]
richToken :: RichToken -> Html