EditorTokenStore
The document’s syntax tokens: packed offsets and palette ids, sorted by start, immutable.
An edit shifts every token after it. Stores share their arrays and keep that shift per segment, so deriving a store costs the edited tokens, not the document.
Properties
Section titled “Properties”derivedFrom
Section titled “derivedFrom”
readonlyderivedFrom:EditorTokenStoreOrigin|null
length
Section titled “length”
readonlylength:number
monotonicEnd
Section titled “monotonicEnd”
readonlymonotonicEnd:boolean
nonOverlapping
Section titled “nonOverlapping”
readonlynonOverlapping:boolean
revision
Section titled “revision”
readonlyrevision:number
styles
Section titled “styles”
readonlystyles: readonlyEditorTokenStyle[]
Methods
Section titled “Methods”applyPatch()
Section titled “applyPatch()”applyPatch(
patch):EditorTokenStore
Re-tokenized lines spliced in. Patch styles join the palette by value.
Parameters
Section titled “Parameters”Returns
Section titled “Returns”EditorTokenStore
changedRangeTo()
Section titled “changedRangeTo()”changedRangeTo(
next):object
The smallest replacement that turns this store into next: tokens [start, start + deleteCount)
here become [start, insertEnd) there. Segments the two share are skipped, not compared.
Parameters
Section titled “Parameters”EditorTokenStore
Returns
Section titled “Returns”object
deleteCount
Section titled “deleteCount”
readonlydeleteCount:number
insertEnd
Section titled “insertEnd”
readonlyinsertEnd:number
readonlystart:number
endAt()
Section titled “endAt()”endAt(
index):number
Parameters
Section titled “Parameters”number
Returns
Section titled “Returns”number
equals()
Section titled “equals()”equals(
other):boolean
True when both hold the same tokens. Segments the two share are skipped, not compared.
Parameters
Section titled “Parameters”EditorTokenStore
Returns
Section titled “Returns”boolean
firstEndingAfter()
Section titled “firstEndingAfter()”firstEndingAfter(
offset,endIndex?):number
First index below endIndex whose running maximum end is past offset.
Parameters
Section titled “Parameters”offset
Section titled “offset”number
endIndex?
Section titled “endIndex?”number
Returns
Section titled “Returns”number
firstEndingAtOrAfter()
Section titled “firstEndingAtOrAfter()”firstEndingAtOrAfter(
offset,endIndex?):number
Parameters
Section titled “Parameters”offset
Section titled “offset”number
endIndex?
Section titled “endIndex?”number
Returns
Section titled “Returns”number
firstStartingAfter()
Section titled “firstStartingAfter()”firstStartingAfter(
offset):number
Parameters
Section titled “Parameters”offset
Section titled “offset”number
Returns
Section titled “Returns”number
firstStartingAtOrAfter()
Section titled “firstStartingAtOrAfter()”firstStartingAtOrAfter(
offset):number
Parameters
Section titled “Parameters”offset
Section titled “offset”number
Returns
Section titled “Returns”number
forEachInRange()
Section titled “forEachInRange()”forEachInRange(
from,to,visit):void
Parameters
Section titled “Parameters”number
number
(start, end, styleId, index) => void
Returns
Section titled “Returns”void
replaceOffsetRange()
Section titled “replaceOffsetRange()”replaceOffsetRange(
startOffset,endOffset,tokens):EditorTokenStore
A fresh answer for [startOffset, endOffset); every token reaching into it is replaced.
Parameters
Section titled “Parameters”startOffset
Section titled “startOffset”number
endOffset
Section titled “endOffset”number
tokens
Section titled “tokens”EditorTokenStore
Returns
Section titled “Returns”EditorTokenStore
replaceRange()
Section titled “replaceRange()”replaceRange(
first,last,inserted,options):EditorTokenStore
This store with tokens [first, last) replaced by inserted and every later token shifted.
A projection through an edit and a highlighter’s re-tokenized lines are both this operation.
Parameters
Section titled “Parameters”number
number
inserted
Section titled “inserted”EditorTokenRun
options
Section titled “options”EditorTokenStoreReplaceOptions
Returns
Section titled “Returns”EditorTokenStore
startAt()
Section titled “startAt()”startAt(
index):number
Parameters
Section titled “Parameters”number
Returns
Section titled “Returns”number
styleAt()
Section titled “styleAt()”styleAt(
index):EditorTokenStyle
Parameters
Section titled “Parameters”number
Returns
Section titled “Returns”styleIdAt()
Section titled “styleIdAt()”styleIdAt(
index):number
Parameters
Section titled “Parameters”number
Returns
Section titled “Returns”number
stylesEqual()
Section titled “stylesEqual()”stylesEqual(
other):boolean
True when token i has the same style in both, whatever its offsets.
Parameters
Section titled “Parameters”EditorTokenStore
Returns
Section titled “Returns”boolean
tokenAt()
Section titled “tokenAt()”tokenAt(
index):EditorToken
Parameters
Section titled “Parameters”number
Returns
Section titled “Returns”toPacked()
Section titled “toPacked()”toPacked():
PackedEditorTokens
One contiguous copy, for a worker transfer or a JSON snapshot. Costs the document.
Returns
Section titled “Returns”toTokens()
Section titled “toTokens()”toTokens(
from?,to?):EditorToken[]
Object tokens for [from, to). The whole-document form is for exports, never for an edit.
Parameters
Section titled “Parameters”number
number
Returns
Section titled “Returns”empty()
Section titled “empty()”
staticempty():EditorTokenStore
Returns
Section titled “Returns”EditorTokenStore
fromPacked()
Section titled “fromPacked()”
staticfromPacked(packed):EditorTokenStore
Takes ownership of the packed arrays; nothing may write to them afterwards.
Parameters
Section titled “Parameters”packed
Section titled “packed”Returns
Section titled “Returns”EditorTokenStore
fromTokens()
Section titled “fromTokens()”
staticfromTokens(tokens):EditorTokenStore
The boundary for hosts that build tokens by hand; costs the input, not the document.
Parameters
Section titled “Parameters”tokens
Section titled “tokens”readonly EditorToken[]
Returns
Section titled “Returns”EditorTokenStore
inspectRetention()
Section titled “inspectRetention()”
staticinspectRetention(stores):EditorTokenStoreRetentionSnapshot
Parameters
Section titled “Parameters”stores
Section titled “stores”Iterable<EditorTokenStore>
Returns
Section titled “Returns”EditorTokenStoreRetentionSnapshot