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);