Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
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 Source #
A single element in a rendered code fragment. The intention is to support multiple output formats. For example, plain text, or highlighted HTML.
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 Source #
This type is isomorphic to Maybe
ModuleName
. It makes code a bit
easier to read, as the meaning is more explicit.
Instances
maybeToContainingModule :: Maybe ModuleName -> ContainingModule Source #
Convert a Maybe
ModuleName
to a ContainingModule
, using the obvious
isomorphism.
fromQualified :: Qualified a -> (ContainingModule, a) Source #
Instances
type FixityAlias = Qualified (Either (ProperName 'TypeName) (Either Ident (ProperName 'ConstructorName))) Source #
data RenderedCode Source #
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 Source #
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 Source #
A RenderedCode
fragment representing a space.
syntax :: Text -> RenderedCode Source #
keyword :: Text -> RenderedCode Source #
typeCtor :: Qualified (ProperName 'TypeName) -> RenderedCode Source #
typeOp :: Qualified (OpName 'TypeOpName) -> RenderedCode Source #
typeVar :: Text -> RenderedCode Source #
alias :: FixityAlias -> RenderedCode Source #
aliasName :: FixityAlias -> Text -> RenderedCode Source #