hslua-module-doclayout-1.1.0: Lua module wrapping Text.DocLayout.
Copyright© 2020-2022 Albert Krewinkel
LicenseMIT
MaintainerAlbert Krewinkel <albert+hslua@zeitkraut.de>
Safe HaskellSafe-Inferred
LanguageHaskell2010

HsLua.Module.DocLayout

Description

Provides a Lua module which wraps DocLayout. The Doc' type is specialized to Text@.

This module defines orphan instances for Doc Text.

Synopsis

Module

documentedModule :: LuaError e => Module e Source #

Self-documenting module.

pushModule :: LuaError e => Module e -> LuaE e () #

Pushes a documented module to the Lua stack.

preloadModule :: LuaError e => Module e -> LuaE e () #

Preload self-documenting module using the module's default name.

description :: Text Source #

Textual description of the "doclayout" module.

fields :: forall e. LuaError e => [Field e] Source #

Exposed fields.

functions :: LuaError e => [DocumentedFunction e] Source #

Exposed module functions.

Doc constructors and combinators

after_break :: LuaError e => DocumentedFunction e Source #

Creates a Doc which is conditionally included only if it comes at the beginning of a line.

before_non_blank :: LuaError e => DocumentedFunction e Source #

Conditionally includes the given Doc unless it is followed by a blank space.

blankline :: forall e. LuaError e => Field e Source #

Wrapped and documented blankline value.

blanklines :: LuaError e => DocumentedFunction e Source #

Insert blank lines unless they exist already.

braces :: LuaError e => DocumentedFunction e Source #

Puts a Doc in curly braces.

brackets :: LuaError e => DocumentedFunction e Source #

Puts a Doc in square brackets.

cblock :: LuaError e => DocumentedFunction e Source #

Like lblock but aligned centered.

chomp :: LuaError e => DocumentedFunction e Source #

Chomps trailing blank space off of a Doc.

concat :: LuaError e => DocumentedFunction e Source #

Concatenates a list of Docs.

cr :: forall e. LuaError e => Field e Source #

Wrapped and documented cr value.

double_quotes :: LuaError e => DocumentedFunction e Source #

Wraps a Doc in double quotes

empty :: forall e. LuaError e => Field e Source #

Wrapped and documented empty value.

flush :: LuaError e => DocumentedFunction e Source #

Makes a Doc flush against the left margin.

hang :: LuaError e => DocumentedFunction e Source #

Creates a hanging indent.

inside :: LuaError e => DocumentedFunction e Source #

Encloses a Doc inside a start and end Doc.

lblock :: LuaError e => DocumentedFunction e Source #

Creates a block with the given width and content, aligned to the left.

literal :: LuaError e => DocumentedFunction e Source #

Creates a Doc from a string.

nest :: LuaError e => DocumentedFunction e Source #

Indents a Doc by the specified number of spaces.

nestle :: LuaError e => DocumentedFunction e Source #

Removes leading blank lines from a Doc.

nowrap :: LuaError e => DocumentedFunction e Source #

Makes a Doc non-reflowable.

parens :: LuaError e => DocumentedFunction e Source #

Puts a Doc in parentheses.

prefixed :: LuaError e => DocumentedFunction e Source #

Uses the specified string as a prefix for every line of the inside document (except the first, if not at the beginning of the line).

quotes :: LuaError e => DocumentedFunction e Source #

Wraps a Doc in single quotes.

rblock :: LuaError e => DocumentedFunction e Source #

Like rblock but aligned to the right.

space :: forall e. LuaError e => Field e Source #

Wrapped and documented space value.

vfill :: LuaError e => DocumentedFunction e Source #

An expandable border that, when placed next to a box, expands to the height of the box. Strings cycle through the list provided.

Rendering

render :: LuaError e => DocumentedFunction e Source #

Render a Doc. The text is reflowed on breakable spaces to match the given line length. Text is not reflowed if the line length parameter is omitted or nil.

Document Querying

is_empty :: LuaError e => DocumentedFunction e Source #

True iff the document is empty.

height :: LuaError e => DocumentedFunction e Source #

Returns the height of a block or other Doc.

min_offset :: LuaError e => DocumentedFunction e Source #

Returns the minimal width of a Doc when reflowed at breakable spaces.

offset :: LuaError e => DocumentedFunction e Source #

Returns the width of a Doc.

real_length :: DocumentedFunction e Source #

Returns the real length of a string in a monospace font: 0 for a combining character, 1, for a regular character, 2 for an East Asian wide character.

update_column :: LuaError e => DocumentedFunction e Source #

Returns the column that would be occupied by the last laid out character.

Marshaling

peekDoc :: LuaError e => Peeker e (Doc Text) Source #

Retrieve a Doc Text value from the Lua stack. Strings are converted to plain Doc values.

pushDoc :: LuaError e => Pusher e (Doc Text) Source #

Push a Doc Text value to the Lua stack.

Orphan instances

Peekable (Doc Text) Source # 
Instance details

Methods

safepeek :: LuaError e => Peeker e (Doc Text) #

Pushable (Doc Text) Source # 
Instance details

Methods

push :: LuaError e => Doc Text -> LuaE e () #