Safe Haskell | None |
---|---|
Language | Haskell2010 |
Language.PureScript.Docs.RenderedCode.Types
Description
Data types and functions for representing a simplified form of PureScript code, intended for use in e.g. HTML documentation.
Synopsis
- data RenderedCodeElement
- data ContainingModule
- asContainingModule :: Parse Text ContainingModule
- maybeToContainingModule :: Maybe ModuleName -> ContainingModule
- fromQualified :: Qualified a -> (ContainingModule, a)
- data Namespace
- data Link
- type FixityAlias = Qualified (Either (ProperName 'TypeName) (Either Ident (ProperName 'ConstructorName)))
- data RenderedCode
- outputWith :: Monoid a => (RenderedCodeElement -> a) -> RenderedCode -> a
- sp :: RenderedCode
- syntax :: Text -> RenderedCode
- keyword :: Text -> RenderedCode
- keywordForall :: RenderedCode
- keywordData :: RenderedCode
- keywordType :: RenderedCode
- keywordClass :: RenderedCode
- keywordWhere :: RenderedCode
- keywordFixity :: Associativity -> RenderedCode
- keywordAs :: RenderedCode
- ident :: Qualified Ident -> RenderedCode
- dataCtor :: Qualified (ProperName 'ConstructorName) -> RenderedCode
- typeCtor :: Qualified (ProperName 'TypeName) -> RenderedCode
- typeOp :: Qualified (OpName 'TypeOpName) -> RenderedCode
- typeVar :: Text -> RenderedCode
- roleAnn :: Maybe Text -> RenderedCode
- alias :: FixityAlias -> RenderedCode
- aliasName :: FixityAlias -> Text -> RenderedCode
Documentation
data RenderedCodeElement #
A single element in a rendered code fragment. The intention is to support multiple output formats. For example, plain text, or highlighted HTML.
Constructors
Syntax Text | |
Keyword Text | |
Space | |
Symbol Namespace Text Link | Any symbol which you might or might not want to link to, in any namespace (value, type, or kind). Note that this is not related to the kind called Symbol for type-level strings. |
Role Text |
Instances
data ContainingModule #
This type is isomorphic to Maybe
ModuleName
. It makes code a bit
easier to read, as the meaning is more explicit.
Constructors
ThisModule | |
OtherModule ModuleName |
Instances
maybeToContainingModule :: Maybe ModuleName -> ContainingModule #
Convert a Maybe
ModuleName
to a ContainingModule
, using the obvious
isomorphism.
fromQualified :: Qualified a -> (ContainingModule, a) #
Constructors
ValueLevel | |
TypeLevel |
Instances
FromJSON Namespace # | |||||
Defined in Language.PureScript.Docs.RenderedCode.Types | |||||
ToJSON Namespace # | |||||
NFData Namespace # | |||||
Defined in Language.PureScript.Docs.RenderedCode.Types | |||||
Generic Namespace # | |||||
Defined in Language.PureScript.Docs.RenderedCode.Types Associated Types
| |||||
Show Namespace # | |||||
Eq Namespace # | |||||
Ord Namespace # | |||||
Defined in Language.PureScript.Docs.RenderedCode.Types | |||||
type Rep Namespace # | |||||
Defined in Language.PureScript.Docs.RenderedCode.Types |
Constructors
NoLink | |
Link ContainingModule |
type FixityAlias = Qualified (Either (ProperName 'TypeName) (Either Ident (ProperName 'ConstructorName))) #
data RenderedCode #
A type representing a highly simplified version of PureScript code, intended for use in output formats like plain text or HTML.
Instances
outputWith :: Monoid a => (RenderedCodeElement -> a) -> RenderedCode -> a #
This function allows conversion of a RenderedCode
value into a value of
some other type (for example, plain text, or HTML). The first argument
is a function specifying how each individual RenderedCodeElement
should be
rendered.
sp :: RenderedCode #
A RenderedCode
fragment representing a space.
syntax :: Text -> RenderedCode #
keyword :: Text -> RenderedCode #
ident :: Qualified Ident -> RenderedCode #
dataCtor :: Qualified (ProperName 'ConstructorName) -> RenderedCode #
typeCtor :: Qualified (ProperName 'TypeName) -> RenderedCode #
typeOp :: Qualified (OpName 'TypeOpName) -> RenderedCode #
typeVar :: Text -> RenderedCode #
roleAnn :: Maybe Text -> RenderedCode #
alias :: FixityAlias -> RenderedCode #
aliasName :: FixityAlias -> Text -> RenderedCode #