diff options
| author | Łukasz Hanuszczak <lukasz.hanuszczak@gmail.com> | 2015-06-29 23:41:10 +0200 | 
|---|---|---|
| committer | Łukasz Hanuszczak <lukasz.hanuszczak@gmail.com> | 2015-06-30 22:37:50 +0200 | 
| commit | 7d269444ea9c55a2b364ead45fe06d435fa078b2 (patch) | |
| tree | fe1b8ec2a1a10eb9fb2fc18f9321a742f52c530b /haddock-api/src | |
| parent | a1d3cb1d86340cd670e50f88e1cb8bf4a4e64f7b (diff) | |
Add support for hyperlinking field names in record expressions.
Diffstat (limited to 'haddock-api/src')
| -rw-r--r-- | haddock-api/src/Haddock/Backends/Hyperlinker/Ast.hs | 8 | 
1 files changed, 7 insertions, 1 deletions
| diff --git a/haddock-api/src/Haddock/Backends/Hyperlinker/Ast.hs b/haddock-api/src/Haddock/Backends/Hyperlinker/Ast.hs index 3b0e0f44..c41b5e5f 100644 --- a/haddock-api/src/Haddock/Backends/Hyperlinker/Ast.hs +++ b/haddock-api/src/Haddock/Backends/Hyperlinker/Ast.hs @@ -69,11 +69,17 @@ enrichToken _ _ = Nothing  -- | Obtain details map for variables ("normally" used identifiers).  variables :: GHC.RenamedSource -> DetailsMap  variables = -    everything (<|>) var +    everything (<|>) (var `combine` rec)    where      var term = case cast term of          (Just (GHC.L sspan (GHC.HsVar name))) ->              pure (sspan, RtkVar name) +        (Just (GHC.L _ (GHC.RecordCon (GHC.L sspan name) _ _))) -> +            pure (sspan, RtkVar name) +        _ -> empty +    rec term = case cast term of +        Just (GHC.HsRecField (GHC.L sspan name) (_ :: GHC.LHsExpr GHC.Name) _) -> +            pure (sspan, RtkVar name)          _ -> empty  -- | Obtain details map for types. | 
