| Safe Haskell | Safe-Inferred |
|---|---|
| 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 Source #
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 Source #
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 Source #
Convert a Maybe ModuleName to a ContainingModule, using the obvious
isomorphism.
fromQualified :: Qualified a -> (ContainingModule, a) Source #
Constructors
| ValueLevel | |
| TypeLevel |
Instances
Constructors
| NoLink | |
| Link ContainingModule |
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 #