@cspell/cspell-types 5.13.3 → 5.15.0

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"
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,39 @@ 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
203
+ */
204
+ cacheLocation?: FSPathResolvable;
205
+ /**
206
+ * Strategy to use for detecting changed files, default: metadata
207
+ * @default 'metadata'
208
+ */
209
+ cacheStrategy?: CacheStrategy;
210
+ }
211
+ /**
212
+ * These are settings only used by the command line application.
213
+ */
214
+ export interface CommandLineSettings {
215
+ /**
216
+ * Define cache settings.
217
+ */
218
+ cache?: CacheSettings;
219
+ }
187
220
  /**
188
221
  * To prevent the unwanted execution of untrusted code, WorkspaceTrustSettings
189
222
  * are use to set the trust levels.
@@ -195,27 +228,27 @@ export interface PnPSettings {
195
228
  */
196
229
  export interface WorkspaceTrustSettings {
197
230
  /**
198
- * Glob patterns of locations that contain ALWAYS trusted files
231
+ * Glob patterns of locations that contain ALWAYS trusted files.
199
232
  */
200
233
  trustedFiles?: Glob[];
201
234
  /**
202
- * Glob patterns of locations that contain NEVER trusted files
235
+ * Glob patterns of locations that contain NEVER trusted files.
203
236
  */
204
237
  untrustedFiles?: Glob[];
205
238
  /**
206
- * Sets the default trust level
239
+ * Sets the default trust level.
207
240
  * @default "trusted"
208
241
  */
209
242
  trustLevel?: TrustLevel;
210
243
  }
211
244
  /**
212
- * VS Code Spell Checker Settings
213
- * To be Removed
245
+ * VS Code Spell Checker Settings.
246
+ * To be Removed.
214
247
  * @deprecated true
215
248
  */
216
249
  export interface LegacySettings {
217
250
  /**
218
- * Show status
251
+ * Show status.
219
252
  * @deprecated true
220
253
  */
221
254
  showStatus?: boolean;
@@ -226,30 +259,30 @@ export interface LegacySettings {
226
259
  spellCheckDelayMs?: number;
227
260
  }
228
261
  export interface OverrideSettings extends Settings, OverrideFilterFields {
229
- /** Sets the programming language id */
262
+ /** Sets the programming language id. */
230
263
  languageId?: LanguageId;
231
- /** Sets the locale */
264
+ /** Sets the locale. */
232
265
  language?: LocaleId;
233
266
  }
234
267
  export interface OverrideFilterFields {
235
- /** Glob pattern or patterns to match against */
268
+ /** Glob pattern or patterns to match against. */
236
269
  filename: Glob | Glob[];
237
270
  }
238
271
  export interface BaseSetting {
239
- /** Optional identifier */
272
+ /** Optional identifier. */
240
273
  id?: string;
241
- /** Optional name of configuration */
274
+ /** Optional name of configuration. */
242
275
  name?: string;
243
- /** Optional description of configuration */
276
+ /** Optional description of configuration. */
244
277
  description?: string;
245
278
  /**
246
- * Is the spell checker enabled
279
+ * Is the spell checker enabled.
247
280
  * @default true
248
281
  */
249
282
  enabled?: boolean;
250
- /** list of words to be always considered correct */
283
+ /** List of words to be always considered correct. */
251
284
  words?: string[];
252
- /** list of words to always be considered incorrect. */
285
+ /** List of words to always be considered incorrect. */
253
286
  flagWords?: string[];
254
287
  /** 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
288
  ignoreWords?: string[];
@@ -268,7 +301,7 @@ export interface BaseSetting {
268
301
  * @default false
269
302
  */
270
303
  caseSensitive?: boolean;
271
- /** Define additional available dictionaries */
304
+ /** Define additional available dictionaries. */
272
305
  dictionaryDefinitions?: DictionaryDefinition[];
273
306
  /**
274
307
  * Optional list of dictionaries to use.
@@ -290,7 +323,7 @@ export interface BaseSetting {
290
323
  /**
291
324
  * List of RegExp patterns or Pattern names to exclude from spell checking.
292
325
  *
293
- * Example: ["href"] - to exclude html href
326
+ * Example: ["href"] - to exclude html href.
294
327
  */
295
328
  ignoreRegExpList?: RegExpPatternList;
296
329
  /**
@@ -298,7 +331,7 @@ export interface BaseSetting {
298
331
  * If includeRegExpList is defined, ONLY, text matching the included patterns will be checked.
299
332
  */
300
333
  includeRegExpList?: RegExpPatternList;
301
- /** Defines a list of patterns that can be used in ignoreRegExpList and includeRegExpList */
334
+ /** Defines a list of patterns that can be used in ignoreRegExpList and includeRegExpList. */
302
335
  patterns?: RegExpPatternDefinition[];
303
336
  }
304
337
  export declare type DictionaryFileTypes = 'S' | 'W' | 'C' | 'T';
@@ -309,17 +342,17 @@ export interface DictionaryDefinitionBase {
309
342
  *
310
343
  * Name Format:
311
344
  * - Must contain at least 1 number or letter.
312
- * - spaces are allowed.
345
+ * - Spaces are allowed.
313
346
  * - Leading and trailing space will be removed.
314
- * - Names ARE case-sensitive
315
- * - Must not contain `*`, `!`, `;`, `,`, `{`, `}`, `[`, `]`, `~`
347
+ * - Names ARE case-sensitive.
348
+ * - Must not contain `*`, `!`, `;`, `,`, `{`, `}`, `[`, `]`, `~`.
316
349
  */
317
350
  name: DictionaryId;
318
- /** Optional description */
351
+ /** Optional description. */
319
352
  description?: string;
320
- /** Replacement pairs */
353
+ /** Replacement pairs. */
321
354
  repMap?: ReplaceMap;
322
- /** Use Compounds */
355
+ /** Use Compounds. */
323
356
  useCompounds?: boolean;
324
357
  /**
325
358
  * Indicate that suggestions should not come from this dictionary.
@@ -335,18 +368,18 @@ export interface DictionaryDefinitionBase {
335
368
  * Type of file:
336
369
  * S - single word per line,
337
370
  * 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
371
+ * C - each line is treated like code (Camel Case is allowed).
372
+ * Default is S.
340
373
  * C is the slowest to load due to the need to split each line based upon code splitting rules.
341
374
  * @default "S"
342
375
  */
343
376
  type?: DictionaryFileTypes;
344
377
  }
345
378
  export interface DictionaryDefinitionPreferred extends DictionaryDefinitionBase {
346
- /** Path to the file */
379
+ /** Path to the file. */
347
380
  path: DictionaryPath;
348
381
  /**
349
- * Only for legacy dictionary definitions
382
+ * Only for legacy dictionary definitions.
350
383
  * @deprecated true
351
384
  * @deprecationMessage Use `path` instead.
352
385
  * @hidden
@@ -354,15 +387,15 @@ export interface DictionaryDefinitionPreferred extends DictionaryDefinitionBase
354
387
  file?: undefined;
355
388
  }
356
389
  /**
357
- * Only for legacy dictionary definitions
390
+ * Only for legacy dictionary definitions.
358
391
  * @deprecated true
359
- * @deprecationMessage Use `DictionaryDefinitionPreferred`
392
+ * @deprecationMessage Use `DictionaryDefinitionPreferred` instead.
360
393
  */
361
394
  export interface DictionaryDefinitionAlternate extends DictionaryDefinitionBase {
362
395
  /** @hidden */
363
396
  path?: undefined;
364
397
  /**
365
- * Path to the file, only for legacy dictionary definitions
398
+ * Path to the file, only for legacy dictionary definitions.
366
399
  * @deprecated true
367
400
  * @deprecationMessage Use `path` instead.
368
401
  */
@@ -373,20 +406,20 @@ export interface DictionaryDefinitionAlternate extends DictionaryDefinitionBase
373
406
  * @hidden
374
407
  */
375
408
  export interface DictionaryDefinitionLegacy extends DictionaryDefinitionBase {
376
- /** Path to the file, if undefined the path to the extension dictionaries is assumed */
409
+ /** Path to the file, if undefined the path to the extension dictionaries is assumed. */
377
410
  path?: FsPath;
378
411
  /**
379
- * File name
412
+ * File name.
380
413
  * @deprecated true
381
- * @deprecationMessage Use path instead.
414
+ * @deprecationMessage Use `path` instead.
382
415
  */
383
416
  file: FsPath;
384
417
  /**
385
418
  * Type of file:
386
419
  * S - single word per line,
387
420
  * 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
421
+ * C - each line is treated like code (Camel Case is allowed).
422
+ * Default is S.
390
423
  * C is the slowest to load due to the need to split each line based upon code splitting rules.
391
424
  * @default "S"
392
425
  */
@@ -408,7 +441,7 @@ export interface DictionaryDefinitionCustom extends DictionaryDefinitionPreferre
408
441
  path: CustomDictionaryPath;
409
442
  /**
410
443
  * Defines the scope for when words will be added to the dictionary.
411
- * Scope values: `user`, `workspace`, `folder`
444
+ * Scope values: `user`, `workspace`, `folder`.
412
445
  */
413
446
  scope?: CustomDictionaryScope | CustomDictionaryScope[];
414
447
  /**
@@ -421,40 +454,40 @@ export interface LanguageSetting extends LanguageSettingFilterFields, BaseSettin
421
454
  export interface LanguageSettingFilterFields extends LanguageSettingFilterFieldsPreferred, LanguageSettingFilterFieldsDeprecated {
422
455
  }
423
456
  export interface LanguageSettingFilterFieldsPreferred {
424
- /** The language id. Ex: "typescript", "html", or "php". "*" -- will match all languages */
457
+ /** The language id. Ex: "typescript", "html", or "php". "*" -- will match all languages. */
425
458
  languageId: LanguageId | LanguageIdSingle[];
426
459
  /** The locale filter, matches against the language. This can be a comma separated list. "*" will match all locales. */
427
460
  locale?: LocaleId | LocaleId[];
428
461
  }
429
462
  export interface LanguageSettingFilterFieldsDeprecated {
430
- /** The language id. Ex: "typescript", "html", or "php". "*" -- will match all languages */
463
+ /** The language id. Ex: "typescript", "html", or "php". "*" -- will match all languages. */
431
464
  languageId: LanguageId | LanguageIdSingle[];
432
465
  /**
433
466
  * Deprecated - The locale filter, matches against the language. This can be a comma separated list. "*" will match all locales.
434
467
  * @deprecated true
435
- * @deprecationMessage Use `locale` instead
468
+ * @deprecationMessage Use `locale` instead.
436
469
  */
437
470
  local?: LocaleId | LocaleId[];
438
471
  }
439
472
  /** @hidden */
440
473
  declare type InternalRegExp = RegExp;
441
474
  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 */
475
+ 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';
476
+ /** This matches the name in a pattern definition. */
444
477
  export declare type PatternId = string;
445
478
  /** A PatternRef is a Pattern or PatternId. */
446
479
  export declare type PatternRef = Pattern | PatternId | PredefinedPatterns;
447
- /** A list of pattern names or regular expressions */
480
+ /** A list of pattern names or regular expressions. */
448
481
  export declare type RegExpPatternList = PatternRef[];
449
482
  /**
450
483
  * This is the name of a dictionary.
451
484
  *
452
485
  * Name Format:
453
486
  * - Must contain at least 1 number or letter.
454
- * - spaces are allowed.
487
+ * - Spaces are allowed.
455
488
  * - Leading and trailing space will be removed.
456
- * - Names ARE case-sensitive
457
- * - Must not contain `*`, `!`, `;`, `,`, `{`, `}`, `[`, `]`, `~`
489
+ * - Names ARE case-sensitive.
490
+ * - Must not contain `*`, `!`, `;`, `,`, `{`, `}`, `[`, `]`, `~`.
458
491
  *
459
492
  * @pattern ^(?=[^!*,;{}[\]~\n]+$)(?=(.*\w)).+$
460
493
  */
@@ -470,10 +503,10 @@ export declare type DictionaryRef = DictionaryId;
470
503
  * It is used to exclude or include a dictionary by name.
471
504
  *
472
505
  * 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>`
506
+ * - `!<dictionary_name>` - Used to exclude the dictionary matching `<dictionary_name>`.
507
+ * - `!!<dictionary_name>` - Used to re-include a dictionary matching `<dictionary_name>`.
475
508
  * Overrides `!<dictionary_name>`.
476
- * - `!!!<dictionary_name>` - Used to exclude a dictionary matching `<dictionary_name>`
509
+ * - `!!!<dictionary_name>` - Used to exclude a dictionary matching `<dictionary_name>`.
477
510
  * Overrides `!!<dictionary_name>`.
478
511
  *
479
512
  * @pattern ^(?=!+[^!*,;{}[\]~\n]+$)(?=(.*\w)).+$
@@ -489,24 +522,24 @@ export declare type DictionaryReference = DictionaryRef | DictionaryNegRef;
489
522
  /** This is a written language locale like: 'en', 'en-GB', 'fr', 'es', 'de', etc. */
490
523
  export declare type LocaleId = string;
491
524
  /**
492
- * Configuration File Version
525
+ * Configuration File Version.
493
526
  */
494
527
  export declare type VersionLatest = '0.2';
495
528
  /**
496
- * Legacy Configuration File Versions
529
+ * Legacy Configuration File Versions.
497
530
  * @deprecated true
498
- * @deprecationMessage Use `0.2`
531
+ * @deprecationMessage Use `0.2` instead.
499
532
  */
500
533
  export declare type VersionLegacy = '0.1';
501
534
  export declare type Version = VersionLatest | VersionLegacy;
502
535
  /**
503
536
  * @deprecated true
504
- * @deprecationMessage Use LocaleId instead
537
+ * @deprecationMessage Use `LocaleId` instead.
505
538
  */
506
539
  export declare type LocalId = LocaleId;
507
- /** These are glob expressions */
540
+ /** These are glob expressions. */
508
541
  export declare type Glob = SimpleGlob | GlobDef;
509
- /** Simple Glob string, the root will be globRoot */
542
+ /** Simple Glob string, the root will be globRoot. */
510
543
  export declare type SimpleGlob = string;
511
544
  /**
512
545
  * Used to define fully qualified glob patterns.
@@ -515,7 +548,7 @@ export declare type SimpleGlob = string;
515
548
  * @hidden
516
549
  */
517
550
  export interface GlobDef {
518
- /** Glob pattern to match */
551
+ /** Glob pattern to match. */
519
552
  glob: string;
520
553
  /** Optional root to use when matching the glob. Defaults to current working dir. */
521
554
  root?: string;
@@ -541,9 +574,19 @@ export declare type LanguageIdMultiple = string;
541
574
  */
542
575
  export declare type LanguageIdMultipleNeg = string;
543
576
  export declare type LanguageId = LanguageIdSingle | LanguageIdMultiple | LanguageIdMultipleNeg;
544
- /** A File System Path */
577
+ /**
578
+ * A File System Path. Relative paths are relative to the configuration file.
579
+ */
545
580
  export declare type FsPath = string;
546
- /** Trust Security Level */
581
+ /**
582
+ * A File System Path.
583
+ *
584
+ * Special Properties:
585
+ * - `${cwd}` prefix - will be replaced with the current working directory.
586
+ * - Relative paths are relative to the configuration file.
587
+ */
588
+ export declare type FSPathResolvable = FsPath;
589
+ /** Trust Security Level. */
547
590
  export declare type TrustLevel = 'trusted' | 'untrusted';
548
591
  /**
549
592
  * A File System Path to a dictionary file.
@@ -562,7 +605,7 @@ export interface RegExpPatternDefinition {
562
605
  */
563
606
  name: PatternId;
564
607
  /**
565
- * RegExp pattern or array of RegExp patterns
608
+ * RegExp pattern or array of RegExp patterns.
566
609
  */
567
610
  pattern: Pattern | Pattern[];
568
611
  /**
@@ -573,47 +616,47 @@ export interface RegExpPatternDefinition {
573
616
  export declare type CSpellUserSettingsWithComments = CSpellUserSettings;
574
617
  export declare type Source = FileSource | MergeSource | InMemorySource | BaseSource;
575
618
  export interface FileSource extends BaseSource {
576
- /** name of source */
619
+ /** Name of source. */
577
620
  name: string;
578
- /** filename if this came from a file. */
621
+ /** Filename if this came from a file. */
579
622
  filename: string;
580
- /** The two settings that were merged to */
623
+ /** The two settings that were merged to. */
581
624
  sources?: undefined;
582
625
  /** The configuration read. */
583
626
  fileSource: CSpellSettings;
584
627
  }
585
628
  export interface MergeSource extends BaseSource {
586
- /** name of source */
629
+ /** Name of source. */
587
630
  name: string;
588
- /** filename if this came from a file. */
631
+ /** Filename if this came from a file. */
589
632
  filename?: undefined;
590
- /** The two settings that were merged to */
633
+ /** The two settings that were merged to. */
591
634
  sources: [CSpellSettings] | [CSpellSettings, CSpellSettings];
592
635
  /** The configuration read. */
593
636
  fileSource?: undefined;
594
637
  }
595
638
  export interface InMemorySource extends BaseSource {
596
- /** name of source */
639
+ /** Name of source. */
597
640
  name: string;
598
- /** filename if this came from a file. */
641
+ /** Filename if this came from a file. */
599
642
  filename?: undefined;
600
- /** The two settings that were merged to */
643
+ /** The two settings that were merged to. */
601
644
  sources?: undefined;
602
645
  /** The configuration read. */
603
646
  fileSource?: undefined;
604
647
  }
605
648
  interface BaseSource {
606
- /** name of source */
649
+ /** Name of source. */
607
650
  name: string;
608
- /** filename if this came from a file. */
651
+ /** Filename if this came from a file. */
609
652
  filename?: string | undefined;
610
- /** The two settings that were merged to */
653
+ /** The two settings that were merged to. */
611
654
  sources?: [CSpellSettings] | [CSpellSettings, CSpellSettings] | undefined;
612
655
  /** The configuration read. */
613
656
  fileSource?: CSpellSettings | undefined;
614
657
  }
615
658
  /**
616
- * reporter name or reporter name + reporter config
659
+ * Reporter name or reporter name + reporter config.
617
660
  */
618
661
  export declare type ReporterSettings = string | [string] | [string, unknown];
619
662
  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,5 @@
1
- export * from './CSpellSettingsDef';
1
+ export { ConfigFields, type CSpellUserSettingsFields } from './configFields';
2
2
  export * from './CSpellReporter';
3
- export * from './TextOffset';
3
+ export * from './CSpellSettingsDef';
4
+ export type { TextDocumentOffset, TextOffset } from './TextOffset';
4
5
  //# sourceMappingURL=index.d.ts.map
package/dist/index.js CHANGED
@@ -10,7 +10,9 @@ 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
+ var configFields_1 = require("./configFields");
15
+ Object.defineProperty(exports, "ConfigFields", { enumerable: true, get: function () { return configFields_1.ConfigFields; } });
14
16
  __exportStar(require("./CSpellReporter"), exports);
15
- __exportStar(require("./TextOffset"), exports);
17
+ __exportStar(require("./CSpellSettingsDef"), exports);
16
18
  //# 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.3",
6
+ "version": "5.15.0",
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.0",
52
+ "jest": "^27.4.6",
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.7",
57
- "typescript": "^4.5.2"
56
+ "typedoc-plugin-markdown": "^3.11.9",
57
+ "typescript": "^4.5.4"
58
58
  },
59
- "gitHead": "f49cb2d98eed1f7274b1e6ad1ef076e7140347b5"
59
+ "gitHead": "04d61378054cbecd28df100ca704c7322abab8ba"
60
60
  }