Skip to content

@jsvision/code-editor / CodeEditorDocumentModel

Class: CodeEditorDocumentModel

Defined in: code-editor/src/document/model.ts:64

Pure in-memory document model used by editor, language, and protocol layers.

Example

ts
const model = createDocumentModel({ text: 'const value = 1;' });

Constructors

Constructor

new CodeEditorDocumentModel(options): CodeEditorDocumentModel

Defined in: code-editor/src/document/model.ts:81

Parameters

options

CreateDocumentModelOptions

Returns

CodeEditorDocumentModel

Accessors

historyRetainedBytes

Get Signature

get historyRetainedBytes(): number

Defined in: code-editor/src/document/model.ts:146

Returns the bounded changed-content bytes retained by undo and redo entries.

Returns

number


identity

Get Signature

get identity(): DocumentIdentity

Defined in: code-editor/src/document/model.ts:118

Returns the exact identity required by asynchronous mutation results.

Returns

DocumentIdentity


languageId

Get Signature

get languageId(): CodeEditorLanguageId

Defined in: code-editor/src/document/model.ts:176

Returns the explicit local language identifier.

Returns

CodeEditorLanguageId


lineEnding

Get Signature

get lineEnding(): DocumentLineEnding

Defined in: code-editor/src/document/model.ts:181

Returns the observed exact source line-ending style.

Returns

DocumentLineEnding


maximumDocumentBytes

Get Signature

get maximumDocumentBytes(): number

Defined in: code-editor/src/document/model.ts:166

Returns the configured hard byte ceiling for this in-memory document.

Returns

number


maximumVisualColumn

Get Signature

get maximumVisualColumn(): number

Defined in: code-editor/src/document/model.ts:191

Returns the exact greatest terminal-cell width of any logical line.

Returns

number


modified

Get Signature

get modified(): boolean

Defined in: code-editor/src/document/model.ts:151

Reports whether exact text differs from the latest save checkpoint.

Returns

boolean


readOnly

Get Signature

get readOnly(): boolean

Defined in: code-editor/src/document/model.ts:156

Reports whether all mutation paths are currently disabled.

Returns

boolean


redoDepth

Get Signature

get redoDepth(): number

Defined in: code-editor/src/document/model.ts:141

Returns the number of complete operations available to redo.

Returns

number


retainedHistoryBytes

Get Signature

get retainedHistoryBytes(): number

Defined in: code-editor/src/document/model.ts:136

Returns retained undo/redo payload bytes for bounded lifecycle inspection.

Returns

number


selection

Get Signature

get selection(): DocumentSelection

Defined in: code-editor/src/document/model.ts:126

Returns the active single selection.

Returns

DocumentSelection


sizeMode

Get Signature

get sizeMode(): DocumentSizeMode

Defined in: code-editor/src/document/model.ts:161

Returns the active document-size capability tier.

Returns

DocumentSizeMode


snapshot

Get Signature

get snapshot(): DocumentSnapshot

Defined in: code-editor/src/document/model.ts:112

Returns an immutable view of the current lineage and revision.

Returns

DocumentSnapshot


tabSize

Get Signature

get tabSize(): number

Defined in: code-editor/src/document/model.ts:186

Returns the validated editor tab size.

Returns

number


text

Get Signature

get text(): string

Defined in: code-editor/src/document/model.ts:107

Returns the exact active source text.

Returns

string


undoDepth

Get Signature

get undoDepth(): number

Defined in: code-editor/src/document/model.ts:131

Returns the number of complete operations available to undo.

Returns

number


uri

Get Signature

get uri(): string | undefined

Defined in: code-editor/src/document/model.ts:171

Returns the optional host-owned document URI.

Returns

string | undefined

Methods

apply()

apply(transaction): DocumentMutationResult

Defined in: code-editor/src/document/model.ts:251

Applies one normalized transaction or returns a typed rejection without partial mutation.

Parameters

transaction

DocumentTransaction

Returns

DocumentMutationResult


configureSafetyLimits()

configureSafetyLimits(limits): void

Defined in: code-editor/src/document/model.ts:384

Applies a controller-owned safety policy before interactive editing begins.

Parameters

limits

DocumentLimits

Returns

void


createTransaction()

createTransaction(transaction): DocumentTransaction

Defined in: code-editor/src/document/model.ts:244

Normalizes an untrusted atomic mutation request without changing document state.

Parameters

transaction

DocumentTransactionInput

Returns

DocumentTransaction

Example

ts
const tx = model.createTransaction({
  edits: [{ range: { from: 0, to: 0 }, text: 'const ' }],
  origin: 'typing',
});

markSaved()

markSaved(): void

Defined in: code-editor/src/document/model.ts:374

Marks the current exact text as the host's latest successful save.

Returns

void


offsetAtVisualColumn()

offsetAtVisualColumn(lineNumber, column): number

Defined in: code-editor/src/document/model.ts:219

Returns the document offset at a terminal column on one logical line.

Parameters

lineNumber

number

column

number

Returns

number

Example

ts
const offset = document.offsetAtVisualColumn(0, 12);

redo()

redo(): DocumentMutationResult

Defined in: code-editor/src/document/model.ts:317

Restores the exact text and selection after the next retained operation.

Returns

DocumentMutationResult


releaseRetainedResources()

releaseRetainedResources(): void

Defined in: code-editor/src/document/model.ts:379

Releases retained undo and redo resources while preserving the active source text.

Returns

void


replaceDocument()

replaceDocument(options): void

Defined in: code-editor/src/document/model.ts:339

Replaces every document-scoped value and starts a new revision lineage.

Parameters

options

CreateDocumentModelOptions

Returns

void


search(query, options?): readonly DocumentSearchMatch[]

Defined in: code-editor/src/document/model.ts:398

Finds bounded literal matches without changing revision, selection, or history.

Parameters

query

string

options?

DocumentSearchOptions

Returns

readonly DocumentSearchMatch[]


setReadOnly()

setReadOnly(readOnly): void

Defined in: code-editor/src/document/model.ts:359

Enables or disables the centralized mutation boundary without changing editor state.

Parameters

readOnly

boolean

Returns

void


setSelection()

setSelection(selection): void

Defined in: code-editor/src/document/model.ts:367

Changes the active selection without creating a text revision or history entry.

Parameters

selection

DocumentSelectionInput

Returns

void


undo()

undo(): DocumentMutationResult

Defined in: code-editor/src/document/model.ts:295

Restores the exact text and selection before the latest retained operation.

Returns

DocumentMutationResult


visualColumnAt()

visualColumnAt(offset): number

Defined in: code-editor/src/document/model.ts:203

Returns the terminal column at a validated UTF-16 document offset.

Parameters

offset

number

Returns

number

Example

ts
const column = document.visualColumnAt(document.selection.head);