@cspell/cspell-types 5.13.4 → 5.15.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,6 +2,34 @@
2
2
  "$schema": "http://json-schema.org/draft-07/schema#",
3
3
  "additionalProperties": false,
4
4
  "definitions": {
5
+ "CacheSettings": {
6
+ "additionalProperties": false,
7
+ "properties": {
8
+ "cacheLocation": {
9
+ "$ref": "#/definitions/FSPathResolvable",
10
+ "description": "Path to the cache location. Can be a file or a directory. If none specified `.cspellcache` will be used. Relative paths are relative to the config file in which it is defined.\n\nA prefix of `${cwd}` is replaced with the current working directory."
11
+ },
12
+ "cacheStrategy": {
13
+ "$ref": "#/definitions/CacheStrategy",
14
+ "default": "metadata",
15
+ "description": "Strategy to use for detecting changed files, default: metadata"
16
+ },
17
+ "useCache": {
18
+ "default": false,
19
+ "description": "Store the results of processed files in order to only operate on the changed ones.",
20
+ "type": "boolean"
21
+ }
22
+ },
23
+ "type": "object"
24
+ },
25
+ "CacheStrategy": {
26
+ "description": "The Strategy to use to detect if a file has changed.\n- `metadata` - uses the file system timestamp and size to detect changes (fastest).\n- `content` - uses a hash of the file content to check file changes (slower - more accurate).",
27
+ "enum": [
28
+ "metadata",
29
+ "content"
30
+ ],
31
+ "type": "string"
32
+ },
5
33
  "CustomDictionaryPath": {
6
34
  "description": "A File System Path to a dictionary file.",
7
35
  "pattern": "^.*\\.txt$",
@@ -32,22 +60,22 @@
32
60
  "DictionaryDefinitionAlternate": {
33
61
  "additionalProperties": false,
34
62
  "deprecated": true,
35
- "deprecationMessage": "Use `DictionaryDefinitionPreferred`",
36
- "description": "Only for legacy dictionary definitions",
63
+ "deprecationMessage": "Use `DictionaryDefinitionPreferred` instead.",
64
+ "description": "Only for legacy dictionary definitions.",
37
65
  "properties": {
38
66
  "description": {
39
- "description": "Optional description",
67
+ "description": "Optional description.",
40
68
  "type": "string"
41
69
  },
42
70
  "file": {
43
71
  "$ref": "#/definitions/DictionaryPath",
44
72
  "deprecated": true,
45
73
  "deprecationMessage": "Use `path` instead.",
46
- "description": "Path to the file, only for legacy dictionary definitions"
74
+ "description": "Path to the file, only for legacy dictionary definitions."
47
75
  },
48
76
  "name": {
49
77
  "$ref": "#/definitions/DictionaryId",
50
- "description": "This is the name of a dictionary.\n\nName Format:\n- Must contain at least 1 number or letter.\n- spaces are allowed.\n- Leading and trailing space will be removed.\n- Names ARE case-sensitive\n- Must not contain `*`, `!`, `;`, `,`, `{`, `}`, `[`, `]`, `~`"
78
+ "description": "This is the name of a dictionary.\n\nName Format:\n- Must contain at least 1 number or letter.\n- Spaces are allowed.\n- Leading and trailing space will be removed.\n- Names ARE case-sensitive.\n- Must not contain `*`, `!`, `;`, `,`, `{`, `}`, `[`, `]`, `~`."
51
79
  },
52
80
  "noSuggest": {
53
81
  "description": "Indicate that suggestions should not come from this dictionary. Words in this dictionary are considered correct, but will not be used when making spell correction suggestions.\n\nNote: if a word is suggested by another dictionary, but found in this dictionary, it will be removed from the set of possible suggestions.",
@@ -55,15 +83,15 @@
55
83
  },
56
84
  "repMap": {
57
85
  "$ref": "#/definitions/ReplaceMap",
58
- "description": "Replacement pairs"
86
+ "description": "Replacement pairs."
59
87
  },
60
88
  "type": {
61
89
  "$ref": "#/definitions/DictionaryFileTypes",
62
90
  "default": "S",
63
- "description": "Type of file: S - single word per line, W - each line can contain one or more words separated by space, C - each line is treated like code (Camel Case is allowed) Default is S C is the slowest to load due to the need to split each line based upon code splitting rules."
91
+ "description": "Type of file: S - single word per line, W - each line can contain one or more words separated by space, C - each line is treated like code (Camel Case is allowed). Default is S. C is the slowest to load due to the need to split each line based upon code splitting rules."
64
92
  },
65
93
  "useCompounds": {
66
- "description": "Use Compounds",
94
+ "description": "Use Compounds.",
67
95
  "type": "boolean"
68
96
  }
69
97
  },
@@ -82,12 +110,12 @@
82
110
  "type": "boolean"
83
111
  },
84
112
  "description": {
85
- "description": "Optional description",
113
+ "description": "Optional description.",
86
114
  "type": "string"
87
115
  },
88
116
  "name": {
89
117
  "$ref": "#/definitions/DictionaryId",
90
- "description": "This is the name of a dictionary.\n\nName Format:\n- Must contain at least 1 number or letter.\n- spaces are allowed.\n- Leading and trailing space will be removed.\n- Names ARE case-sensitive\n- Must not contain `*`, `!`, `;`, `,`, `{`, `}`, `[`, `]`, `~`"
118
+ "description": "This is the name of a dictionary.\n\nName Format:\n- Must contain at least 1 number or letter.\n- Spaces are allowed.\n- Leading and trailing space will be removed.\n- Names ARE case-sensitive.\n- Must not contain `*`, `!`, `;`, `,`, `{`, `}`, `[`, `]`, `~`."
91
119
  },
92
120
  "noSuggest": {
93
121
  "description": "Indicate that suggestions should not come from this dictionary. Words in this dictionary are considered correct, but will not be used when making spell correction suggestions.\n\nNote: if a word is suggested by another dictionary, but found in this dictionary, it will be removed from the set of possible suggestions.",
@@ -99,7 +127,7 @@
99
127
  },
100
128
  "repMap": {
101
129
  "$ref": "#/definitions/ReplaceMap",
102
- "description": "Replacement pairs"
130
+ "description": "Replacement pairs."
103
131
  },
104
132
  "scope": {
105
133
  "anyOf": [
@@ -113,15 +141,15 @@
113
141
  "type": "array"
114
142
  }
115
143
  ],
116
- "description": "Defines the scope for when words will be added to the dictionary. Scope values: `user`, `workspace`, `folder`"
144
+ "description": "Defines the scope for when words will be added to the dictionary. Scope values: `user`, `workspace`, `folder`."
117
145
  },
118
146
  "type": {
119
147
  "$ref": "#/definitions/DictionaryFileTypes",
120
148
  "default": "S",
121
- "description": "Type of file: S - single word per line, W - each line can contain one or more words separated by space, C - each line is treated like code (Camel Case is allowed) Default is S C is the slowest to load due to the need to split each line based upon code splitting rules."
149
+ "description": "Type of file: S - single word per line, W - each line can contain one or more words separated by space, C - each line is treated like code (Camel Case is allowed). Default is S. C is the slowest to load due to the need to split each line based upon code splitting rules."
122
150
  },
123
151
  "useCompounds": {
124
- "description": "Use Compounds",
152
+ "description": "Use Compounds.",
125
153
  "type": "boolean"
126
154
  }
127
155
  },
@@ -136,12 +164,12 @@
136
164
  "additionalProperties": false,
137
165
  "properties": {
138
166
  "description": {
139
- "description": "Optional description",
167
+ "description": "Optional description.",
140
168
  "type": "string"
141
169
  },
142
170
  "name": {
143
171
  "$ref": "#/definitions/DictionaryId",
144
- "description": "This is the name of a dictionary.\n\nName Format:\n- Must contain at least 1 number or letter.\n- spaces are allowed.\n- Leading and trailing space will be removed.\n- Names ARE case-sensitive\n- Must not contain `*`, `!`, `;`, `,`, `{`, `}`, `[`, `]`, `~`"
172
+ "description": "This is the name of a dictionary.\n\nName Format:\n- Must contain at least 1 number or letter.\n- Spaces are allowed.\n- Leading and trailing space will be removed.\n- Names ARE case-sensitive.\n- Must not contain `*`, `!`, `;`, `,`, `{`, `}`, `[`, `]`, `~`."
145
173
  },
146
174
  "noSuggest": {
147
175
  "description": "Indicate that suggestions should not come from this dictionary. Words in this dictionary are considered correct, but will not be used when making spell correction suggestions.\n\nNote: if a word is suggested by another dictionary, but found in this dictionary, it will be removed from the set of possible suggestions.",
@@ -149,19 +177,19 @@
149
177
  },
150
178
  "path": {
151
179
  "$ref": "#/definitions/DictionaryPath",
152
- "description": "Path to the file"
180
+ "description": "Path to the file."
153
181
  },
154
182
  "repMap": {
155
183
  "$ref": "#/definitions/ReplaceMap",
156
- "description": "Replacement pairs"
184
+ "description": "Replacement pairs."
157
185
  },
158
186
  "type": {
159
187
  "$ref": "#/definitions/DictionaryFileTypes",
160
188
  "default": "S",
161
- "description": "Type of file: S - single word per line, W - each line can contain one or more words separated by space, C - each line is treated like code (Camel Case is allowed) Default is S C is the slowest to load due to the need to split each line based upon code splitting rules."
189
+ "description": "Type of file: S - single word per line, W - each line can contain one or more words separated by space, C - each line is treated like code (Camel Case is allowed). Default is S. C is the slowest to load due to the need to split each line based upon code splitting rules."
162
190
  },
163
191
  "useCompounds": {
164
- "description": "Use Compounds",
192
+ "description": "Use Compounds.",
165
193
  "type": "boolean"
166
194
  }
167
195
  },
@@ -181,12 +209,12 @@
181
209
  "type": "string"
182
210
  },
183
211
  "DictionaryId": {
184
- "description": "This is the name of a dictionary.\n\nName Format:\n- Must contain at least 1 number or letter.\n- spaces are allowed.\n- Leading and trailing space will be removed.\n- Names ARE case-sensitive\n- Must not contain `*`, `!`, `;`, `,`, `{`, `}`, `[`, `]`, `~`",
212
+ "description": "This is the name of a dictionary.\n\nName Format:\n- Must contain at least 1 number or letter.\n- Spaces are allowed.\n- Leading and trailing space will be removed.\n- Names ARE case-sensitive.\n- Must not contain `*`, `!`, `;`, `,`, `{`, `}`, `[`, `]`, `~`.",
185
213
  "pattern": "^(?=[^!*,;{}[\\]~\\n]+$)(?=(.*\\w)).+$",
186
214
  "type": "string"
187
215
  },
188
216
  "DictionaryNegRef": {
189
- "description": "This a negative reference to a named dictionary.\n\nIt is used to exclude or include a dictionary by name.\n\nThe reference starts with 1 or more `!`.\n- `!<dictionary_name>` - Used to exclude the dictionary matching `<dictionary_name>`\n- `!!<dictionary_name>` - Used to re-include a dictionary matching `<dictionary_name>` Overrides `!<dictionary_name>`.\n- `!!!<dictionary_name>` - Used to exclude a dictionary matching `<dictionary_name>` Overrides `!!<dictionary_name>`.",
217
+ "description": "This a negative reference to a named dictionary.\n\nIt is used to exclude or include a dictionary by name.\n\nThe reference starts with 1 or more `!`.\n- `!<dictionary_name>` - Used to exclude the dictionary matching `<dictionary_name>`.\n- `!!<dictionary_name>` - Used to re-include a dictionary matching `<dictionary_name>`. Overrides `!<dictionary_name>`.\n- `!!!<dictionary_name>` - Used to exclude a dictionary matching `<dictionary_name>`. Overrides `!!<dictionary_name>`.",
190
218
  "pattern": "^(?=!+[^!*,;{}[\\]~\\n]+$)(?=(.*\\w)).+$",
191
219
  "type": "string"
192
220
  },
@@ -210,13 +238,17 @@
210
238
  ],
211
239
  "description": "Reference to a dictionary by name. One of:\n- {@link DictionaryRef } \n- {@link DictionaryNegRef }"
212
240
  },
241
+ "FSPathResolvable": {
242
+ "$ref": "#/definitions/FsPath",
243
+ "description": "A File System Path.\n\nSpecial Properties:\n- `${cwd}` prefix - will be replaced with the current working directory.\n- Relative paths are relative to the configuration file."
244
+ },
213
245
  "FsPath": {
214
- "description": "A File System Path",
246
+ "description": "A File System Path. Relative paths are relative to the configuration file.",
215
247
  "type": "string"
216
248
  },
217
249
  "Glob": {
218
250
  "$ref": "#/definitions/SimpleGlob",
219
- "description": "These are glob expressions"
251
+ "description": "These are glob expressions."
220
252
  },
221
253
  "LanguageId": {
222
254
  "anyOf": [
@@ -260,7 +292,7 @@
260
292
  "type": "boolean"
261
293
  },
262
294
  "description": {
263
- "description": "Optional description of configuration",
295
+ "description": "Optional description of configuration.",
264
296
  "type": "string"
265
297
  },
266
298
  "dictionaries": {
@@ -271,7 +303,7 @@
271
303
  "type": "array"
272
304
  },
273
305
  "dictionaryDefinitions": {
274
- "description": "Define additional available dictionaries",
306
+ "description": "Define additional available dictionaries.",
275
307
  "items": {
276
308
  "$ref": "#/definitions/DictionaryDefinition"
277
309
  },
@@ -279,23 +311,23 @@
279
311
  },
280
312
  "enabled": {
281
313
  "default": true,
282
- "description": "Is the spell checker enabled",
314
+ "description": "Is the spell checker enabled.",
283
315
  "type": "boolean"
284
316
  },
285
317
  "flagWords": {
286
- "description": "list of words to always be considered incorrect.",
318
+ "description": "List of words to always be considered incorrect.",
287
319
  "items": {
288
320
  "type": "string"
289
321
  },
290
322
  "type": "array"
291
323
  },
292
324
  "id": {
293
- "description": "Optional identifier",
325
+ "description": "Optional identifier.",
294
326
  "type": "string"
295
327
  },
296
328
  "ignoreRegExpList": {
297
329
  "$ref": "#/definitions/RegExpPatternList",
298
- "description": "List of RegExp patterns or Pattern names to exclude from spell checking.\n\nExample: [\"href\"] - to exclude html href"
330
+ "description": "List of RegExp patterns or Pattern names to exclude from spell checking.\n\nExample: [\"href\"] - to exclude html href."
299
331
  },
300
332
  "ignoreWords": {
301
333
  "description": "List of words to be ignored. An Ignored word will not show up as an error even if it is also in the `flagWords`.",
@@ -320,7 +352,7 @@
320
352
  "type": "array"
321
353
  }
322
354
  ],
323
- "description": "The language id. Ex: \"typescript\", \"html\", or \"php\". \"*\" -- will match all languages"
355
+ "description": "The language id. Ex: \"typescript\", \"html\", or \"php\". \"*\" -- will match all languages."
324
356
  },
325
357
  "local": {
326
358
  "anyOf": [
@@ -335,7 +367,7 @@
335
367
  }
336
368
  ],
337
369
  "deprecated": true,
338
- "deprecationMessage": "Use `locale` instead",
370
+ "deprecationMessage": "Use `locale` instead.",
339
371
  "description": "Deprecated - The locale filter, matches against the language. This can be a comma separated list. \"*\" will match all locales."
340
372
  },
341
373
  "locale": {
@@ -353,7 +385,7 @@
353
385
  "description": "The locale filter, matches against the language. This can be a comma separated list. \"*\" will match all locales."
354
386
  },
355
387
  "name": {
356
- "description": "Optional name of configuration",
388
+ "description": "Optional name of configuration.",
357
389
  "type": "string"
358
390
  },
359
391
  "noSuggestDictionaries": {
@@ -364,14 +396,14 @@
364
396
  "type": "array"
365
397
  },
366
398
  "patterns": {
367
- "description": "Defines a list of patterns that can be used in ignoreRegExpList and includeRegExpList",
399
+ "description": "Defines a list of patterns that can be used in ignoreRegExpList and includeRegExpList.",
368
400
  "items": {
369
401
  "$ref": "#/definitions/RegExpPatternDefinition"
370
402
  },
371
403
  "type": "array"
372
404
  },
373
405
  "words": {
374
- "description": "list of words to be always considered correct",
406
+ "description": "List of words to be always considered correct.",
375
407
  "items": {
376
408
  "type": "string"
377
409
  },
@@ -401,7 +433,7 @@
401
433
  "type": "boolean"
402
434
  },
403
435
  "description": {
404
- "description": "Optional description of configuration",
436
+ "description": "Optional description of configuration.",
405
437
  "type": "string"
406
438
  },
407
439
  "dictionaries": {
@@ -412,7 +444,7 @@
412
444
  "type": "array"
413
445
  },
414
446
  "dictionaryDefinitions": {
415
- "description": "Define additional available dictionaries",
447
+ "description": "Define additional available dictionaries.",
416
448
  "items": {
417
449
  "$ref": "#/definitions/DictionaryDefinition"
418
450
  },
@@ -430,7 +462,7 @@
430
462
  },
431
463
  "enabled": {
432
464
  "default": true,
433
- "description": "Is the spell checker enabled",
465
+ "description": "Is the spell checker enabled.",
434
466
  "type": "boolean"
435
467
  },
436
468
  "enabledLanguageIds": {
@@ -452,22 +484,22 @@
452
484
  "type": "array"
453
485
  }
454
486
  ],
455
- "description": "Glob pattern or patterns to match against"
487
+ "description": "Glob pattern or patterns to match against."
456
488
  },
457
489
  "flagWords": {
458
- "description": "list of words to always be considered incorrect.",
490
+ "description": "List of words to always be considered incorrect.",
459
491
  "items": {
460
492
  "type": "string"
461
493
  },
462
494
  "type": "array"
463
495
  },
464
496
  "id": {
465
- "description": "Optional identifier",
497
+ "description": "Optional identifier.",
466
498
  "type": "string"
467
499
  },
468
500
  "ignoreRegExpList": {
469
501
  "$ref": "#/definitions/RegExpPatternList",
470
- "description": "List of RegExp patterns or Pattern names to exclude from spell checking.\n\nExample: [\"href\"] - to exclude html href"
502
+ "description": "List of RegExp patterns or Pattern names to exclude from spell checking.\n\nExample: [\"href\"] - to exclude html href."
471
503
  },
472
504
  "ignoreWords": {
473
505
  "description": "List of words to be ignored. An Ignored word will not show up as an error even if it is also in the `flagWords`.",
@@ -482,11 +514,11 @@
482
514
  },
483
515
  "language": {
484
516
  "$ref": "#/definitions/LocaleId",
485
- "description": "Sets the locale"
517
+ "description": "Sets the locale."
486
518
  },
487
519
  "languageId": {
488
520
  "$ref": "#/definitions/LanguageId",
489
- "description": "Sets the programming language id"
521
+ "description": "Sets the programming language id."
490
522
  },
491
523
  "languageSettings": {
492
524
  "description": "Additional settings for individual languages.",
@@ -511,7 +543,7 @@
511
543
  "type": "number"
512
544
  },
513
545
  "name": {
514
- "description": "Optional name of configuration",
546
+ "description": "Optional name of configuration.",
515
547
  "type": "string"
516
548
  },
517
549
  "noSuggestDictionaries": {
@@ -523,11 +555,11 @@
523
555
  },
524
556
  "numSuggestions": {
525
557
  "default": 10,
526
- "description": "Number of suggestions to make",
558
+ "description": "Number of suggestions to make.",
527
559
  "type": "number"
528
560
  },
529
561
  "patterns": {
530
- "description": "Defines a list of patterns that can be used in ignoreRegExpList and includeRegExpList",
562
+ "description": "Defines a list of patterns that can be used in ignoreRegExpList and includeRegExpList.",
531
563
  "items": {
532
564
  "$ref": "#/definitions/RegExpPatternDefinition"
533
565
  },
@@ -560,7 +592,7 @@
560
592
  "type": "boolean"
561
593
  },
562
594
  "words": {
563
- "description": "list of words to be always considered correct",
595
+ "description": "List of words to be always considered correct.",
564
596
  "items": {
565
597
  "type": "string"
566
598
  },
@@ -576,7 +608,7 @@
576
608
  "type": "string"
577
609
  },
578
610
  "PatternId": {
579
- "description": "This matches the name in a pattern definition",
611
+ "description": "This matches the name in a pattern definition.",
580
612
  "type": "string"
581
613
  },
582
614
  "PatternRef": {
@@ -596,6 +628,8 @@
596
628
  "PredefinedPatterns": {
597
629
  "enum": [
598
630
  "Base64",
631
+ "Base64MultiLine",
632
+ "Base64SingleLine",
599
633
  "CStyleComment",
600
634
  "CStyleHexValue",
601
635
  "CSSHexValue",
@@ -608,7 +642,9 @@
608
642
  "PhpHereDoc",
609
643
  "PublicKey",
610
644
  "RsaCert",
645
+ "SshRsa",
611
646
  "SHA",
647
+ "HashStrings",
612
648
  "SpellCheckerDisable",
613
649
  "SpellCheckerDisableBlock",
614
650
  "SpellCheckerDisableLine",
@@ -645,7 +681,7 @@
645
681
  "type": "array"
646
682
  }
647
683
  ],
648
- "description": "RegExp pattern or array of RegExp patterns"
684
+ "description": "RegExp pattern or array of RegExp patterns."
649
685
  }
650
686
  },
651
687
  "required": [
@@ -655,7 +691,7 @@
655
691
  "type": "object"
656
692
  },
657
693
  "RegExpPatternList": {
658
- "description": "A list of pattern names or regular expressions",
694
+ "description": "A list of pattern names or regular expressions.",
659
695
  "items": {
660
696
  "$ref": "#/definitions/PatternRef"
661
697
  },
@@ -700,10 +736,10 @@
700
736
  "type": "array"
701
737
  }
702
738
  ],
703
- "description": "reporter name or reporter name + reporter config"
739
+ "description": "Reporter name or reporter name + reporter config."
704
740
  },
705
741
  "SimpleGlob": {
706
- "description": "Simple Glob string, the root will be globRoot",
742
+ "description": "Simple Glob string, the root will be globRoot.",
707
743
  "type": "string"
708
744
  },
709
745
  "Version": {
@@ -718,14 +754,14 @@
718
754
  },
719
755
  "VersionLatest": {
720
756
  "const": "0.2",
721
- "description": "Configuration File Version",
757
+ "description": "Configuration File Version.",
722
758
  "type": "string"
723
759
  },
724
760
  "VersionLegacy": {
725
761
  "const": "0.1",
726
762
  "deprecated": true,
727
- "deprecationMessage": "Use `0.2`",
728
- "description": "Legacy Configuration File Versions",
763
+ "deprecationMessage": "Use `0.2` instead.",
764
+ "description": "Legacy Configuration File Versions.",
729
765
  "type": "string"
730
766
  }
731
767
  },
@@ -738,13 +774,17 @@
738
774
  "description": "True to enable compound word checking.",
739
775
  "type": "boolean"
740
776
  },
777
+ "cache": {
778
+ "$ref": "#/definitions/CacheSettings",
779
+ "description": "Define cache settings."
780
+ },
741
781
  "caseSensitive": {
742
782
  "default": false,
743
783
  "description": "Determines if words must match case and accent rules.\n\n- `false` - Case is ignored and accents can be missing on the entire word. Incorrect accents or partially missing accents will be marked as incorrect.\n- `true` - Case and accents are enforced.",
744
784
  "type": "boolean"
745
785
  },
746
786
  "description": {
747
- "description": "Optional description of configuration",
787
+ "description": "Optional description of configuration.",
748
788
  "type": "string"
749
789
  },
750
790
  "dictionaries": {
@@ -755,7 +795,7 @@
755
795
  "type": "array"
756
796
  },
757
797
  "dictionaryDefinitions": {
758
- "description": "Define additional available dictionaries",
798
+ "description": "Define additional available dictionaries.",
759
799
  "items": {
760
800
  "$ref": "#/definitions/DictionaryDefinition"
761
801
  },
@@ -778,7 +818,7 @@
778
818
  },
779
819
  "enabled": {
780
820
  "default": true,
781
- "description": "Is the spell checker enabled",
821
+ "description": "Is the spell checker enabled.",
782
822
  "type": "boolean"
783
823
  },
784
824
  "enabledLanguageIds": {
@@ -796,7 +836,7 @@
796
836
  "type": "array"
797
837
  },
798
838
  "flagWords": {
799
- "description": "list of words to always be considered incorrect.",
839
+ "description": "List of words to always be considered incorrect.",
800
840
  "items": {
801
841
  "type": "string"
802
842
  },
@@ -817,15 +857,15 @@
817
857
  "description": "Tells the spell checker to searching for `.gitignore` files when it reaches a matching root."
818
858
  },
819
859
  "globRoot": {
820
- "$ref": "#/definitions/FsPath",
821
- "description": "The root to use for glop patterns found in this configuration. Default: location of the configuration file. For compatibility reasons, config files with version 0.1, the glob root will default to be `${cwd}`.\n\nUse `globRoot` to define a different location. `globRoot` can be relative to the location of this configuration file. Defining globRoot, does not impact imported configurations.\n\nSpecial Values:\n- `${cwd}` - will be replaced with the current working directory.\n- `.` - will be the location of the containing configuration file."
860
+ "$ref": "#/definitions/FSPathResolvable",
861
+ "description": "The root to use for glob patterns found in this configuration. Default: location of the configuration file. For compatibility reasons, config files with version 0.1, the glob root will default to be `${cwd}`.\n\nUse `globRoot` to define a different location. `globRoot` can be relative to the location of this configuration file. Defining globRoot, does not impact imported configurations.\n\nSpecial Values:\n- `${cwd}` - will be replaced with the current working directory.\n- `.` - will be the location of the containing configuration file."
822
862
  },
823
863
  "id": {
824
- "description": "Optional identifier",
864
+ "description": "Optional identifier.",
825
865
  "type": "string"
826
866
  },
827
867
  "ignorePaths": {
828
- "description": "Glob patterns of files to be ignored Glob patterns are relative to the `globRoot` of the configuration file that defines them.",
868
+ "description": "Glob patterns of files to be ignored. Glob patterns are relative to the `globRoot` of the configuration file that defines them.",
829
869
  "items": {
830
870
  "$ref": "#/definitions/Glob"
831
871
  },
@@ -833,7 +873,7 @@
833
873
  },
834
874
  "ignoreRegExpList": {
835
875
  "$ref": "#/definitions/RegExpPatternList",
836
- "description": "List of RegExp patterns or Pattern names to exclude from spell checking.\n\nExample: [\"href\"] - to exclude html href"
876
+ "description": "List of RegExp patterns or Pattern names to exclude from spell checking.\n\nExample: [\"href\"] - to exclude html href."
837
877
  },
838
878
  "ignoreWords": {
839
879
  "description": "List of words to be ignored. An Ignored word will not show up as an error even if it is also in the `flagWords`.",
@@ -854,7 +894,7 @@
854
894
  "type": "array"
855
895
  }
856
896
  ],
857
- "description": "Other settings files to be included"
897
+ "description": "Other settings files to be included."
858
898
  },
859
899
  "includeRegExpList": {
860
900
  "$ref": "#/definitions/RegExpPatternList",
@@ -863,7 +903,7 @@
863
903
  "language": {
864
904
  "$ref": "#/definitions/LocaleId",
865
905
  "default": "en",
866
- "description": "Current active spelling language.\n\nExample: \"en-GB\" for British English\n\nExample: \"en,nl\" to enable both English and Dutch"
906
+ "description": "Current active spelling language.\n\nExample: \"en-GB\" for British English.\n\nExample: \"en,nl\" to enable both English and Dutch."
867
907
  },
868
908
  "languageId": {
869
909
  "$ref": "#/definitions/LanguageId",
@@ -892,7 +932,7 @@
892
932
  "type": "number"
893
933
  },
894
934
  "name": {
895
- "description": "Optional name of configuration",
935
+ "description": "Optional name of configuration.",
896
936
  "type": "string"
897
937
  },
898
938
  "noConfigSearch": {
@@ -909,7 +949,7 @@
909
949
  },
910
950
  "numSuggestions": {
911
951
  "default": 10,
912
- "description": "Number of suggestions to make",
952
+ "description": "Number of suggestions to make.",
913
953
  "type": "number"
914
954
  },
915
955
  "overrides": {
@@ -920,7 +960,7 @@
920
960
  "type": "array"
921
961
  },
922
962
  "patterns": {
923
- "description": "Defines a list of patterns that can be used in ignoreRegExpList and includeRegExpList",
963
+ "description": "Defines a list of patterns that can be used in ignoreRegExpList and includeRegExpList.",
924
964
  "items": {
925
965
  "$ref": "#/definitions/RegExpPatternDefinition"
926
966
  },
@@ -943,7 +983,7 @@
943
983
  "type": "boolean"
944
984
  },
945
985
  "reporters": {
946
- "description": "Custom reporters configuration",
986
+ "description": "Custom reporters configuration.",
947
987
  "items": {
948
988
  "$ref": "#/definitions/ReporterSettings"
949
989
  },
@@ -951,7 +991,7 @@
951
991
  },
952
992
  "showStatus": {
953
993
  "deprecated": true,
954
- "description": "Show status",
994
+ "description": "Show status.",
955
995
  "type": "boolean"
956
996
  },
957
997
  "spellCheckDelayMs": {
@@ -992,7 +1032,7 @@
992
1032
  "description": "Configuration format version of the settings file."
993
1033
  },
994
1034
  "words": {
995
- "description": "list of words to be always considered correct",
1035
+ "description": "List of words to be always considered correct.",
996
1036
  "items": {
997
1037
  "type": "string"
998
1038
  },
@@ -36,10 +36,16 @@ export interface ProgressFileComplete extends ProgressBase {
36
36
  }
37
37
  export declare type ProgressEmitter = (p: ProgressItem | ProgressFileComplete) => void;
38
38
  export interface RunResult {
39
+ /** Number of files processed. */
39
40
  files: number;
41
+ /** Set of files where issues were found. */
40
42
  filesWithIssues: Set<string>;
43
+ /** Number of issues found. */
41
44
  issues: number;
45
+ /** Number of processing errors. */
42
46
  errors: number;
47
+ /** Number files that used results from the cache. */
48
+ cachedFiles: number;
43
49
  }
44
50
  export declare type ResultEmitter = (result: RunResult) => void | Promise<void>;
45
51
  export interface CSpellReporter {
@@ -18,7 +18,7 @@ export interface CSpellSettingsWithSourceTrace extends CSpellSettings {
18
18
  __importRef?: ImportFileRef;
19
19
  __imports?: Map<string, ImportFileRef>;
20
20
  }
21
- export interface FileSettings extends ExtendableSettings {
21
+ export interface FileSettings extends ExtendableSettings, CommandLineSettings {
22
22
  /**
23
23
  * Configuration format version of the settings file.
24
24
  * @default "0.2"
@@ -26,10 +26,10 @@ export interface FileSettings extends ExtendableSettings {
26
26
  version?: Version;
27
27
  /** Words to add to global dictionary -- should only be in the user config file. */
28
28
  userWords?: string[];
29
- /** Other settings files to be included */
29
+ /** Other settings files to be included. */
30
30
  import?: FsPath | FsPath[];
31
31
  /**
32
- * The root to use for glop patterns found in this configuration.
32
+ * The root to use for glob patterns found in this configuration.
33
33
  * Default: location of the configuration file.
34
34
  * For compatibility reasons, config files with version 0.1, the glob root will
35
35
  * default to be `${cwd}`.
@@ -43,7 +43,7 @@ export interface FileSettings extends ExtendableSettings {
43
43
  * - `.` - will be the location of the containing configuration file.
44
44
  *
45
45
  */
46
- globRoot?: FsPath;
46
+ globRoot?: FSPathResolvable;
47
47
  /**
48
48
  * Glob patterns of files to be checked.
49
49
  * Glob patterns are relative to the `globRoot` of the configuration file that defines them.
@@ -57,7 +57,7 @@ export interface FileSettings extends ExtendableSettings {
57
57
  */
58
58
  enableGlobDot?: boolean;
59
59
  /**
60
- * Glob patterns of files to be ignored
60
+ * Glob patterns of files to be ignored.
61
61
  * Glob patterns are relative to the `globRoot` of the configuration file that defines them.
62
62
  */
63
63
  ignorePaths?: Glob[];
@@ -74,7 +74,7 @@ export interface FileSettings extends ExtendableSettings {
74
74
  */
75
75
  readonly?: boolean;
76
76
  /**
77
- * Custom reporters configuration
77
+ * Custom reporters configuration.
78
78
  */
79
79
  reporters?: ReporterSettings[];
80
80
  /**
@@ -95,9 +95,9 @@ export interface Settings extends ReportingConfiguration, BaseSetting, PnPSettin
95
95
  /**
96
96
  * Current active spelling language.
97
97
  *
98
- * Example: "en-GB" for British English
98
+ * Example: "en-GB" for British English.
99
99
  *
100
- * Example: "en,nl" to enable both English and Dutch
100
+ * Example: "en,nl" to enable both English and Dutch.
101
101
  * @default "en"
102
102
  */
103
103
  language?: LocaleId;
@@ -144,7 +144,7 @@ export interface ReportingConfiguration extends SuggestionsConfiguration {
144
144
  }
145
145
  export interface SuggestionsConfiguration {
146
146
  /**
147
- * Number of suggestions to make
147
+ * Number of suggestions to make.
148
148
  * @default 10
149
149
  */
150
150
  numSuggestions?: number;
@@ -184,6 +184,42 @@ export interface PnPSettings {
184
184
  */
185
185
  pnpFiles?: string[];
186
186
  }
187
+ /**
188
+ * The Strategy to use to detect if a file has changed.
189
+ * - `metadata` - uses the file system timestamp and size to detect changes (fastest).
190
+ * - `content` - uses a hash of the file content to check file changes (slower - more accurate).
191
+ */
192
+ export declare type CacheStrategy = 'metadata' | 'content';
193
+ export interface CacheSettings {
194
+ /**
195
+ * Store the results of processed files in order to only operate on the changed ones.
196
+ * @default false
197
+ */
198
+ useCache?: boolean;
199
+ /**
200
+ * Path to the cache location. Can be a file or a directory.
201
+ * If none specified `.cspellcache` will be used.
202
+ * Relative paths are relative to the config file in which it
203
+ * is defined.
204
+ *
205
+ * A prefix of `${cwd}` is replaced with the current working directory.
206
+ */
207
+ cacheLocation?: FSPathResolvable;
208
+ /**
209
+ * Strategy to use for detecting changed files, default: metadata
210
+ * @default 'metadata'
211
+ */
212
+ cacheStrategy?: CacheStrategy;
213
+ }
214
+ /**
215
+ * These are settings only used by the command line application.
216
+ */
217
+ export interface CommandLineSettings {
218
+ /**
219
+ * Define cache settings.
220
+ */
221
+ cache?: CacheSettings;
222
+ }
187
223
  /**
188
224
  * To prevent the unwanted execution of untrusted code, WorkspaceTrustSettings
189
225
  * are use to set the trust levels.
@@ -195,27 +231,27 @@ export interface PnPSettings {
195
231
  */
196
232
  export interface WorkspaceTrustSettings {
197
233
  /**
198
- * Glob patterns of locations that contain ALWAYS trusted files
234
+ * Glob patterns of locations that contain ALWAYS trusted files.
199
235
  */
200
236
  trustedFiles?: Glob[];
201
237
  /**
202
- * Glob patterns of locations that contain NEVER trusted files
238
+ * Glob patterns of locations that contain NEVER trusted files.
203
239
  */
204
240
  untrustedFiles?: Glob[];
205
241
  /**
206
- * Sets the default trust level
242
+ * Sets the default trust level.
207
243
  * @default "trusted"
208
244
  */
209
245
  trustLevel?: TrustLevel;
210
246
  }
211
247
  /**
212
- * VS Code Spell Checker Settings
213
- * To be Removed
248
+ * VS Code Spell Checker Settings.
249
+ * To be Removed.
214
250
  * @deprecated true
215
251
  */
216
252
  export interface LegacySettings {
217
253
  /**
218
- * Show status
254
+ * Show status.
219
255
  * @deprecated true
220
256
  */
221
257
  showStatus?: boolean;
@@ -226,30 +262,30 @@ export interface LegacySettings {
226
262
  spellCheckDelayMs?: number;
227
263
  }
228
264
  export interface OverrideSettings extends Settings, OverrideFilterFields {
229
- /** Sets the programming language id */
265
+ /** Sets the programming language id. */
230
266
  languageId?: LanguageId;
231
- /** Sets the locale */
267
+ /** Sets the locale. */
232
268
  language?: LocaleId;
233
269
  }
234
270
  export interface OverrideFilterFields {
235
- /** Glob pattern or patterns to match against */
271
+ /** Glob pattern or patterns to match against. */
236
272
  filename: Glob | Glob[];
237
273
  }
238
274
  export interface BaseSetting {
239
- /** Optional identifier */
275
+ /** Optional identifier. */
240
276
  id?: string;
241
- /** Optional name of configuration */
277
+ /** Optional name of configuration. */
242
278
  name?: string;
243
- /** Optional description of configuration */
279
+ /** Optional description of configuration. */
244
280
  description?: string;
245
281
  /**
246
- * Is the spell checker enabled
282
+ * Is the spell checker enabled.
247
283
  * @default true
248
284
  */
249
285
  enabled?: boolean;
250
- /** list of words to be always considered correct */
286
+ /** List of words to be always considered correct. */
251
287
  words?: string[];
252
- /** list of words to always be considered incorrect. */
288
+ /** List of words to always be considered incorrect. */
253
289
  flagWords?: string[];
254
290
  /** List of words to be ignored. An Ignored word will not show up as an error even if it is also in the `flagWords`. */
255
291
  ignoreWords?: string[];
@@ -268,7 +304,7 @@ export interface BaseSetting {
268
304
  * @default false
269
305
  */
270
306
  caseSensitive?: boolean;
271
- /** Define additional available dictionaries */
307
+ /** Define additional available dictionaries. */
272
308
  dictionaryDefinitions?: DictionaryDefinition[];
273
309
  /**
274
310
  * Optional list of dictionaries to use.
@@ -290,7 +326,7 @@ export interface BaseSetting {
290
326
  /**
291
327
  * List of RegExp patterns or Pattern names to exclude from spell checking.
292
328
  *
293
- * Example: ["href"] - to exclude html href
329
+ * Example: ["href"] - to exclude html href.
294
330
  */
295
331
  ignoreRegExpList?: RegExpPatternList;
296
332
  /**
@@ -298,7 +334,7 @@ export interface BaseSetting {
298
334
  * If includeRegExpList is defined, ONLY, text matching the included patterns will be checked.
299
335
  */
300
336
  includeRegExpList?: RegExpPatternList;
301
- /** Defines a list of patterns that can be used in ignoreRegExpList and includeRegExpList */
337
+ /** Defines a list of patterns that can be used in ignoreRegExpList and includeRegExpList. */
302
338
  patterns?: RegExpPatternDefinition[];
303
339
  }
304
340
  export declare type DictionaryFileTypes = 'S' | 'W' | 'C' | 'T';
@@ -309,17 +345,17 @@ export interface DictionaryDefinitionBase {
309
345
  *
310
346
  * Name Format:
311
347
  * - Must contain at least 1 number or letter.
312
- * - spaces are allowed.
348
+ * - Spaces are allowed.
313
349
  * - Leading and trailing space will be removed.
314
- * - Names ARE case-sensitive
315
- * - Must not contain `*`, `!`, `;`, `,`, `{`, `}`, `[`, `]`, `~`
350
+ * - Names ARE case-sensitive.
351
+ * - Must not contain `*`, `!`, `;`, `,`, `{`, `}`, `[`, `]`, `~`.
316
352
  */
317
353
  name: DictionaryId;
318
- /** Optional description */
354
+ /** Optional description. */
319
355
  description?: string;
320
- /** Replacement pairs */
356
+ /** Replacement pairs. */
321
357
  repMap?: ReplaceMap;
322
- /** Use Compounds */
358
+ /** Use Compounds. */
323
359
  useCompounds?: boolean;
324
360
  /**
325
361
  * Indicate that suggestions should not come from this dictionary.
@@ -335,18 +371,18 @@ export interface DictionaryDefinitionBase {
335
371
  * Type of file:
336
372
  * S - single word per line,
337
373
  * W - each line can contain one or more words separated by space,
338
- * C - each line is treated like code (Camel Case is allowed)
339
- * Default is S
374
+ * C - each line is treated like code (Camel Case is allowed).
375
+ * Default is S.
340
376
  * C is the slowest to load due to the need to split each line based upon code splitting rules.
341
377
  * @default "S"
342
378
  */
343
379
  type?: DictionaryFileTypes;
344
380
  }
345
381
  export interface DictionaryDefinitionPreferred extends DictionaryDefinitionBase {
346
- /** Path to the file */
382
+ /** Path to the file. */
347
383
  path: DictionaryPath;
348
384
  /**
349
- * Only for legacy dictionary definitions
385
+ * Only for legacy dictionary definitions.
350
386
  * @deprecated true
351
387
  * @deprecationMessage Use `path` instead.
352
388
  * @hidden
@@ -354,15 +390,15 @@ export interface DictionaryDefinitionPreferred extends DictionaryDefinitionBase
354
390
  file?: undefined;
355
391
  }
356
392
  /**
357
- * Only for legacy dictionary definitions
393
+ * Only for legacy dictionary definitions.
358
394
  * @deprecated true
359
- * @deprecationMessage Use `DictionaryDefinitionPreferred`
395
+ * @deprecationMessage Use `DictionaryDefinitionPreferred` instead.
360
396
  */
361
397
  export interface DictionaryDefinitionAlternate extends DictionaryDefinitionBase {
362
398
  /** @hidden */
363
399
  path?: undefined;
364
400
  /**
365
- * Path to the file, only for legacy dictionary definitions
401
+ * Path to the file, only for legacy dictionary definitions.
366
402
  * @deprecated true
367
403
  * @deprecationMessage Use `path` instead.
368
404
  */
@@ -373,20 +409,20 @@ export interface DictionaryDefinitionAlternate extends DictionaryDefinitionBase
373
409
  * @hidden
374
410
  */
375
411
  export interface DictionaryDefinitionLegacy extends DictionaryDefinitionBase {
376
- /** Path to the file, if undefined the path to the extension dictionaries is assumed */
412
+ /** Path to the file, if undefined the path to the extension dictionaries is assumed. */
377
413
  path?: FsPath;
378
414
  /**
379
- * File name
415
+ * File name.
380
416
  * @deprecated true
381
- * @deprecationMessage Use path instead.
417
+ * @deprecationMessage Use `path` instead.
382
418
  */
383
419
  file: FsPath;
384
420
  /**
385
421
  * Type of file:
386
422
  * S - single word per line,
387
423
  * W - each line can contain one or more words separated by space,
388
- * C - each line is treated like code (Camel Case is allowed)
389
- * Default is S
424
+ * C - each line is treated like code (Camel Case is allowed).
425
+ * Default is S.
390
426
  * C is the slowest to load due to the need to split each line based upon code splitting rules.
391
427
  * @default "S"
392
428
  */
@@ -408,7 +444,7 @@ export interface DictionaryDefinitionCustom extends DictionaryDefinitionPreferre
408
444
  path: CustomDictionaryPath;
409
445
  /**
410
446
  * Defines the scope for when words will be added to the dictionary.
411
- * Scope values: `user`, `workspace`, `folder`
447
+ * Scope values: `user`, `workspace`, `folder`.
412
448
  */
413
449
  scope?: CustomDictionaryScope | CustomDictionaryScope[];
414
450
  /**
@@ -421,40 +457,40 @@ export interface LanguageSetting extends LanguageSettingFilterFields, BaseSettin
421
457
  export interface LanguageSettingFilterFields extends LanguageSettingFilterFieldsPreferred, LanguageSettingFilterFieldsDeprecated {
422
458
  }
423
459
  export interface LanguageSettingFilterFieldsPreferred {
424
- /** The language id. Ex: "typescript", "html", or "php". "*" -- will match all languages */
460
+ /** The language id. Ex: "typescript", "html", or "php". "*" -- will match all languages. */
425
461
  languageId: LanguageId | LanguageIdSingle[];
426
462
  /** The locale filter, matches against the language. This can be a comma separated list. "*" will match all locales. */
427
463
  locale?: LocaleId | LocaleId[];
428
464
  }
429
465
  export interface LanguageSettingFilterFieldsDeprecated {
430
- /** The language id. Ex: "typescript", "html", or "php". "*" -- will match all languages */
466
+ /** The language id. Ex: "typescript", "html", or "php". "*" -- will match all languages. */
431
467
  languageId: LanguageId | LanguageIdSingle[];
432
468
  /**
433
469
  * Deprecated - The locale filter, matches against the language. This can be a comma separated list. "*" will match all locales.
434
470
  * @deprecated true
435
- * @deprecationMessage Use `locale` instead
471
+ * @deprecationMessage Use `locale` instead.
436
472
  */
437
473
  local?: LocaleId | LocaleId[];
438
474
  }
439
475
  /** @hidden */
440
476
  declare type InternalRegExp = RegExp;
441
477
  export declare type Pattern = string | InternalRegExp;
442
- export declare type PredefinedPatterns = 'Base64' | 'CStyleComment' | 'CStyleHexValue' | 'CSSHexValue' | 'CommitHash' | 'CommitHashLink' | 'Email' | 'EscapeCharacters' | 'HexValues' | 'href' | 'PhpHereDoc' | 'PublicKey' | 'RsaCert' | 'SHA' | 'SpellCheckerDisable' | 'SpellCheckerDisableBlock' | 'SpellCheckerDisableLine' | 'SpellCheckerDisableNext' | 'SpellCheckerIgnoreInDocSetting' | 'string' | 'UnicodeRef' | 'Urls' | 'UUID' | 'Everything';
443
- /** This matches the name in a pattern definition */
478
+ export declare type PredefinedPatterns = 'Base64' | 'Base64MultiLine' | 'Base64SingleLine' | 'CStyleComment' | 'CStyleHexValue' | 'CSSHexValue' | 'CommitHash' | 'CommitHashLink' | 'Email' | 'EscapeCharacters' | 'HexValues' | 'href' | 'PhpHereDoc' | 'PublicKey' | 'RsaCert' | 'SshRsa' | 'SHA' | 'HashStrings' | 'SpellCheckerDisable' | 'SpellCheckerDisableBlock' | 'SpellCheckerDisableLine' | 'SpellCheckerDisableNext' | 'SpellCheckerIgnoreInDocSetting' | 'string' | 'UnicodeRef' | 'Urls' | 'UUID' | 'Everything';
479
+ /** This matches the name in a pattern definition. */
444
480
  export declare type PatternId = string;
445
481
  /** A PatternRef is a Pattern or PatternId. */
446
482
  export declare type PatternRef = Pattern | PatternId | PredefinedPatterns;
447
- /** A list of pattern names or regular expressions */
483
+ /** A list of pattern names or regular expressions. */
448
484
  export declare type RegExpPatternList = PatternRef[];
449
485
  /**
450
486
  * This is the name of a dictionary.
451
487
  *
452
488
  * Name Format:
453
489
  * - Must contain at least 1 number or letter.
454
- * - spaces are allowed.
490
+ * - Spaces are allowed.
455
491
  * - Leading and trailing space will be removed.
456
- * - Names ARE case-sensitive
457
- * - Must not contain `*`, `!`, `;`, `,`, `{`, `}`, `[`, `]`, `~`
492
+ * - Names ARE case-sensitive.
493
+ * - Must not contain `*`, `!`, `;`, `,`, `{`, `}`, `[`, `]`, `~`.
458
494
  *
459
495
  * @pattern ^(?=[^!*,;{}[\]~\n]+$)(?=(.*\w)).+$
460
496
  */
@@ -470,10 +506,10 @@ export declare type DictionaryRef = DictionaryId;
470
506
  * It is used to exclude or include a dictionary by name.
471
507
  *
472
508
  * The reference starts with 1 or more `!`.
473
- * - `!<dictionary_name>` - Used to exclude the dictionary matching `<dictionary_name>`
474
- * - `!!<dictionary_name>` - Used to re-include a dictionary matching `<dictionary_name>`
509
+ * - `!<dictionary_name>` - Used to exclude the dictionary matching `<dictionary_name>`.
510
+ * - `!!<dictionary_name>` - Used to re-include a dictionary matching `<dictionary_name>`.
475
511
  * Overrides `!<dictionary_name>`.
476
- * - `!!!<dictionary_name>` - Used to exclude a dictionary matching `<dictionary_name>`
512
+ * - `!!!<dictionary_name>` - Used to exclude a dictionary matching `<dictionary_name>`.
477
513
  * Overrides `!!<dictionary_name>`.
478
514
  *
479
515
  * @pattern ^(?=!+[^!*,;{}[\]~\n]+$)(?=(.*\w)).+$
@@ -489,24 +525,24 @@ export declare type DictionaryReference = DictionaryRef | DictionaryNegRef;
489
525
  /** This is a written language locale like: 'en', 'en-GB', 'fr', 'es', 'de', etc. */
490
526
  export declare type LocaleId = string;
491
527
  /**
492
- * Configuration File Version
528
+ * Configuration File Version.
493
529
  */
494
530
  export declare type VersionLatest = '0.2';
495
531
  /**
496
- * Legacy Configuration File Versions
532
+ * Legacy Configuration File Versions.
497
533
  * @deprecated true
498
- * @deprecationMessage Use `0.2`
534
+ * @deprecationMessage Use `0.2` instead.
499
535
  */
500
536
  export declare type VersionLegacy = '0.1';
501
537
  export declare type Version = VersionLatest | VersionLegacy;
502
538
  /**
503
539
  * @deprecated true
504
- * @deprecationMessage Use LocaleId instead
540
+ * @deprecationMessage Use `LocaleId` instead.
505
541
  */
506
542
  export declare type LocalId = LocaleId;
507
- /** These are glob expressions */
543
+ /** These are glob expressions. */
508
544
  export declare type Glob = SimpleGlob | GlobDef;
509
- /** Simple Glob string, the root will be globRoot */
545
+ /** Simple Glob string, the root will be globRoot. */
510
546
  export declare type SimpleGlob = string;
511
547
  /**
512
548
  * Used to define fully qualified glob patterns.
@@ -515,7 +551,7 @@ export declare type SimpleGlob = string;
515
551
  * @hidden
516
552
  */
517
553
  export interface GlobDef {
518
- /** Glob pattern to match */
554
+ /** Glob pattern to match. */
519
555
  glob: string;
520
556
  /** Optional root to use when matching the glob. Defaults to current working dir. */
521
557
  root?: string;
@@ -541,9 +577,19 @@ export declare type LanguageIdMultiple = string;
541
577
  */
542
578
  export declare type LanguageIdMultipleNeg = string;
543
579
  export declare type LanguageId = LanguageIdSingle | LanguageIdMultiple | LanguageIdMultipleNeg;
544
- /** A File System Path */
580
+ /**
581
+ * A File System Path. Relative paths are relative to the configuration file.
582
+ */
545
583
  export declare type FsPath = string;
546
- /** Trust Security Level */
584
+ /**
585
+ * A File System Path.
586
+ *
587
+ * Special Properties:
588
+ * - `${cwd}` prefix - will be replaced with the current working directory.
589
+ * - Relative paths are relative to the configuration file.
590
+ */
591
+ export declare type FSPathResolvable = FsPath;
592
+ /** Trust Security Level. */
547
593
  export declare type TrustLevel = 'trusted' | 'untrusted';
548
594
  /**
549
595
  * A File System Path to a dictionary file.
@@ -562,7 +608,7 @@ export interface RegExpPatternDefinition {
562
608
  */
563
609
  name: PatternId;
564
610
  /**
565
- * RegExp pattern or array of RegExp patterns
611
+ * RegExp pattern or array of RegExp patterns.
566
612
  */
567
613
  pattern: Pattern | Pattern[];
568
614
  /**
@@ -573,47 +619,47 @@ export interface RegExpPatternDefinition {
573
619
  export declare type CSpellUserSettingsWithComments = CSpellUserSettings;
574
620
  export declare type Source = FileSource | MergeSource | InMemorySource | BaseSource;
575
621
  export interface FileSource extends BaseSource {
576
- /** name of source */
622
+ /** Name of source. */
577
623
  name: string;
578
- /** filename if this came from a file. */
624
+ /** Filename if this came from a file. */
579
625
  filename: string;
580
- /** The two settings that were merged to */
626
+ /** The two settings that were merged to. */
581
627
  sources?: undefined;
582
628
  /** The configuration read. */
583
629
  fileSource: CSpellSettings;
584
630
  }
585
631
  export interface MergeSource extends BaseSource {
586
- /** name of source */
632
+ /** Name of source. */
587
633
  name: string;
588
- /** filename if this came from a file. */
634
+ /** Filename if this came from a file. */
589
635
  filename?: undefined;
590
- /** The two settings that were merged to */
636
+ /** The two settings that were merged to. */
591
637
  sources: [CSpellSettings] | [CSpellSettings, CSpellSettings];
592
638
  /** The configuration read. */
593
639
  fileSource?: undefined;
594
640
  }
595
641
  export interface InMemorySource extends BaseSource {
596
- /** name of source */
642
+ /** Name of source. */
597
643
  name: string;
598
- /** filename if this came from a file. */
644
+ /** Filename if this came from a file. */
599
645
  filename?: undefined;
600
- /** The two settings that were merged to */
646
+ /** The two settings that were merged to. */
601
647
  sources?: undefined;
602
648
  /** The configuration read. */
603
649
  fileSource?: undefined;
604
650
  }
605
651
  interface BaseSource {
606
- /** name of source */
652
+ /** Name of source. */
607
653
  name: string;
608
- /** filename if this came from a file. */
654
+ /** Filename if this came from a file. */
609
655
  filename?: string | undefined;
610
- /** The two settings that were merged to */
656
+ /** The two settings that were merged to. */
611
657
  sources?: [CSpellSettings] | [CSpellSettings, CSpellSettings] | undefined;
612
658
  /** The configuration read. */
613
659
  fileSource?: CSpellSettings | undefined;
614
660
  }
615
661
  /**
616
- * reporter name or reporter name + reporter config
662
+ * Reporter name or reporter name + reporter config.
617
663
  */
618
664
  export declare type ReporterSettings = string | [string] | [string, unknown];
619
665
  export {};
@@ -0,0 +1,7 @@
1
+ import type { CSpellUserSettings } from './CSpellSettingsDef';
2
+ export declare type ConfigKeys = Exclude<keyof CSpellUserSettings, '$schema' | 'version' | 'id'>;
3
+ export declare type CSpellUserSettingsFields = {
4
+ [key in ConfigKeys]: key;
5
+ };
6
+ export declare const ConfigFields: CSpellUserSettingsFields;
7
+ //# sourceMappingURL=configFields.d.ts.map
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ConfigFields = void 0;
4
+ exports.ConfigFields = {
5
+ allowCompoundWords: 'allowCompoundWords',
6
+ cache: 'cache',
7
+ caseSensitive: 'caseSensitive',
8
+ description: 'description',
9
+ dictionaries: 'dictionaries',
10
+ dictionaryDefinitions: 'dictionaryDefinitions',
11
+ enabled: 'enabled',
12
+ enabledLanguageIds: 'enabledLanguageIds',
13
+ enableFiletypes: 'enableFiletypes',
14
+ enableGlobDot: 'enableGlobDot',
15
+ files: 'files',
16
+ flagWords: 'flagWords',
17
+ gitignoreRoot: 'gitignoreRoot',
18
+ globRoot: 'globRoot',
19
+ ignorePaths: 'ignorePaths',
20
+ ignoreRegExpList: 'ignoreRegExpList',
21
+ ignoreWords: 'ignoreWords',
22
+ import: 'import',
23
+ includeRegExpList: 'includeRegExpList',
24
+ language: 'language',
25
+ languageId: 'languageId',
26
+ languageSettings: 'languageSettings',
27
+ maxDuplicateProblems: 'maxDuplicateProblems',
28
+ maxNumberOfProblems: 'maxNumberOfProblems',
29
+ minWordLength: 'minWordLength',
30
+ name: 'name',
31
+ noConfigSearch: 'noConfigSearch',
32
+ noSuggestDictionaries: 'noSuggestDictionaries',
33
+ numSuggestions: 'numSuggestions',
34
+ overrides: 'overrides',
35
+ patterns: 'patterns',
36
+ pnpFiles: 'pnpFiles',
37
+ readonly: 'readonly',
38
+ reporters: 'reporters',
39
+ showStatus: 'showStatus',
40
+ spellCheckDelayMs: 'spellCheckDelayMs',
41
+ suggestionNumChanges: 'suggestionNumChanges',
42
+ suggestionsTimeout: 'suggestionsTimeout',
43
+ useGitignore: 'useGitignore',
44
+ usePnP: 'usePnP',
45
+ userWords: 'userWords',
46
+ words: 'words',
47
+ };
48
+ // export const ConfigKeysNames = Object.values(ConfigKeysByField);
49
+ //# sourceMappingURL=configFields.js.map
package/dist/index.d.ts CHANGED
@@ -1,4 +1,6 @@
1
- export * from './CSpellSettingsDef';
1
+ export { ConfigFields } from './configFields';
2
+ export type { CSpellUserSettingsFields } from './configFields';
2
3
  export * from './CSpellReporter';
3
- export * from './TextOffset';
4
+ export * from './CSpellSettingsDef';
5
+ export type { TextDocumentOffset, TextOffset } from './TextOffset';
4
6
  //# sourceMappingURL=index.d.ts.map
package/dist/index.js CHANGED
@@ -10,7 +10,10 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
10
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
11
  };
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
- __exportStar(require("./CSpellSettingsDef"), exports);
13
+ exports.ConfigFields = void 0;
14
+ // Using old-style of `type` exports because the new style breaks some integrations.
15
+ var configFields_1 = require("./configFields");
16
+ Object.defineProperty(exports, "ConfigFields", { enumerable: true, get: function () { return configFields_1.ConfigFields; } });
14
17
  __exportStar(require("./CSpellReporter"), exports);
15
- __exportStar(require("./TextOffset"), exports);
18
+ __exportStar(require("./CSpellSettingsDef"), exports);
16
19
  //# sourceMappingURL=index.js.map
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "publishConfig": {
4
4
  "access": "public"
5
5
  },
6
- "version": "5.13.4",
6
+ "version": "5.15.1",
7
7
  "description": "Types for cspell and cspell-lib",
8
8
  "main": "dist/index.js",
9
9
  "typings": "dist/index.d.ts",
@@ -49,12 +49,12 @@
49
49
  },
50
50
  "devDependencies": {
51
51
  "ajv-cli": "^5.0.0",
52
- "jest": "^27.4.5",
52
+ "jest": "^27.4.7",
53
53
  "rimraf": "^3.0.2",
54
54
  "ts-json-schema-generator": "^0.97.0",
55
55
  "typedoc": "^0.22.10",
56
- "typedoc-plugin-markdown": "^3.11.8",
56
+ "typedoc-plugin-markdown": "^3.11.9",
57
57
  "typescript": "^4.5.4"
58
58
  },
59
- "gitHead": "cf6ef9e6137af46d1a7ebd83600c05a4892c4814"
59
+ "gitHead": "b0461bc45386484e14ac7ad97a68d7d860d2309a"
60
60
  }