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
| Editor | Status | Assembly and boundaries |
|---|---|---|
| Classic | Supported | createClassicWordPreset — 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. |
| Block | Requires integration | Connect 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
pnpm add @quirekit/extension-proofing@alpha
Install in Editor extensions. The host supplies a view, container and persistence; see Quick start.
import { Proofing } from '@quirekit/extension-proofing'
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.
createClassicWordPresetimport { createClassicEditor } from '@quirekit/classic-editor'
import '@quirekit/classic-editor/styles.css'
import { createClassicWordDefaultDocument, createClassicWordPreset } from '@quirekit/classic-docx'
import '@quirekit/classic-docx/styles.css'
const instance = createClassicEditor({
element,
preset: createClassicWordPreset(),
document: createClassicWordDefaultDocument(),
})Block · Requires integration
Connect 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.
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.
| Command | Parameter signature |
|---|---|
setProofingEnabled | setProofingEnabled(enabled: boolean) |
recheckProofing | recheckProofing() |
replaceProofingIssue | replaceProofingIssue(issueId: string, replacement: string) |
ignoreProofingIssue | ignoreProofingIssue(issueId: string) |
ignoreProofingWord | ignoreProofingWord(word: string) |
addProofingWord | addProofingWord(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.