@@ -18,6 +18,7 @@ module Language.PureScript.Docs.RenderedCode.Types
1818 , sp
1919 , syntax
2020 , ident
21+ , ident'
2122 , ctor
2223 , kind
2324 , keyword
@@ -46,7 +47,7 @@ import qualified Language.PureScript as P
4647--
4748data RenderedCodeElement
4849 = Syntax String
49− | Ident String
50+ | Ident String ContainingModule
5051 | Ctor String ContainingModule
5152 | Kind String
5253 | Keyword String
@@ -56,8 +57,8 @@ data RenderedCodeElement
5657instance A.ToJSON RenderedCodeElement where
5758 toJSON (Syntax str) =
5859 A.toJSON ["syntax", str]
59− toJSON (Ident str) =
60− A.toJSON ["ident", str]
60+ toJSON (Ident str mn) =
61+ A.toJSON ["ident", A.toJSON str, A.toJSON mn]
6162 toJSON (Ctor str mn) =
6263 A.toJSON ["ctor", A.toJSON str, A.toJSON mn ]
6364 toJSON (Kind str) =
@@ -70,7 +71,7 @@ instance A.ToJSON RenderedCodeElement where
7071asRenderedCodeElement :: Parse String RenderedCodeElement
7172asRenderedCodeElement =
7273 a Syntax "syntax" <|>
73− a Ident "ident" <|>
74+ asIdent <|>
7475 asCtor <|>
7576 a Kind "kind" <|>
7677 a Keyword "keyword" <|>
@@ -80,6 +81,7 @@ asRenderedCodeElement =
8081 p <|> q = catchError p (const q)
8182
8283 a ctor' ctorStr = ctor' <$> (nth 0 (withString (eq ctorStr)) *> nth 1 asString)
84+ asIdent = nth 0 (withString (eq "ident")) *> (Ident <$> nth 1 asString <*> nth 2 asContainingModule)
8385 asCtor = nth 0 (withString (eq "ctor")) *> (Ctor <$> nth 1 asString <*> nth 2 asContainingModule)
8486 asSpace = nth 0 (withString (eq "space")) *> pure Space
8587
@@ -159,7 +161,10 @@ syntax :: String -> RenderedCode
159161syntax x = RC [Syntax x]
160162
161163ident :: String -> RenderedCode
162−ident x = RC [Ident x]
164+ident x = RC [Ident x ThisModule]
165+
166+ident' :: String -> ContainingModule -> RenderedCode
167+ident' x m = RC [Ident x m]
163168
164169ctor :: String -> ContainingModule -> RenderedCode
165170ctor x m = RC [Ctor x m]