cursor-0.3.2.0: Purely Functional Cursors
Safe HaskellNone
LanguageHaskell2010

Cursor.Tree.Movement

Synopsis

Documentation

data TreeCursorSelection Source #

Instances

Instances details
Eq TreeCursorSelection Source # 
Instance details

Defined in Cursor.Tree.Types

Show TreeCursorSelection Source # 
Instance details

Defined in Cursor.Tree.Types

Generic TreeCursorSelection Source # 
Instance details

Defined in Cursor.Tree.Types

Associated Types

type Rep TreeCursorSelection :: Type -> Type #

NFData TreeCursorSelection Source # 
Instance details

Defined in Cursor.Tree.Types

Methods

rnf :: TreeCursorSelection -> () #

Validity TreeCursorSelection Source # 
Instance details

Defined in Cursor.Tree.Types

type Rep TreeCursorSelection Source # 
Instance details

Defined in Cursor.Tree.Types

type Rep TreeCursorSelection = D1 ('MetaData "TreeCursorSelection" "Cursor.Tree.Types" "cursor-0.3.2.0-Ch3lJwc3yY89mrJgbt03T" 'False) (C1 ('MetaCons "SelectNode" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "SelectChild" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Int) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 TreeCursorSelection)))

treeCursorSelect :: (a -> b) -> (b -> a) -> TreeCursorSelection -> TreeCursor a b -> Maybe (TreeCursor a b) Source #

treeCursorSelectPrev :: (a -> b) -> (b -> a) -> TreeCursor a b -> Maybe (TreeCursor a b) Source #

treeCursorSelectNext :: (a -> b) -> (b -> a) -> TreeCursor a b -> Maybe (TreeCursor a b) Source #

treeCursorSelectFirst :: (a -> b) -> (b -> a) -> TreeCursor a b -> TreeCursor a b Source #

treeCursorSelectLast :: (a -> b) -> (b -> a) -> TreeCursor a b -> TreeCursor a b Source #

treeCursorSelectAbove :: (a -> b) -> (b -> a) -> TreeCursor a b -> Maybe (TreeCursor a b) Source #

treeCursorSelectBelowAtPos :: (a -> b) -> (b -> a) -> Int -> TreeCursor a b -> Maybe (TreeCursor a b) Source #

treeCursorSelectBelowAtStart :: (a -> b) -> (b -> a) -> TreeCursor a b -> Maybe (TreeCursor a b) Source #

treeCursorSelectBelowAtEnd :: (a -> b) -> (b -> a) -> TreeCursor a b -> Maybe (TreeCursor a b) Source #

treeCursorSelectPrevOnSameLevel :: (a -> b) -> (b -> a) -> TreeCursor a b -> Maybe (TreeCursor a b) Source #

treeCursorSelectNextOnSameLevel :: (a -> b) -> (b -> a) -> TreeCursor a b -> Maybe (TreeCursor a b) Source #

treeCursorSelectFirstOnSameLevel :: (a -> b) -> (b -> a) -> TreeCursor a b -> TreeCursor a b Source #

treeCursorSelectLastOnSameLevel :: (a -> b) -> (b -> a) -> TreeCursor a b -> TreeCursor a b Source #

treeCursorSelectAbovePrev :: (a -> b) -> (b -> a) -> TreeCursor a b -> Maybe (TreeCursor a b) Source #

Go back and down as far as necessary to find a previous element on a level below

treeCursorSelectAboveNext :: (a -> b) -> (b -> a) -> TreeCursor a b -> Maybe (TreeCursor a b) Source #

Go up as far as necessary to find a next element on a level above and forward

Note: This will fail if there is a next node on the same level or any node below the current node