# EditorSnapshot

Source: /tuil/docs/reference/packages/editor/api/editor-snapshot
Locale: en

interface exported by @mwillbanks/tuil-editor.



{/* Generated by tooling/docs/generate-reference.ts. */}

## interface [#interface]

Public interface exported by `@mwillbanks/tuil-editor`.

```ts
export interface EditorSnapshot {
  readonly document: EditorDocument;
  readonly selections: readonly EditorSelection[];
  readonly decorations: readonly EditorDecoration[];
  readonly diagnostics: readonly EditorDiagnostic[];
  readonly mode: EditorMode;
  readonly readOnly: boolean;
  readonly canUndo: boolean;
  readonly canRedo: boolean;
  readonly viewportAnchor?: EditorPosition;
}
```

## Members [#members]

| Member           | Type                          | Required | Description                                                                  | Related types                                                               |
| ---------------- | ----------------------------- | -------- | ---------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
| `document`       | `EditorDocument`              | Yes      | The `document` member uses the `EditorDocument` contract.                    | [`EditorDocument`](/tuil/docs/reference/packages/editor/api/editor-document)     |
| `selections`     | `readonly EditorSelection[]`  | Yes      | The `selections` member uses the `readonly EditorSelection[]` contract.      | [`EditorSelection`](/tuil/docs/reference/packages/editor/api/editor-selection)   |
| `decorations`    | `readonly EditorDecoration[]` | Yes      | The `decorations` member uses the `readonly EditorDecoration[]` contract.    | [`EditorDecoration`](/tuil/docs/reference/packages/editor/api/editor-decoration) |
| `diagnostics`    | `readonly EditorDiagnostic[]` | Yes      | The `diagnostics` member uses the `readonly EditorDiagnostic[]` contract.    | [`EditorDiagnostic`](/tuil/docs/reference/packages/editor/api/editor-diagnostic) |
| `mode`           | `EditorMode`                  | Yes      | The `mode` member uses the `EditorMode` contract.                            | [`EditorMode`](/tuil/docs/reference/packages/editor/api/editor-mode)             |
| `readOnly`       | `boolean`                     | Yes      | The `readOnly` member uses the `boolean` contract.                           | —                                                                           |
| `canUndo`        | `boolean`                     | Yes      | The `canUndo` member uses the `boolean` contract.                            | —                                                                           |
| `canRedo`        | `boolean`                     | Yes      | The `canRedo` member uses the `boolean` contract.                            | —                                                                           |
| `viewportAnchor` | `EditorPosition \| undefined` | No       | The `viewportAnchor` member uses the `EditorPosition \| undefined` contract. | [`EditorPosition`](/tuil/docs/reference/packages/editor/api/editor-position)     |

## Parameters [#parameters]

This declaration has no public members.

## Returns [#returns]

This declaration does not return a value.

## Throws [#throws]

No thrown errors are documented for this declaration.

## Related types [#related-types]

* [`EditorDecoration`](/tuil/docs/reference/packages/editor/api/editor-decoration)
* [`EditorDiagnostic`](/tuil/docs/reference/packages/editor/api/editor-diagnostic)
* [`EditorDocument`](/tuil/docs/reference/packages/editor/api/editor-document)
* [`EditorMode`](/tuil/docs/reference/packages/editor/api/editor-mode)
* [`EditorPosition`](/tuil/docs/reference/packages/editor/api/editor-position)
* [`EditorSelection`](/tuil/docs/reference/packages/editor/api/editor-selection)

## Source [#source]

[View the secondary source reference](https://github.com/mwillbanks/tuil/blob/main/packages/editor/src/index.ts)

## Package [#package]

[@mwillbanks/tuil-editor](/tuil/docs/reference/packages/editor)
