@@ -18,6 +18,7 @@ module Language.PureScript.Docs.RenderedCode.Types
@@ -46,7 +47,7 @@ import qualified Language.PureScript as P
47data RenderedCodeElement
48data RenderedCodeElement
48 = Syntax String
49 = Syntax String
49− | Ident String
50+ | Ident String ContainingModule
50 | Ctor String ContainingModule
51 | Ctor String ContainingModule
51 | Kind String
52 | Kind String
52 | Keyword String
53 | Keyword String
@@ -56,8 +57,8 @@ data RenderedCodeElement
56instance A.ToJSON RenderedCodeElement where
57instance A.ToJSON RenderedCodeElement where
57 toJSON (Syntax str) =
58 toJSON (Syntax str) =
58 A.toJSON ["syntax", str]
59 A.toJSON ["syntax", str]
59− toJSON (Ident str) =
60+ toJSON (Ident str mn) =
60− A.toJSON ["ident", str]
61+ A.toJSON ["ident", A.toJSON str, A.toJSON mn]
61 toJSON (Ctor str mn) =
62 toJSON (Ctor str mn) =
62 A.toJSON ["ctor", A.toJSON str, A.toJSON mn ]
63 A.toJSON ["ctor", A.toJSON str, A.toJSON mn ]
63 toJSON (Kind str) =
64 toJSON (Kind str) =
@@ -70,7 +71,7 @@ instance A.ToJSON RenderedCodeElement where
70asRenderedCodeElement :: Parse String RenderedCodeElement
71asRenderedCodeElement :: Parse String RenderedCodeElement
71asRenderedCodeElement =
72asRenderedCodeElement =
72 a Syntax "syntax" <|>
73 a Syntax "syntax" <|>
73− a Ident "ident" <|>
74+ asIdent <|>
74 asCtor <|>
75 asCtor <|>
75 a Kind "kind" <|>
76 a Kind "kind" <|>
76 a Keyword "keyword" <|>
77 a Keyword "keyword" <|>
@@ -80,6 +81,7 @@ asRenderedCodeElement =
80 p <|> q = catchError p (const q)
81 p <|> q = catchError p (const q)
82 a ctor' ctorStr = ctor' <$> (nth 0 (withString (eq ctorStr)) *> nth 1 asString)
83 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)
83 asCtor = nth 0 (withString (eq "ctor")) *> (Ctor <$> nth 1 asString <*> nth 2 asContainingModule)
85 asCtor = nth 0 (withString (eq "ctor")) *> (Ctor <$> nth 1 asString <*> nth 2 asContainingModule)
84 asSpace = nth 0 (withString (eq "space")) *> pure Space
86 asSpace = nth 0 (withString (eq "space")) *> pure Space
@@ -159,7 +161,10 @@ syntax :: String -> RenderedCode
159syntax x = RC [Syntax x]
161syntax x = RC [Syntax x]
161ident :: String -> RenderedCode
163ident :: String -> RenderedCode
162−ident x = RC [Ident x]
164+ident x = RC [Ident x ThisModule]
166+ident' :: String -> ContainingModule -> RenderedCode
167+ident' x m = RC [Ident x m]
164ctor :: String -> ContainingModule -> RenderedCode
169ctor :: String -> ContainingModule -> RenderedCode
165ctor x m = RC [Ctor x m]
170ctor x m = RC [Ctor x m]