Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- run :: (Applicative m, Ord p) => ([Field p], [Comment p]) -> m ([Field (p, [Comment p])], [Comment p])
- field :: Ord p => Field p -> State [Comment p] (Field (p, [Comment p]))
- name :: Ord p => Name p -> State [Comment p] (Name (p, [Comment p]))
- fieldLine :: Ord p => FieldLine p -> State [Comment p] (FieldLine (p, [Comment p]))
- sectionArg :: Ord p => SectionArg p -> State [Comment p] (SectionArg (p, [Comment p]))
- toPosition :: Ord p => p -> State [Comment p] (p, [Comment p])
Documentation
run :: (Applicative m, Ord p) => ([Field p], [Comment p]) -> m ([Field (p, [Comment p])], [Comment p]) Source #
High level wrapper around field
that makes this action easier to compose
with other actions.
field :: Ord p => Field p -> State [Comment p] (Field (p, [Comment p])) Source #
Attaches comments to a single field. It is assumed that both the fields
and comments are already sorted by their position p
. This precondition is
not checked. Note that comments actually end up attached to the field's
name. That's because the Field
type doesn't have any annotations
directly on it.
name :: Ord p => Name p -> State [Comment p] (Name (p, [Comment p])) Source #
Attaches comments to a name. Note that this could be a field name or a section name.
fieldLine :: Ord p => FieldLine p -> State [Comment p] (FieldLine (p, [Comment p])) Source #
Attach comments to a field line.
sectionArg :: Ord p => SectionArg p -> State [Comment p] (SectionArg (p, [Comment p])) Source #
Attaches comments to a section argument. Note that section arguments cannot actually have comments attached. That's because section arguments must be on the same line as the section name, so all comments will end up attached to the name.