Repository navigation
Expand file tree
/
Copy pathplugin-types.ts
More file actions
85 lines (72 loc) · 2.06 KB
/
Copy pathplugin-types.ts
File metadata and controls
85 lines (72 loc) · 2.06 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
export type TimeoutHandle = ReturnType<typeof setTimeout>
export interface PendingEditableTimeout {
id?: TimeoutHandle
editableHost?: HTMLElement
}
export type SpellcheckResult = string[] | null | undefined
export type SpellcheckServiceCallback = (misspelledWords?: SpellcheckResult) => void
export type SpellcheckServiceHandler = (text: string, callback: SpellcheckServiceCallback) => void
export type SpellcheckCheckCallback = (error: null, misspelledWords?: string[] | null) => void
export interface HighlightMarkerConfig {
marker?: string
}
export interface MonitoredSpellcheckConfig extends HighlightMarkerConfig {
throttle?: number
spellcheckService?: SpellcheckServiceHandler
}
export interface MonitoredWhitespaceConfig extends HighlightMarkerConfig {}
export interface MonitoredHighlightingConfig {
checkOnInit?: boolean
checkOnFocus?: boolean
checkOnChange?: boolean
throttle?: number
removeOnCorrection?: boolean
spellcheck?: MonitoredSpellcheckConfig
whitespace?: MonitoredWhitespaceConfig
}
export interface ResolvedMonitoredSpellcheckConfig {
marker: string
throttle: number
spellcheckService: SpellcheckServiceHandler
}
export interface ResolvedMonitoredWhitespaceConfig {
marker: string
}
export interface ResolvedMonitoredHighlightingConfig {
checkOnInit: boolean
checkOnFocus: boolean
checkOnChange: boolean
throttle: number
removeOnCorrection: boolean
spellcheck: ResolvedMonitoredSpellcheckConfig
whitespace: ResolvedMonitoredWhitespaceConfig
}
export interface SpellcheckSetupConfig {
markerNode?: HTMLElement
throttle?: number
spellcheckService: SpellcheckServiceHandler
}
export interface HighlightOptions {
editableHost: HTMLElement
text: string
highlightId: string
textRange?: {
start: number
end: number
}
raiseEvents?: boolean
type?: string
}
export interface TextRange {
start: number
end: number
text?: string
}
export interface TextDiffOptions {
enabled?: boolean
checkOnInit?: boolean
checkOnFocus?: boolean
markerDeleted?: string
markerInserted?: string
throttle?: number
}