HaXml-1.25.6: Utilities for manipulating XML documents
Safe HaskellSafe-Inferred
LanguageHaskell98

Text.XML.HaXml.Posn

Description

Define a position datatype for giving locations in error messages.

Synopsis

Position type

data Posn Source #

Source positions contain a filename, line, column, and an inclusion point, which is itself another source position, recursively.

Instances

Instances details
Eq Posn Source # 
Instance details

Defined in Text.XML.HaXml.Posn

Methods

(==) :: Posn -> Posn -> Bool

(/=) :: Posn -> Posn -> Bool

Show Posn Source # 
Instance details

Defined in Text.XML.HaXml.Posn

Methods

showsPrec :: Int -> Posn -> ShowS

show :: Posn -> String

showList :: [Posn] -> ShowS

Constructors of a new position

posInNewCxt :: String -> Maybe Posn -> Posn Source #

posInNewCxt name pos creates a new source position from an old one. It is used when opening a new file (e.g. a DTD inclusion), to denote the start of the file name, but retain the stacked information that it was included from the old pos.

noPos :: Posn Source #

Dummy value for generated data, where a true source position does not exist.

Strictifier

forcep :: Posn -> Int Source #

Just used to strictify the internal values of a position, to avoid space leaks.

Modifiers

addcol :: Int -> Posn -> Posn Source #

Add n character positions to the given position.

newline :: Posn -> Posn Source #

Add a newline or tab to the given position.

tab :: Posn -> Posn Source #

Add a newline or tab to the given position.

white :: Char -> Posn -> Posn Source #

Add the given whitespace char to the given position. Precondition: white c | isSpace c = True

Accessors

posnFilename :: Posn -> FilePath Source #