Skip to content
QuireKit
Plugin docs
Alpha · evolving API
Editing behaviorView Markdown ↗

Proofing

Checks text through a host-supplied proofing provider and displays transient findings. The default null provider performs no checking.

Checks text through a host-supplied proofing provider and displays transient findings. The default null provider performs no checking.

@quirekit/extension-proofing · MIT

Editor compatibility

Layer:Shared document capability

EditorStatusAssembly and boundaries
ClassicSupportedcreateClassicWordPreset — Use createClassicWordPreset for Word models, layout and product integration. Controls, flags, host services and file support follow this page. Full comment, revision and content-control authoring UI additionally requires Pro.
BlockRequires integrationConnect the services, targets and lifecycle described on this page and validate the selected View and document model. Core contracts are reusable, but there is no universal product installation without host ports.

“Supported” means the product assembly above exists; interaction, host services and file formats retain their own conditions. See status and integration rules. Licensing is shown separately.

Installation

sh

Install in Editor extensions. The host supplies a view, container and persistence; see Quick start.

ts

Use compatible versions available from your distribution source. This site uses the Alpha workspace. License labels come from package metadata; see support and licensing.

Integration by editor

These snippets use an existing host element named element. The host owns container sizing and persistence; call instance.destroy() on teardown. Avoid duplicating preset capabilities and supply required host ports before installation.

Classic · Supported

Use createClassicWordPreset for Word models, layout and product integration. Controls, flags, host services and file support follow this page. Full comment, revision and content-control authoring UI additionally requires Pro.

createClassicWordPreset
ts

Configuration

These are extension-level defaults. Presets can override them; they are distinct from current document attributes. See configuration.

enabled

Whether checking starts enabled.

Type:boolean

Default:true

provider

Engine; checking stays disabled while null.

Type:ProofingProvider | null

Default:null

policy

Document-model knowledge; defaults treat every textblock as body text.

Type:ProofingDocumentPolicy | null

Default:null

defaultLanguage

Language used when a text has none.

Type:string | null

Default:"en-US"

debounceMs

Quiet period after an edit before checking.

Type:number

Default:400

maxWaitMs

Longest delay while edits keep arriving.

Type:number

Default:2000

timeoutMs

Longest time one provider request may run.

Type:number

Default:10000

maxConcurrentRequests

Requests running at once.

Type:number

Default:2

maxSegmentsPerBatch

Segments per request.

Type:number

Default:40

maxCharactersPerBatch

UTF-16 characters per request.

Type:number

Default:8000

maxSuggestions

Suggestions per finding.

Type:number

Default:5

maxIssues

Findings kept for the whole document before reporting limited.

Type:number

Default:2000

dictionaryStore

Persistent user dictionary, or null for session-only ignores.

Type:ProofingDictionaryStore | null

Default:null

appearance

Underline colors.

Type:ProofingAppearance

Default:{ spelling: "#e5484d", grammar: "#3e63dd", style: "#8e4ec6" }

onError

Receives provider failures, timeouts, and invalid results.

Type:((error: ProofingError) => void) | null

Default:null

resolveVisibleRange

Resolves the visible document interval checked right after the caret's block.

Type:((editor: QuireEditor) => ProofingRange | null) | null

Default:resolveDefaultProofingVisibleRange

Commands and runtime

These commands are supplied directly by this extension. Availability depends on the installed schema, selection and protection policy; query editor.can() first.

CommandParameter signature
setProofingEnabledsetProofingEnabled(enabled: boolean)
recheckProofingrecheckProofing()
replaceProofingIssuereplaceProofingIssue(issueId: string, replacement: string)
ignoreProofingIssueignoreProofingIssue(issueId: string)
ignoreProofingWordignoreProofingWord(word: string)
addProofingWordaddProofingWord(word: string)

These are parameter signatures. See commands and controls to connect UI while retaining one transaction/history authority.

Checking requires a provider. @quirekit/proofing-harper and @quirekit/proofing-hunspell are service adapters rather than additional Core extensions.

Next steps

Return to all plugins, or read configuration to distinguish options, attributes and commands.

See extension development for custom capabilities and Build a product for complete hosting.

QuireKitQuireKit · Core, plugins and Classic docs