Class: Range

ft/core/range. Range

A range of content in a Tree

A range is defined by two points: A start and end node, and text offsets into the line of those nodes. Ranges provides conversion functions to efficiently get line numbers and document text offsets from these base positions.

To create a new range use one of the Tree#createRange methods.

Members

Methods

Testing

Text

Lines

Nodes

Creating Ranges




Member Details

startNode :module:ft/core/node.Node

Type:

startOffset :Number

Type:
  • Number

endNode :module:ft/core/node.Node

Type:

endOffset :Number

Type:
  • Number

Method Details

copy() → {module:ft/core/range.Range}

Return copy of this range.

Returns:
Type
module:ft/core/range.Range

isCollapsed() → {Boolean}

Return true if this range has zero length.

Returns:
Type
Boolean

isEqualToRange(range) → {Boolean}

Return true if this range is equal to the range.

Parameters:
Name Type Description
range Range
Returns:
Type
Boolean

location() → {Number}

Return the tree text offset location of this range.

Returns:
Type
Number

length() → {Number}

The number of characters covered by this range.

Returns:
Type
Number

textInRange() → {String}

Return text in this range.

Returns:
Type
String

startLine() → {Number}

Return starting line number of this range.

Returns:
Type
Number

startLineCh() → {LineChar}

Return starting LineChar of this range.

Returns:
Type
LineChar

endLine() → {Number}

Return ending line number of this range.

Returns:
Type
Number

endLineCh() → {LineChar}

Return ending LineChar of this range.

Returns:
Type
LineChar

nodesInRange() → {Array.<module:ft/core/node.Node>}

Return nodes in this range.

Returns:
Type
Array.<module:ft/core/node.Node>

forEachNodeInRange(callback)

Process each line in the range.

Parameters:
Name Type Description
callback forEachNodeInRangeCallback

Callback to process each node in the set.

rangeByCollapsing(toStart) → {module:ft/core/range.Range}

Return a new range resulting from offsetting this range.

Parameters:
Name Type Argument Default Description
toStart Boolean <optional>
false

Collapse to start or end.

Returns:
Type
module:ft/core/range.Range

rangeByOffsetting(locationOffset, lengthOffset) → {module:ft/core/range.Range}

Return a new range resulting from offsetting this range.

Parameters:
Name Type Description
locationOffset Number

Offset start location by this amount.

lengthOffset Number

Offset length by this amount.

Returns:
Type
module:ft/core/range.Range

rangeByExtendingToWord() → {module:ft/core/range.Range}

Return a new range resulting from extending this range to word boundaries.

Returns:
Type
module:ft/core/range.Range

rangeByExtendingToSentence() → {module:ft/core/range.Range}

Return a new range resulting from extending this range to sentence boundaries.

Returns:
Type
module:ft/core/range.Range