typst-0.6.2: Parsing and evaluating typst syntax.
Safe HaskellNone
LanguageHaskell2010

Typst.Types

Synopsis

Documentation

data RE #

A regular expression. Note that typst-hs does not use the same Regex engine as Typst. See issue #28.

Instances

Instances details
Show RE # 
Instance details

Defined in Typst.Regex

Methods

showsPrec :: Int -> RE -> ShowS #

show :: RE -> String #

showList :: [RE] -> ShowS #

Eq RE # 
Instance details

Defined in Typst.Regex

Methods

(==) :: RE -> RE -> Bool #

(/=) :: RE -> RE -> Bool #

Ord RE # 
Instance details

Defined in Typst.Regex

Methods

compare :: RE -> RE -> Ordering #

(<) :: RE -> RE -> Bool #

(<=) :: RE -> RE -> Bool #

(>) :: RE -> RE -> Bool #

(>=) :: RE -> RE -> Bool #

max :: RE -> RE -> RE #

min :: RE -> RE -> RE #

FromVal RE # 
Instance details

Defined in Typst.Types

Methods

fromVal :: (MonadPlus m, MonadFail m) => Val -> m RE #

data Val #

A Typst value. More documentation can be found in the Foundations chapter of the Typst reference manual. A more concise (but somewhat outdated) summary can also be found in L. Mädje "Typst: a programmable markup language for typesetting", page 32-33.

Constructors

VNone

The none value, indicates the absence of any other value.

VAuto

The auto value, used to automatically set an appropriate value.

VBoolean !Bool

A bool value.

VInteger !Integer

An int value.

VFloat !Double

A float value.

VRatio !Rational

A ratio value, a proportion of a certain whole, for example 50%.

VLength !Length

A length or a relative value.

VAlignment (Maybe Horiz) (Maybe Vert)

An alignment value, indicating the alignment of some content along both the horizontal and vertical axes.

VAngle !Double

An angle value (expressed internally in degrees).

VFraction !Double

A fraction value, defining the proportions of remaing space is to be distributed, e.g. 2 fr.

VColor !Color

A color value. Not all Typst color spaces are supported; only rgb, cmyk, and luma are available. See issue #35.

VSymbol !Symbol

A symbol value, representing a Unicode symbol.

VString !Text

A UTF-8 encoded text string.

VRegex !RE

A regex (regular expression). See RE for details.

VDateTime (Maybe Day) (Maybe DiffTime)

A datetime value, a date, a time, or a combination of both.

VContent (Seq Content)

A content value, see Content for more details.

VArray (Vector Val)

An array value, for example (10, 20, 30).

VDict (OMap Identifier Val)

A dictionary value, for example (a:20, b:30).

VTermItem (Seq Content) (Seq Content) 
VDirection Direction

A direction to lay out content.

VFunction (Maybe Identifier) (Map Identifier Val) Function

A Typst function.

VArguments Arguments

Positional and named function arguments

VLabel !Text

A label to some element, for example hello.

VCounter !Counter 
VSelector !Selector 
VModule Identifier (Map Identifier Val) 
VStyles 
VVersion [Integer] 
VType !ValType 

Instances

Instances details
FromJSON Val # 
Instance details

Defined in Typst.Types

Show Val # 
Instance details

Defined in Typst.Types

Methods

showsPrec :: Int -> Val -> ShowS #

show :: Val -> String #

showList :: [Val] -> ShowS #

Eq Val # 
Instance details

Defined in Typst.Types

Methods

(==) :: Val -> Val -> Bool #

(/=) :: Val -> Val -> Bool #

Ord Val # 
Instance details

Defined in Typst.Types

Methods

compare :: Val -> Val -> Ordering #

(<) :: Val -> Val -> Bool #

(<=) :: Val -> Val -> Bool #

(>) :: Val -> Val -> Bool #

(>=) :: Val -> Val -> Bool #

max :: Val -> Val -> Val #

min :: Val -> Val -> Val #

FromValue Val # 
Instance details

Defined in Typst.Types

Compare Val # 
Instance details

Defined in Typst.Types

Methods

comp :: Val -> Val -> Maybe Ordering #

FromVal Val # 
Instance details

Defined in Typst.Types

Methods

fromVal :: (MonadPlus m, MonadFail m) => Val -> m Val #

Multipliable Val # 
Instance details

Defined in Typst.Types

Negatable Val # 
Instance details

Defined in Typst.Types

Methods

maybeNegate :: Val -> Maybe Val #

Summable Val # 
Instance details

Defined in Typst.Types

Methods

maybePlus :: Val -> Val -> Maybe Val #

maybeMinus :: Val -> Val -> Maybe Val #

data ValType #

A Typst type, see documentation for Val.

Instances

Instances details
Show ValType # 
Instance details

Defined in Typst.Types

Eq ValType # 
Instance details

Defined in Typst.Types

Methods

(==) :: ValType -> ValType -> Bool #

(/=) :: ValType -> ValType -> Bool #

Ord ValType # 
Instance details

Defined in Typst.Types

class FromVal a where #

Methods

fromVal :: (MonadPlus m, MonadFail m) => Val -> m a #

Instances

Instances details
FromVal Rational # 
Instance details

Defined in Typst.Types

Methods

fromVal :: (MonadPlus m, MonadFail m) => Val -> m Rational #

FromVal Text # 
Instance details

Defined in Typst.Types

Methods

fromVal :: (MonadPlus m, MonadFail m) => Val -> m Text #

FromVal RE # 
Instance details

Defined in Typst.Types

Methods

fromVal :: (MonadPlus m, MonadFail m) => Val -> m RE #

FromVal Counter # 
Instance details

Defined in Typst.Types

Methods

fromVal :: (MonadPlus m, MonadFail m) => Val -> m Counter #

FromVal Direction # 
Instance details

Defined in Typst.Types

Methods

fromVal :: (MonadPlus m, MonadFail m) => Val -> m Direction #

FromVal Function # 
Instance details

Defined in Typst.Types

Methods

fromVal :: (MonadPlus m, MonadFail m) => Val -> m Function #

FromVal Length # 
Instance details

Defined in Typst.Types

Methods

fromVal :: (MonadPlus m, MonadFail m) => Val -> m Length #

FromVal Selector # 
Instance details

Defined in Typst.Types

Methods

fromVal :: (MonadPlus m, MonadFail m) => Val -> m Selector #

FromVal Val # 
Instance details

Defined in Typst.Types

Methods

fromVal :: (MonadPlus m, MonadFail m) => Val -> m Val #

FromVal Integer # 
Instance details

Defined in Typst.Types

Methods

fromVal :: (MonadPlus m, MonadFail m) => Val -> m Integer #

FromVal String # 
Instance details

Defined in Typst.Types

Methods

fromVal :: (MonadPlus m, MonadFail m) => Val -> m String #

FromVal Bool # 
Instance details

Defined in Typst.Types

Methods

fromVal :: (MonadPlus m, MonadFail m) => Val -> m Bool #

FromVal Double # 
Instance details

Defined in Typst.Types

Methods

fromVal :: (MonadPlus m, MonadFail m) => Val -> m Double #

FromVal Int # 
Instance details

Defined in Typst.Types

Methods

fromVal :: (MonadPlus m, MonadFail m) => Val -> m Int #

FromVal (Seq Content) # 
Instance details

Defined in Typst.Types

Methods

fromVal :: (MonadPlus m, MonadFail m) => Val -> m (Seq Content) #

FromVal a => FromVal (Vector a) # 
Instance details

Defined in Typst.Types

Methods

fromVal :: (MonadPlus m, MonadFail m) => Val -> m (Vector a) #

FromVal a => FromVal (Maybe a) # 
Instance details

Defined in Typst.Types

Methods

fromVal :: (MonadPlus m, MonadFail m) => Val -> m (Maybe a) #

class Negatable a where #

Methods

maybeNegate :: a -> Maybe a #

Instances

Instances details
Negatable Val # 
Instance details

Defined in Typst.Types

Methods

maybeNegate :: Val -> Maybe Val #

class Negatable a => Summable a where #

Minimal complete definition

maybePlus

Methods

maybePlus :: a -> a -> Maybe a #

maybeMinus :: a -> a -> Maybe a #

Instances

Instances details
Summable Val # 
Instance details

Defined in Typst.Types

Methods

maybePlus :: Val -> Val -> Maybe Val #

maybeMinus :: Val -> Val -> Maybe Val #

class Multipliable a where #

Methods

maybeTimes :: a -> a -> Maybe a #

maybeDividedBy :: a -> a -> Maybe a #

Instances

Instances details
Multipliable Val # 
Instance details

Defined in Typst.Types

data Symbol #

Constructors

Symbol 

Fields

Instances

Instances details
Show Symbol # 
Instance details

Defined in Typst.Types

Eq Symbol # 
Instance details

Defined in Typst.Types

Methods

(==) :: Symbol -> Symbol -> Bool #

(/=) :: Symbol -> Symbol -> Bool #

data Content #

Instances

Instances details
IsString Content # 
Instance details

Defined in Typst.Types

Methods

fromString :: String -> Content #

Show Content # 
Instance details

Defined in Typst.Types

Eq Content # 
Instance details

Defined in Typst.Types

Methods

(==) :: Content -> Content -> Bool #

(/=) :: Content -> Content -> Bool #

Ord Content # 
Instance details

Defined in Typst.Types

FromVal (Seq Content) # 
Instance details

Defined in Typst.Types

Methods

fromVal :: (MonadPlus m, MonadFail m) => Val -> m (Seq Content) #

newtype Function #

Constructors

Function (forall (m :: Type -> Type). Monad m => Arguments -> MP m Val) 

Instances

Instances details
Show Function # 
Instance details

Defined in Typst.Types

Eq Function # 
Instance details

Defined in Typst.Types

FromVal Function # 
Instance details

Defined in Typst.Types

Methods

fromVal :: (MonadPlus m, MonadFail m) => Val -> m Function #

data Arguments #

Constructors

Arguments 

Instances

Instances details
Monoid Arguments # 
Instance details

Defined in Typst.Types

Semigroup Arguments # 
Instance details

Defined in Typst.Types

Show Arguments # 
Instance details

Defined in Typst.Types

Eq Arguments # 
Instance details

Defined in Typst.Types

class Compare a where #

Methods

comp :: a -> a -> Maybe Ordering #

Instances

Instances details
Compare Val # 
Instance details

Defined in Typst.Types

Methods

comp :: Val -> Val -> Maybe Ordering #

type MP (m :: Type -> Type) = ParsecT [Markup] (EvalState m) m #

data Scope #

Constructors

FunctionScope 
BlockScope 

Instances

Instances details
Show Scope # 
Instance details

Defined in Typst.Types

Methods

showsPrec :: Int -> Scope -> ShowS #

show :: Scope -> String #

showList :: [Scope] -> ShowS #

Eq Scope # 
Instance details

Defined in Typst.Types

Methods

(==) :: Scope -> Scope -> Bool #

(/=) :: Scope -> Scope -> Bool #

Ord Scope # 
Instance details

Defined in Typst.Types

Methods

compare :: Scope -> Scope -> Ordering #

(<) :: Scope -> Scope -> Bool #

(<=) :: Scope -> Scope -> Bool #

(>) :: Scope -> Scope -> Bool #

(>=) :: Scope -> Scope -> Bool #

max :: Scope -> Scope -> Scope #

min :: Scope -> Scope -> Scope #

data XdgDirectory #

Special directories for storing user-specific application data, configuration, and cache files, as specified by the XDG Base Directory Specification.

Note: On Windows, XdgData and XdgConfig usually map to the same directory.

Since: directory-1.2.3.0

Constructors

XdgData

For data files (e.g. images). It uses the XDG_DATA_HOME environment variable. On non-Windows systems, the default is ~/.local/share. On Windows, the default is %APPDATA% (e.g. C:/Users/<user>/AppData/Roaming). Can be considered as the user-specific equivalent of /usr/share.

XdgConfig

For configuration files. It uses the XDG_CONFIG_HOME environment variable. On non-Windows systems, the default is ~/.config. On Windows, the default is %APPDATA% (e.g. C:/Users/<user>/AppData/Roaming). Can be considered as the user-specific equivalent of /etc.

XdgCache

For non-essential files (e.g. cache). It uses the XDG_CACHE_HOME environment variable. On non-Windows systems, the default is ~/.cache. On Windows, the default is %LOCALAPPDATA% (e.g. C:/Users/<user>/AppData/Local). Can be considered as the user-specific equivalent of /var/cache.

XdgState

For data that should persist between (application) restarts, but that is not important or portable enough to the user that it should be stored in XdgData. It uses the XDG_STATE_HOME environment variable. On non-Windows sytems, the default is ~/.local/state. On Windows, the default is %LOCALAPPDATA% (e.g. C:/Users/<user>/AppData/Local).

Since: directory-1.3.7.0

Instances

Instances details
Bounded XdgDirectory 
Instance details

Defined in System.Directory.Internal.Common

Enum XdgDirectory 
Instance details

Defined in System.Directory.Internal.Common

Read XdgDirectory 
Instance details

Defined in System.Directory.Internal.Common

Show XdgDirectory 
Instance details

Defined in System.Directory.Internal.Common

Eq XdgDirectory 
Instance details

Defined in System.Directory.Internal.Common

Ord XdgDirectory 
Instance details

Defined in System.Directory.Internal.Common

emptyEvalState :: forall (m :: Type -> Type). EvalState m #

data ShowRule #

Constructors

ShowRule Selector (forall (m :: Type -> Type). Monad m => Content -> MP m (Seq Content)) 

Instances

Instances details
Show ShowRule # 
Instance details

Defined in Typst.Types

data Counter #

Instances

Instances details
Show Counter # 
Instance details

Defined in Typst.Types

Eq Counter # 
Instance details

Defined in Typst.Types

Methods

(==) :: Counter -> Counter -> Bool #

(/=) :: Counter -> Counter -> Bool #

Ord Counter # 
Instance details

Defined in Typst.Types

FromVal Counter # 
Instance details

Defined in Typst.Types

Methods

fromVal :: (MonadPlus m, MonadFail m) => Val -> m Counter #

data LUnit #

Constructors

LEm 
LPt 
LIn 
LCm 
LMm 

Instances

Instances details
Show LUnit # 
Instance details

Defined in Typst.Types

Methods

showsPrec :: Int -> LUnit -> ShowS #

show :: LUnit -> String #

showList :: [LUnit] -> ShowS #

Eq LUnit # 
Instance details

Defined in Typst.Types

Methods

(==) :: LUnit -> LUnit -> Bool #

(/=) :: LUnit -> LUnit -> Bool #

data Length #

Instances

Instances details
Monoid Length # 
Instance details

Defined in Typst.Types

Semigroup Length # 
Instance details

Defined in Typst.Types

Show Length # 
Instance details

Defined in Typst.Types

Eq Length # 
Instance details

Defined in Typst.Types

Methods

(==) :: Length -> Length -> Bool #

(/=) :: Length -> Length -> Bool #

FromVal Length # 
Instance details

Defined in Typst.Types

Methods

fromVal :: (MonadPlus m, MonadFail m) => Val -> m Length #

data Horiz #

Instances

Instances details
Show Horiz # 
Instance details

Defined in Typst.Types

Methods

showsPrec :: Int -> Horiz -> ShowS #

show :: Horiz -> String #

showList :: [Horiz] -> ShowS #

Eq Horiz # 
Instance details

Defined in Typst.Types

Methods

(==) :: Horiz -> Horiz -> Bool #

(/=) :: Horiz -> Horiz -> Bool #

Ord Horiz # 
Instance details

Defined in Typst.Types

Methods

compare :: Horiz -> Horiz -> Ordering #

(<) :: Horiz -> Horiz -> Bool #

(<=) :: Horiz -> Horiz -> Bool #

(>) :: Horiz -> Horiz -> Bool #

(>=) :: Horiz -> Horiz -> Bool #

max :: Horiz -> Horiz -> Horiz #

min :: Horiz -> Horiz -> Horiz #

data Vert #

Instances

Instances details
Show Vert # 
Instance details

Defined in Typst.Types

Methods

showsPrec :: Int -> Vert -> ShowS #

show :: Vert -> String #

showList :: [Vert] -> ShowS #

Eq Vert # 
Instance details

Defined in Typst.Types

Methods

(==) :: Vert -> Vert -> Bool #

(/=) :: Vert -> Vert -> Bool #

Ord Vert # 
Instance details

Defined in Typst.Types

Methods

compare :: Vert -> Vert -> Ordering #

(<) :: Vert -> Vert -> Bool #

(<=) :: Vert -> Vert -> Bool #

(>) :: Vert -> Vert -> Bool #

(>=) :: Vert -> Vert -> Bool #

max :: Vert -> Vert -> Vert #

min :: Vert -> Vert -> Vert #

data Color #

Instances

Instances details
Show Color # 
Instance details

Defined in Typst.Types

Methods

showsPrec :: Int -> Color -> ShowS #

show :: Color -> String #

showList :: [Color] -> ShowS #

Eq Color # 
Instance details

Defined in Typst.Types

Methods

(==) :: Color -> Color -> Bool #

(/=) :: Color -> Color -> Bool #

Ord Color # 
Instance details

Defined in Typst.Types

Methods

compare :: Color -> Color -> Ordering #

(<) :: Color -> Color -> Bool #

(<=) :: Color -> Color -> Bool #

(>) :: Color -> Color -> Bool #

(>=) :: Color -> Color -> Bool #

max :: Color -> Color -> Color #

min :: Color -> Color -> Color #

data Direction #

Constructors

Ltr

Left to right

Rtl

Right to left

Ttb

Top to bottom

Btt

Bottom to top

Instances

Instances details
Show Direction # 
Instance details

Defined in Typst.Types

Eq Direction # 
Instance details

Defined in Typst.Types

Ord Direction # 
Instance details

Defined in Typst.Types

FromVal Direction # 
Instance details

Defined in Typst.Types

Methods

fromVal :: (MonadPlus m, MonadFail m) => Val -> m Direction #

newtype Identifier #

Constructors

Identifier Text 

Instances

Instances details
Monoid Identifier # 
Instance details

Defined in Typst.Syntax

Semigroup Identifier # 
Instance details

Defined in Typst.Syntax

Data Identifier # 
Instance details

Defined in Typst.Syntax

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Identifier -> c Identifier #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Identifier #

toConstr :: Identifier -> Constr #

dataTypeOf :: Identifier -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Identifier) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Identifier) #

gmapT :: (forall b. Data b => b -> b) -> Identifier -> Identifier #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Identifier -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Identifier -> r #

gmapQ :: (forall d. Data d => d -> u) -> Identifier -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Identifier -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Identifier -> m Identifier #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Identifier -> m Identifier #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Identifier -> m Identifier #

IsString Identifier # 
Instance details

Defined in Typst.Syntax

Show Identifier # 
Instance details

Defined in Typst.Syntax

Eq Identifier # 
Instance details

Defined in Typst.Syntax

Ord Identifier # 
Instance details

Defined in Typst.Syntax

lookupIdentifier :: forall (m :: Type -> Type). Monad m => Identifier -> MP m Val #

joinVals :: MonadFail m => Val -> Val -> m Val #

repr :: Val -> Text #

data Attempt a #

Constructors

Success a 
Failure String 

Instances

Instances details
Applicative Attempt # 
Instance details

Defined in Typst.Types

Methods

pure :: a -> Attempt a #

(<*>) :: Attempt (a -> b) -> Attempt a -> Attempt b #

liftA2 :: (a -> b -> c) -> Attempt a -> Attempt b -> Attempt c #

(*>) :: Attempt a -> Attempt b -> Attempt b #

(<*) :: Attempt a -> Attempt b -> Attempt a #

Functor Attempt # 
Instance details

Defined in Typst.Types

Methods

fmap :: (a -> b) -> Attempt a -> Attempt b #

(<$) :: a -> Attempt b -> Attempt a #

Monad Attempt # 
Instance details

Defined in Typst.Types

Methods

(>>=) :: Attempt a -> (a -> Attempt b) -> Attempt b #

(>>) :: Attempt a -> Attempt b -> Attempt b #

return :: a -> Attempt a #

MonadFail Attempt # 
Instance details

Defined in Typst.Types

Methods

fail :: String -> Attempt a #

Show a => Show (Attempt a) # 
Instance details

Defined in Typst.Types

Methods

showsPrec :: Int -> Attempt a -> ShowS #

show :: Attempt a -> String #

showList :: [Attempt a] -> ShowS #

Eq a => Eq (Attempt a) # 
Instance details

Defined in Typst.Types

Methods

(==) :: Attempt a -> Attempt a -> Bool #

(/=) :: Attempt a -> Attempt a -> Bool #

Ord a => Ord (Attempt a) # 
Instance details

Defined in Typst.Types

Methods

compare :: Attempt a -> Attempt a -> Ordering #

(<) :: Attempt a -> Attempt a -> Bool #

(<=) :: Attempt a -> Attempt a -> Bool #

(>) :: Attempt a -> Attempt a -> Bool #

(>=) :: Attempt a -> Attempt a -> Bool #

max :: Attempt a -> Attempt a -> Attempt a #

min :: Attempt a -> Attempt a -> Attempt a #