debian-3.61: Modules for working with the Debian package system

Debian.Control.ByteString

Contents

Synopsis

Documentation

newtype Control' a Source

Constructors

Control 

Fields

unControl :: [Paragraph' a]
 

Instances

Show (Control' String)

This may have bad performance issues

newtype Paragraph' a Source

Constructors

Paragraph [Field' a] 

Instances

data Field' a Source

NOTE: we do not strip the leading or trailing whitespace in the name or value

Constructors

Field (a, a) 
Comment a 

Instances

Eq a => Eq (Field' a) 
Show (Field' String) 

class ControlFunctions a whereSource

Methods

parseControlFromFile :: FilePath -> IO (Either ParseError (Control' a))Source

parseControlFromFile filepath is a simple wrapper function that parses filepath using pControl

parseControlFromHandle :: String -> Handle -> IO (Either ParseError (Control' a))Source

parseControlFromHandle sourceName handle - sourceName is only used for error reporting

parseControl :: String -> a -> Either ParseError (Control' a)Source

parseControlFromString sourceName text - sourceName is only used for error reporting

lookupP :: String -> Paragraph' a -> Maybe (Field' a)Source

lookupP fieldName paragraph looks up a Field in a Paragraph. N.B. trailing and leading whitespace is not stripped.

stripWS :: a -> aSource

Strip the trailing and leading space and tab characters from a string. Folded whitespace is not unfolded. This should probably be moved to someplace more general purpose.

asString :: a -> StringSource

Helper Functions

renameField :: Eq a => a -> a -> Paragraph' a -> Paragraph' aSource

modifyField :: Eq a => a -> (a -> a) -> Paragraph' a -> Paragraph' aSource

raiseFields :: Eq a => (a -> Bool) -> Paragraph' a -> Paragraph' aSource

Move selected fields to the beginning of a paragraph.