The OrNone
, OrNode
, OrElement
modifiers may be used to specify fallback behaviors for selectNode
commands which otherwise would fail and therefore would do nothing at all.
If specified selectNode
command fails to select something new, current selection is canceled.
Example: let explicitly selected node be an empty element. In such case selectNode child
fails and therefore, does nothing at all. But selectNode childOrNone
succeeds and cancels current selection.
If there is no explicit or implicit node selection to work with, command selectNode
explicitly selects textual node containing caret.
Example: caret is contained in a para
and there no explicit selection. In such case, selectNode.parent
fails and therefore, does nothing at all. But selectNode.parentOrNode
succeeds and selects the textual node containing the caret.
If there is no explicit or implicit node selection to work with, command selectNode
explicitly selects element containing caret.
Example: caret is contained in a para
and there no explicit selection. In such case, selectNode.parent
fails and therefore, does nothing at all. But selectNode.parentOrElement
succeeds and selects the para
containing the caret.
It does not make sense to use OrNone
, OrNode
, OrElement
modifiers and [implicitNode]
, [implicitElement]
options in the same selectNode
command. In such case, the OrNone
, OrNode
, OrElement
modifiers are simply ignored.