[System]
You are a helpful assistant that answers strictly in JSON. Here's the JSON schema you must adhere to:
<schema>
{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":false,"allowTrailingCommas":true,"definitions":{"CacheFormat":{"enum":["legacy","universal"],"type":"string"},"CacheSettings":{"additionalProperties":false,"properties":{"cacheFormat":{"$ref":"#/definitions/CacheFormat","default":"universal","description":"Format of the cache file.\n- `legacy` - use absolute paths in the cache file\n- `universal` - use a sharable format.","markdownDescription":"Format of the cache file.\n- `legacy` - use absolute paths in the cache file\n- `universal` - use a sharable format."},"cacheLocation":{"$ref":"#/definitions/FSPathResolvable","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.","markdownDescription":"Path to the cache location. Can be a file or a directory.\nIf none specified `.cspellcache` will be used.\nRelative paths are relative to the config file in which it\nis defined.\n\nA prefix of `${cwd}` is replaced with the current working directory."},"cacheStrategy":{"$ref":"#/definitions/CacheStrategy","default":"metadata","description":"Strategy to use for detecting changed files, default: metadata","markdownDescription":"Strategy to use for detecting changed files, default: metadata"},"useCache":{"default":false,"description":"Store the results of processed files in order to only operate on the changed ones.","markdownDescription":"Store the results of processed files in order to only operate on the changed ones.","type":"boolean"}},"type":"object"},"CacheStrategy":{"default":"content","description":"The Strategy to use to detect if a file has changed.\n- `content` - uses a hash of the file content to check file changes (slower - more accurate).\n- `metadata` - uses the file system timestamp and size to detect changes (fastest, may not work in CI).","enum":["content","metadata"],"markdownDescription":"The Strategy to use to detect if a file has changed.\n- `content` - uses a hash of the file content to check file changes (slower - more accurate).\n- `metadata` - uses the file system timestamp and size to detect changes (fastest, may not work in CI).","type":"string"},"CharacterSet":{"description":"This is a set of characters that can include `-` or `|`\n- `-` - indicates a range of characters: `a-c` => `abc`\n- `|` - is a group separator, indicating that the characters on either side    are not related.","markdownDescription":"This is a set of characters that can include `-` or `|`\n- `-` - indicates a range of characters: `a-c` => `abc`\n- `|` - is a group separator, indicating that the characters on either side\n   are not related.","type":"string"},"CharacterSetCosts":{"additionalProperties":false,"properties":{"characters":{"$ref":"#/definitions/CharacterSet","description":"This is a set of characters that can include `-` or `|`\n- `-` - indicates a range of characters: `a-c` => `abc`\n- `|` - is a group separator, indicating that the characters on either side    are not related.","markdownDescription":"This is a set of characters that can include `-` or `|`\n- `-` - indicates a range of characters: `a-c` => `abc`\n- `|` - is a group separator, indicating that the characters on either side\n   are not related."},"cost":{"description":"the cost to insert / delete / replace / swap the characters in a group","markdownDescription":"the cost to insert / delete / replace / swap the characters in a group","type":"number"},"penalty":{"description":"The penalty cost to apply if the accent is used. This is used to discourage","markdownDescription":"The penalty cost to apply if the accent is used.\nThis is used to discourage","type":"number"}},"required":["characters","cost"],"type":"object"},"CostMapDefInsDel":{"additionalProperties":false,"properties":{"description":{"description":"A description to describe the purpose of the map.","markdownDescription":"A description to describe the purpose of the map.","type":"string"},"insDel":{"description":"The cost to insert/delete one of the substrings in the map. Note: insert/delete costs are symmetrical.","markdownDescription":"The cost to insert/delete one of the substrings in the map. Note: insert/delete costs are symmetrical.","type":"number"},"map":{"description":"The set of substrings to map, these are generally single character strings.\n\nMultiple sets can be defined by using a `|` to separate them.\n\nExample: `\"e\u00e9\u00ea|a\u00e5\u00e1\"` contains two different sets.\n\nTo add a multi-character substring use `()`.\n\nExample: `\"f(ph)(gh)\"` results in the following set: `f`, `ph`, `gh`.\n\n- To match the beginning of a word, use `^`: `\"(^I)\"\"`.\n- To match the end of a word, use `$`: `\"(e$)(ing$)\"`.","markdownDescription":"The set of substrings to map, these are generally single character strings.\n\nMultiple sets can be defined by using a `|` to separate them.\n\nExample: `\"e\u00e9\u00ea|a\u00e5\u00e1\"` contains two different sets.\n\nTo add a multi-character substring use `()`.\n\nExample: `\"f(ph)(gh)\"` results in the following set: `f`, `ph`, `gh`.\n\n- To match the beginning of a word, use `^`: `\"(^I)\"\"`.\n- To match the end of a word, use `$`: `\"(e$)(ing$)\"`.","type":"string"},"penalty":{"description":"Add a penalty to the final cost. This is used to discourage certain suggestions.\n\nExample: ```yaml # Match adding/removing `-` to the end of a word. map: \"$(-$)\" replace: 50 penalty: 100 ```\n\nThis makes adding a `-` to the end of a word more expensive.\n\nThink of it as taking the toll way for speed but getting the bill later.","markdownDescription":"Add a penalty to the final cost.\nThis is used to discourage certain suggestions.\n\nExample:\n```yaml\n# Match adding/removing `-` to the end of a word.\nmap: \"$(-$)\"\nreplace: 50\npenalty: 100\n```\n\nThis makes adding a `-` to the end of a word more expensive.\n\nThink of it as taking the toll way for speed but getting the bill later.","type":"number"},"replace":{"description":"The cost to replace of of the substrings in the map with another substring in the map. Example: Map['a', 'i'] This would be the cost to substitute `a` with `i`: Like `bat` to `bit` or the reverse.","markdownDescription":"The cost to replace of of the substrings in the map with another substring in the map.\nExample: Map['a', 'i']\nThis would be the cost to substitute `a` with `i`: Like `bat` to `bit` or the reverse.","type":"number"},"swap":{"description":"The cost to swap two adjacent substrings found in the map. Example: Map['e', 'i'] This represents the cost to change `ei` to `ie` or the reverse.","markdownDescription":"The cost to swap two adjacent substrings found in the map.\nExample: Map['e', 'i']\nThis represents the cost to change `ei` to `ie` or the reverse.","type":"number"}},"required":["insDel","map"],"type":"object"},"CostMapDefReplace":{"additionalProperties":false,"properties":{"description":{"description":"A description to describe the purpose of the map.","markdownDescription":"A description to describe the purpose of the map.","type":"string"},"insDel":{"description":"The cost to insert/delete one of the substrings in the map. Note: insert/delete costs are symmetrical.","markdownDescription":"The cost to insert/delete one of the substrings in the map. Note: insert/delete costs are symmetrical.","type":"number"},"map":{"description":"The set of substrings to map, these are generally single character strings.\n\nMultiple sets can be defined by using a `|` to separate them.\n\nExample: `\"e\u00e9\u00ea|a\u00e5\u00e1\"` contains two different sets.\n\nTo add a multi-character substring use `()`.\n\nExample: `\"f(ph)(gh)\"` results in the following set: `f`, `ph`, `gh`.\n\n- To match the beginning of a word, use `^`: `\"(^I)\"\"`.\n- To match the end of a word, use `$`: `\"(e$)(ing$)\"`.","markdownDescription":"The set of substrings to map, these are generally single character strings.\n\nMultiple sets can be defined by using a `|` to separate them.\n\nExample: `\"e\u00e9\u00ea|a\u00e5\u00e1\"` contains two different sets.\n\nTo add a multi-character substring use `()`.\n\nExample: `\"f(ph)(gh)\"` results in the following set: `f`, `ph`, `gh`.\n\n- To match the beginning of a word, use `^`: `\"(^I)\"\"`.\n- To match the end of a word, use `$`: `\"(e$)(ing$)\"`.","type":"string"},"penalty":{"description":"Add a penalty to the final cost. This is used to discourage certain suggestions.\n\nExample: ```yaml # Match adding/removing `-` to the end of a word. map: \"$(-$)\" replace: 50 penalty: 100 ```\n\nThis makes adding a `-` to the end of a word more expensive.\n\nThink of it as taking the toll way for speed but getting the bill later.","markdownDescription":"Add a penalty to the final cost.\nThis is used to discourage certain suggestions.\n\nExample:\n```yaml\n# Match adding/removing `-` to the end of a word.\nmap: \"$(-$)\"\nreplace: 50\npenalty: 100\n```\n\nThis makes adding a `-` to the end of a word more expensive.\n\nThink of it as taking the toll way for speed but getting the bill later.","type":"number"},"replace":{"description":"The cost to replace of of the substrings in the map with another substring in the map. Example: Map['a', 'i'] This would be the cost to substitute `a` with `i`: Like `bat` to `bit` or the reverse.","markdownDescription":"The cost to replace of of the substrings in the map with another substring in the map.\nExample: Map['a', 'i']\nThis would be the cost to substitute `a` with `i`: Like `bat` to `bit` or the reverse.","type":"number"},"swap":{"description":"The cost to swap two adjacent substrings found in the map. Example: Map['e', 'i'] This represents the cost to change `ei` to `ie` or the reverse.","markdownDescription":"The cost to swap two adjacent substrings found in the map.\nExample: Map['e', 'i']\nThis represents the cost to change `ei` to `ie` or the reverse.","type":"number"}},"required":["map","replace"],"type":"object"},"CostMapDefSwap":{"additionalProperties":false,"properties":{"description":{"description":"A description to describe the purpose of the map.","markdownDescription":"A description to describe the purpose of the map.","type":"string"},"insDel":{"description":"The cost to insert/delete one of the substrings in the map. Note: insert/delete costs are symmetrical.","markdownDescription":"The cost to insert/delete one of the substrings in the map. Note: insert/delete costs are symmetrical.","type":"number"},"map":{"description":"The set of substrings to map, these are generally single character strings.\n\nMultiple sets can be defined by using a `|` to separate them.\n\nExample: `\"e\u00e9\u00ea|a\u00e5\u00e1\"` contains two different sets.\n\nTo add a multi-character substring use `()`.\n\nExample: `\"f(ph)(gh)\"` results in the following set: `f`, `ph`, `gh`.\n\n- To match the beginning of a word, use `^`: `\"(^I)\"\"`.\n- To match the end of a word, use `$`: `\"(e$)(ing$)\"`.","markdownDescription":"The set of substrings to map, these are generally single character strings.\n\nMultiple sets can be defined by using a `|` to separate them.\n\nExample: `\"e\u00e9\u00ea|a\u00e5\u00e1\"` contains two different sets.\n\nTo add a multi-character substring use `()`.\n\nExample: `\"f(ph)(gh)\"` results in the following set: `f`, `ph`, `gh`.\n\n- To match the beginning of a word, use `^`: `\"(^I)\"\"`.\n- To match the end of a word, use `$`: `\"(e$)(ing$)\"`.","type":"string"},"penalty":{"description":"Add a penalty to the final cost. This is used to discourage certain suggestions.\n\nExample: ```yaml # Match adding/removing `-` to the end of a word. map: \"$(-$)\" replace: 50 penalty: 100 ```\n\nThis makes adding a `-` to the end of a word more expensive.\n\nThink of it as taking the toll way for speed but getting the bill later.","markdownDescription":"Add a penalty to the final cost.\nThis is used to discourage certain suggestions.\n\nExample:\n```yaml\n# Match adding/removing `-` to the end of a word.\nmap: \"$(-$)\"\nreplace: 50\npenalty: 100\n```\n\nThis makes adding a `-` to the end of a word more expensive.\n\nThink of it as taking the toll way for speed but getting the bill later.","type":"number"},"replace":{"description":"The cost to replace of of the substrings in the map with another substring in the map. Example: Map['a', 'i'] This would be the cost to substitute `a` with `i`: Like `bat` to `bit` or the reverse.","markdownDescription":"The cost to replace of of the substrings in the map with another substring in the map.\nExample: Map['a', 'i']\nThis would be the cost to substitute `a` with `i`: Like `bat` to `bit` or the reverse.","type":"number"},"swap":{"description":"The cost to swap two adjacent substrings found in the map. Example: Map['e', 'i'] This represents the cost to change `ei` to `ie` or the reverse.","markdownDescription":"The cost to swap two adjacent substrings found in the map.\nExample: Map['e', 'i']\nThis represents the cost to change `ei` to `ie` or the reverse.","type":"number"}},"required":["map","swap"],"type":"object"},"CustomDictionaryPath":{"$ref":"#/definitions/FsDictionaryPath","description":"A File System Path to a dictionary file.","markdownDescription":"A File System Path to a dictionary file."},"CustomDictionaryScope":{"description":"Specifies the scope of a dictionary.","enum":["user","workspace","folder"],"markdownDescription":"Specifies the scope of a dictionary.","type":"string"},"DictionaryDefinition":{"anyOf":[{"$ref":"#/definitions/DictionaryDefinitionPreferred"},{"$ref":"#/definitions/DictionaryDefinitionCustom"},{"$ref":"#/definitions/DictionaryDefinitionAugmented"},{"$ref":"#/definitions/DictionaryDefinitionInline"},{"$ref":"#/definitions/DictionaryDefinitionSimple"},{"$ref":"#/definitions/DictionaryDefinitionAlternate"}]},"DictionaryDefinitionAlternate":{"additionalProperties":false,"deprecated":true,"deprecationMessage":"Use {@link DictionaryDefinitionPreferred } instead.","description":"Only for legacy dictionary definitions.","markdownDescription":"Only for legacy dictionary definitions.","properties":{"description":{"description":"Optional description of the contents / purpose of the dictionary.","markdownDescription":"Optional description of the contents / purpose of the dictionary.","type":"string"},"file":{"$ref":"#/definitions/DictionaryPath","deprecated":true,"deprecationMessage":"Use `path` instead.","description":"Path to the file, only for legacy dictionary definitions.","markdownDescription":"Path to the file, only for legacy dictionary definitions."},"ignoreForbiddenWords":{"description":"Some dictionaries may contain forbidden words to prevent compounding from generating words that are not valid in the language. These are often words that are used in other languages or might be generated through compounding. This setting allows flagged words to be ignored when checking the dictionary. The effect is similar to the word not being in the dictionary.","markdownDescription":"Some dictionaries may contain forbidden words to prevent compounding from generating\nwords that are not valid in the language. These are often\nwords that are used in other languages or might be generated through compounding.\nThis setting allows flagged words to be ignored when checking the dictionary.\nThe effect is similar to the word not being in the dictionary.","type":"boolean"},"name":{"$ref":"#/definitions/DictionaryId","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 `*`, `!`, `;`, `,`, `{`, `}`, `[`, `]`, `~`.","markdownDescription":"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 `*`, `!`, `;`, `,`, `{`, `}`, `[`, `]`, `~`."},"noSuggest":{"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.","markdownDescription":"Indicate that suggestions should not come from this dictionary.\nWords in this dictionary are considered correct, but will not be\nused when making spell correction suggestions.\n\nNote: if a word is suggested by another dictionary, but found in\nthis dictionary, it will be removed from the set of\npossible suggestions.","type":"boolean"},"repMap":{"$ref":"#/definitions/ReplaceMap","description":"Replacement pairs.","markdownDescription":"Replacement pairs."},"supportNonStrictSearches":{"default":true,"description":"Strip case and accents to allow for case insensitive searches and words without accents.\n\nNote: this setting only applies to word lists. It has no-impact on trie dictionaries.","markdownDescription":"Strip case and accents to allow for case insensitive searches and\nwords without accents.\n\nNote: this setting only applies to word lists. It has no-impact on trie\ndictionaries.","type":"boolean"},"type":{"$ref":"#/definitions/DictionaryFileTypes","default":"S","description":"Type of file:\n- S - single word per line,\n- W - each line can contain one or more words separated by space,\n- C - each line is treated like code (Camel Case is allowed).\n\nDefault is S.\n\nC is the slowest to load due to the need to split each line based upon code splitting rules.\n\nNote: this settings does not apply to inline dictionaries or `.trie` files.","markdownDescription":"Type of file:\n- S - single word per line,\n- W - each line can contain one or more words separated by space,\n- C - each line is treated like code (Camel Case is allowed).\n\nDefault is S.\n\nC is the slowest to load due to the need to split each line based upon code splitting rules.\n\nNote: this settings does not apply to inline dictionaries or `.trie` files."},"useCompounds":{"description":"Use Compounds.","markdownDescription":"Use Compounds.","type":"boolean"}},"required":["file","name"],"type":"object"},"DictionaryDefinitionAugmented":{"additionalProperties":false,"description":"Used to provide extra data related to the dictionary","markdownDescription":"Used to provide extra data related to the dictionary","properties":{"description":{"description":"Optional description of the contents / purpose of the dictionary.","markdownDescription":"Optional description of the contents / purpose of the dictionary.","type":"string"},"dictionaryInformation":{"$ref":"#/definitions/DictionaryInformation"},"ignoreForbiddenWords":{"description":"Some dictionaries may contain forbidden words to prevent compounding from generating words that are not valid in the language. These are often words that are used in other languages or might be generated through compounding. This setting allows flagged words to be ignored when checking the dictionary. The effect is similar to the word not being in the dictionary.","markdownDescription":"Some dictionaries may contain forbidden words to prevent compounding from generating\nwords that are not valid in the language. These are often\nwords that are used in other languages or might be generated through compounding.\nThis setting allows flagged words to be ignored when checking the dictionary.\nThe effect is similar to the word not being in the dictionary.","type":"boolean"},"name":{"$ref":"#/definitions/DictionaryId","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 `*`, `!`, `;`, `,`, `{`, `}`, `[`, `]`, `~`.","markdownDescription":"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 `*`, `!`, `;`, `,`, `{`, `}`, `[`, `]`, `~`."},"noSuggest":{"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.","markdownDescription":"Indicate that suggestions should not come from this dictionary.\nWords in this dictionary are considered correct, but will not be\nused when making spell correction suggestions.\n\nNote: if a word is suggested by another dictionary, but found in\nthis dictionary, it will be removed from the set of\npossible suggestions.","type":"boolean"},"path":{"$ref":"#/definitions/DictionaryPath","description":"Path to the file.","markdownDescription":"Path to the file."},"repMap":{"$ref":"#/definitions/ReplaceMap","description":"Replacement pairs.","markdownDescription":"Replacement pairs."},"supportNonStrictSearches":{"default":true,"description":"Strip case and accents to allow for case insensitive searches and words without accents.\n\nNote: this setting only applies to word lists. It has no-impact on trie dictionaries.","markdownDescription":"Strip case and accents to allow for case insensitive searches and\nwords without accents.\n\nNote: this setting only applies to word lists. It has no-impact on trie\ndictionaries.","type":"boolean"},"type":{"$ref":"#/definitions/DictionaryFileTypes","default":"S","description":"Type of file:\n- S - single word per line,\n- W - each line can contain one or more words separated by space,\n- C - each line is treated like code (Camel Case is allowed).\n\nDefault is S.\n\nC is the slowest to load due to the need to split each line based upon code splitting rules.\n\nNote: this settings does not apply to inline dictionaries or `.trie` files.","markdownDescription":"Type of file:\n- S - single word per line,\n- W - each line can contain one or more words separated by space,\n- C - each line is treated like code (Camel Case is allowed).\n\nDefault is S.\n\nC is the slowest to load due to the need to split each line based upon code splitting rules.\n\nNote: this settings does not apply to inline dictionaries or `.trie` files."},"useCompounds":{"description":"Use Compounds.","markdownDescription":"Use Compounds.","type":"boolean"}},"required":["name","path"],"type":"object"},"DictionaryDefinitionCustom":{"additionalProperties":false,"description":"For Defining Custom dictionaries. They are generally scoped to a `user`, `workspace`, or `folder`. When `addWords` is true, indicates that the spell checker can add words to the file.\n\nNote: only plain text files with one word per line are supported at this moment.","markdownDescription":"For Defining Custom dictionaries. They are generally scoped to a\n`user`, `workspace`, or `folder`.\nWhen `addWords` is true, indicates that the spell checker can add words\nto the file.\n\nNote: only plain text files with one word per line are supported at this moment.","properties":{"addWords":{"description":"When `true`, let's the spell checker know that words can be added to this dictionary.","markdownDescription":"When `true`, let's the spell checker know that words can be added to this dictionary.","type":"boolean"},"description":{"description":"Optional description of the contents / purpose of the dictionary.","markdownDescription":"Optional description of the contents / purpose of the dictionary.","type":"string"},"ignoreForbiddenWords":{"description":"Some dictionaries may contain forbidden words to prevent compounding from generating words that are not valid in the language. These are often words that are used in other languages or might be generated through compounding. This setting allows flagged words to be ignored when checking the dictionary. The effect is similar to the word not being in the dictionary.","markdownDescription":"Some dictionaries may contain forbidden words to prevent compounding from generating\nwords that are not valid in the language. These are often\nwords that are used in other languages or might be generated through compounding.\nThis setting allows flagged words to be ignored when checking the dictionary.\nThe effect is similar to the word not being in the dictionary.","type":"boolean"},"name":{"$ref":"#/definitions/DictionaryId","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 `*`, `!`, `;`, `,`, `{`, `}`, `[`, `]`, `~`.","markdownDescription":"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 `*`, `!`, `;`, `,`, `{`, `}`, `[`, `]`, `~`."},"noSuggest":{"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.","markdownDescription":"Indicate that suggestions should not come from this dictionary.\nWords in this dictionary are considered correct, but will not be\nused when making spell correction suggestions.\n\nNote: if a word is suggested by another dictionary, but found in\nthis dictionary, it will be removed from the set of\npossible suggestions.","type":"boolean"},"path":{"$ref":"#/definitions/CustomDictionaryPath","description":"Path to custom dictionary text file.","markdownDescription":"Path to custom dictionary text file."},"repMap":{"$ref":"#/definitions/ReplaceMap","description":"Replacement pairs.","markdownDescription":"Replacement pairs."},"scope":{"anyOf":[{"$ref":"#/definitions/CustomDictionaryScope"},{"items":{"$ref":"#/definitions/CustomDictionaryScope"},"type":"array"}],"description":"Defines the scope for when words will be added to the dictionary.\n\nScope values: `user`, `workspace`, `folder`.","markdownDescription":"Defines the scope for when words will be added to the dictionary.\n\nScope values: `user`, `workspace`, `folder`."},"supportNonStrictSearches":{"default":true,"description":"Strip case and accents to allow for case insensitive searches and words without accents.\n\nNote: this setting only applies to word lists. It has no-impact on trie dictionaries.","markdownDescription":"Strip case and accents to allow for case insensitive searches and\nwords without accents.\n\nNote: this setting only applies to word lists. It has no-impact on trie\ndictionaries.","type":"boolean"},"type":{"$ref":"#/definitions/DictionaryFileTypes","default":"S","description":"Type of file:\n- S - single word per line,\n- W - each line can contain one or more words separated by space,\n- C - each line is treated like code (Camel Case is allowed).\n\nDefault is S.\n\nC is the slowest to load due to the need to split each line based upon code splitting rules.\n\nNote: this settings does not apply to inline dictionaries or `.trie` files.","markdownDescription":"Type of file:\n- S - single word per line,\n- W - each line can contain one or more words separated by space,\n- C - each line is treated like code (Camel Case is allowed).\n\nDefault is S.\n\nC is the slowest to load due to the need to split each line based upon code splitting rules.\n\nNote: this settings does not apply to inline dictionaries or `.trie` files."},"useCompounds":{"description":"Use Compounds.","markdownDescription":"Use Compounds.","type":"boolean"}},"required":["addWords","name","path"],"type":"object"},"DictionaryDefinitionInline":{"anyOf":[{"$ref":"#/definitions/DictionaryDefinitionInlineWords"},{"$ref":"#/definitions/DictionaryDefinitionInlineIgnoreWords"},{"$ref":"#/definitions/DictionaryDefinitionInlineFlagWords"},{"$ref":"#/definitions/DictionaryDefinitionInlineSuggestWords"}],"description":"Inline Dictionary Definitions","markdownDescription":"Inline Dictionary Definitions","since":"6.23.0"},"DictionaryDefinitionInlineFlagWords":{"additionalProperties":false,"properties":{"description":{"description":"Optional description of the contents / purpose of the dictionary.","markdownDescription":"Optional description of the contents / purpose of the dictionary.","type":"string"},"flagWords":{"description":"List of words to always be considered incorrect. Words found in `flagWords` override `words`.\n\nFormat of `flagWords`\n- single word entry - `word`\n- with suggestions - `word:suggestion` or `word->suggestion, suggestions`\n\nExample: ```ts \"flagWords\": [   \"color: colour\",   \"incase: in case, encase\",   \"canot->cannot\",   \"cancelled->canceled\" ] ```","items":{"type":"string"},"markdownDescription":"List of words to always be considered incorrect. Words found in `flagWords` override `words`.\n\nFormat of `flagWords`\n- single word entry - `word`\n- with suggestions - `word:suggestion` or `word->suggestion, suggestions`\n\nExample:\n```ts\n\"flagWords\": [\n  \"color: colour\",\n  \"incase: in case, encase\",\n  \"canot->cannot\",\n  \"cancelled->canceled\"\n]\n```","type":"array"},"ignoreWords":{"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`.","items":{"type":"string"},"markdownDescription":"List of words to be ignored. An ignored word will not show up as an error, even if it is\nalso in the `flagWords`.","type":"array"},"name":{"$ref":"#/definitions/DictionaryId","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 `*`, `!`, `;`, `,`, `{`, `}`, `[`, `]`, `~`.","markdownDescription":"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 `*`, `!`, `;`, `,`, `{`, `}`, `[`, `]`, `~`."},"suggestWords":{"description":"A list of suggested replacements for words. Suggested words provide a way to make preferred suggestions on word replacements. To hint at a preferred change, but not to require it.\n\nFormat of `suggestWords`\n- Single suggestion (possible auto fix)     - `word: suggestion`     - `word->suggestion`\n- Multiple suggestions (not auto fixable)    - `word: first, second, third`    - `word->first, second, third`","items":{"type":"string"},"markdownDescription":"A list of suggested replacements for words.\nSuggested words provide a way to make preferred suggestions on word replacements.\nTo hint at a preferred change, but not to require it.\n\nFormat of `suggestWords`\n- Single suggestion (possible auto fix)\n    - `word: suggestion`\n    - `word->suggestion`\n- Multiple suggestions (not auto fixable)\n   - `word: first, second, third`\n   - `word->first, second, third`","type":"array"},"supportNonStrictSearches":{"default":true,"description":"Strip case and accents to allow for case insensitive searches and words without accents.\n\nNote: this setting only applies to word lists. It has no-impact on trie dictionaries.","markdownDescription":"Strip case and accents to allow for case insensitive searches and\nwords without accents.\n\nNote: this setting only applies to word lists. It has no-impact on trie\ndictionaries.","type":"boolean"},"words":{"description":"List of words to be considered correct.","items":{"type":"string"},"markdownDescription":"List of words to be considered correct.","type":"array"}},"required":["flagWords","name"],"type":"object"},"DictionaryDefinitionInlineIgnoreWords":{"additionalProperties":false,"properties":{"description":{"description":"Optional description of the contents / purpose of the dictionary.","markdownDescription":"Optional description of the contents / purpose of the dictionary.","type":"string"},"flagWords":{"description":"List of words to always be considered incorrect. Words found in `flagWords` override `words`.\n\nFormat of `flagWords`\n- single word entry - `word`\n- with suggestions - `word:suggestion` or `word->suggestion, suggestions`\n\nExample: ```ts \"flagWords\": [   \"color: colour\",   \"incase: in case, encase\",   \"canot->cannot\",   \"cancelled->canceled\" ] ```","items":{"type":"string"},"markdownDescription":"List of words to always be considered incorrect. Words found in `flagWords` override `words`.\n\nFormat of `flagWords`\n- single word entry - `word`\n- with suggestions - `word:suggestion` or `word->suggestion, suggestions`\n\nExample:\n```ts\n\"flagWords\": [\n  \"color: colour\",\n  \"incase: in case, encase\",\n  \"canot->cannot\",\n  \"cancelled->canceled\"\n]\n```","type":"array"},"ignoreWords":{"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`.","items":{"type":"string"},"markdownDescription":"List of words to be ignored. An ignored word will not show up as an error, even if it is\nalso in the `flagWords`.","type":"array"},"name":{"$ref":"#/definitions/DictionaryId","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 `*`, `!`, `;`, `,`, `{`, `}`, `[`, `]`, `~`.","markdownDescription":"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 `*`, `!`, `;`, `,`, `{`, `}`, `[`, `]`, `~`."},"suggestWords":{"description":"A list of suggested replacements for words. Suggested words provide a way to make preferred suggestions on word replacements. To hint at a preferred change, but not to require it.\n\nFormat of `suggestWords`\n- Single suggestion (possible auto fix)     - `word: suggestion`     - `word->suggestion`\n- Multiple suggestions (not auto fixable)    - `word: first, second, third`    - `word->first, second, third`","items":{"type":"string"},"markdownDescription":"A list of suggested replacements for words.\nSuggested words provide a way to make preferred suggestions on word replacements.\nTo hint at a preferred change, but not to require it.\n\nFormat of `suggestWords`\n- Single suggestion (possible auto fix)\n    - `word: suggestion`\n    - `word->suggestion`\n- Multiple suggestions (not auto fixable)\n   - `word: first, second, third`\n   - `word->first, second, third`","type":"array"},"supportNonStrictSearches":{"default":true,"description":"Strip case and accents to allow for case insensitive searches and words without accents.\n\nNote: this setting only applies to word lists. It has no-impact on trie dictionaries.","markdownDescription":"Strip case and accents to allow for case insensitive searches and\nwords without accents.\n\nNote: this setting only applies to word lists. It has no-impact on trie\ndictionaries.","type":"boolean"},"words":{"description":"List of words to be considered correct.","items":{"type":"string"},"markdownDescription":"List of words to be considered correct.","type":"array"}},"required":["ignoreWords","name"],"type":"object"},"DictionaryDefinitionInlineSuggestWords":{"additionalProperties":false,"properties":{"description":{"description":"Optional description of the contents / purpose of the dictionary.","markdownDescription":"Optional description of the contents / purpose of the dictionary.","type":"string"},"flagWords":{"description":"List of words to always be considered incorrect. Words found in `flagWords` override `words`.\n\nFormat of `flagWords`\n- single word entry - `word`\n- with suggestions - `word:suggestion` or `word->suggestion, suggestions`\n\nExample: ```ts \"flagWords\": [   \"color: colour\",   \"incase: in case, encase\",   \"canot->cannot\",   \"cancelled->canceled\" ] ```","items":{"type":"string"},"markdownDescription":"List of words to always be considered incorrect. Words found in `flagWords` override `words`.\n\nFormat of `flagWords`\n- single word entry - `word`\n- with suggestions - `word:suggestion` or `word->suggestion, suggestions`\n\nExample:\n```ts\n\"flagWords\": [\n  \"color: colour\",\n  \"incase: in case, encase\",\n  \"canot->cannot\",\n  \"cancelled->canceled\"\n]\n```","type":"array"},"ignoreWords":{"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`.","items":{"type":"string"},"markdownDescription":"List of words to be ignored. An ignored word will not show up as an error, even if it is\nalso in the `flagWords`.","type":"array"},"name":{"$ref":"#/definitions/DictionaryId","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 `*`, `!`, `;`, `,`, `{`, `}`, `[`, `]`, `~`.","markdownDescription":"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 `*`, `!`, `;`, `,`, `{`, `}`, `[`, `]`, `~`."},"suggestWords":{"description":"A list of suggested replacements for words. Suggested words provide a way to make preferred suggestions on word replacements. To hint at a preferred change, but not to require it.\n\nFormat of `suggestWords`\n- Single suggestion (possible auto fix)     - `word: suggestion`     - `word->suggestion`\n- Multiple suggestions (not auto fixable)    - `word: first, second, third`    - `word->first, second, third`","items":{"type":"string"},"markdownDescription":"A list of suggested replacements for words.\nSuggested words provide a way to make preferred suggestions on word replacements.\nTo hint at a preferred change, but not to require it.\n\nFormat of `suggestWords`\n- Single suggestion (possible auto fix)\n    - `word: suggestion`\n    - `word->suggestion`\n- Multiple suggestions (not auto fixable)\n   - `word: first, second, third`\n   - `word->first, second, third`","type":"array"},"supportNonStrictSearches":{"default":true,"description":"Strip case and accents to allow for case insensitive searches and words without accents.\n\nNote: this setting only applies to word lists. It has no-impact on trie dictionaries.","markdownDescription":"Strip case and accents to allow for case insensitive searches and\nwords without accents.\n\nNote: this setting only applies to word lists. It has no-impact on trie\ndictionaries.","type":"boolean"},"words":{"description":"List of words to be considered correct.","items":{"type":"string"},"markdownDescription":"List of words to be considered correct.","type":"array"}},"required":["name","suggestWords"],"type":"object"},"DictionaryDefinitionInlineWords":{"additionalProperties":false,"properties":{"description":{"description":"Optional description of the contents / purpose of the dictionary.","markdownDescription":"Optional description of the contents / purpose of the dictionary.","type":"string"},"flagWords":{"description":"List of words to always be considered incorrect. Words found in `flagWords` override `words`.\n\nFormat of `flagWords`\n- single word entry - `word`\n- with suggestions - `word:suggestion` or `word->suggestion, suggestions`\n\nExample: ```ts \"flagWords\": [   \"color: colour\",   \"incase: in case, encase\",   \"canot->cannot\",   \"cancelled->canceled\" ] ```","items":{"type":"string"},"markdownDescription":"List of words to always be considered incorrect. Words found in `flagWords` override `words`.\n\nFormat of `flagWords`\n- single word entry - `word`\n- with suggestions - `word:suggestion` or `word->suggestion, suggestions`\n\nExample:\n```ts\n\"flagWords\": [\n  \"color: colour\",\n  \"incase: in case, encase\",\n  \"canot->cannot\",\n  \"cancelled->canceled\"\n]\n```","type":"array"},"ignoreWords":{"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`.","items":{"type":"string"},"markdownDescription":"List of words to be ignored. An ignored word will not show up as an error, even if it is\nalso in the `flagWords`.","type":"array"},"name":{"$ref":"#/definitions/DictionaryId","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 `*`, `!`, `;`, `,`, `{`, `}`, `[`, `]`, `~`.","markdownDescription":"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 `*`, `!`, `;`, `,`, `{`, `}`, `[`, `]`, `~`."},"suggestWords":{"description":"A list of suggested replacements for words. Suggested words provide a way to make preferred suggestions on word replacements. To hint at a preferred change, but not to require it.\n\nFormat of `suggestWords`\n- Single suggestion (possible auto fix)     - `word: suggestion`     - `word->suggestion`\n- Multiple suggestions (not auto fixable)    - `word: first, second, third`    - `word->first, second, third`","items":{"type":"string"},"markdownDescription":"A list of suggested replacements for words.\nSuggested words provide a way to make preferred suggestions on word replacements.\nTo hint at a preferred change, but not to require it.\n\nFormat of `suggestWords`\n- Single suggestion (possible auto fix)\n    - `word: suggestion`\n    - `word->suggestion`\n- Multiple suggestions (not auto fixable)\n   - `word: first, second, third`\n   - `word->first, second, third`","type":"array"},"supportNonStrictSearches":{"default":true,"description":"Strip case and accents to allow for case insensitive searches and words without accents.\n\nNote: this setting only applies to word lists. It has no-impact on trie dictionaries.","markdownDescription":"Strip case and accents to allow for case insensitive searches and\nwords without accents.\n\nNote: this setting only applies to word lists. It has no-impact on trie\ndictionaries.","type":"boolean"},"words":{"description":"List of words to be considered correct.","items":{"type":"string"},"markdownDescription":"List of words to be considered correct.","type":"array"}},"required":["name","words"],"type":"object"},"DictionaryDefinitionPreferred":{"additionalProperties":false,"properties":{"description":{"description":"Optional description of the contents / purpose of the dictionary.","markdownDescription":"Optional description of the contents / purpose of the dictionary.","type":"string"},"ignoreForbiddenWords":{"description":"Some dictionaries may contain forbidden words to prevent compounding from generating words that are not valid in the language. These are often words that are used in other languages or might be generated through compounding. This setting allows flagged words to be ignored when checking the dictionary. The effect is similar to the word not being in the dictionary.","markdownDescription":"Some dictionaries may contain forbidden words to prevent compounding from generating\nwords that are not valid in the language. These are often\nwords that are used in other languages or might be generated through compounding.\nThis setting allows flagged words to be ignored when checking the dictionary.\nThe effect is similar to the word not being in the dictionary.","type":"boolean"},"name":{"$ref":"#/definitions/DictionaryId","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 `*`, `!`, `;`, `,`, `{`, `}`, `[`, `]`, `~`.","markdownDescription":"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 `*`, `!`, `;`, `,`, `{`, `}`, `[`, `]`, `~`."},"noSuggest":{"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.","markdownDescription":"Indicate that suggestions should not come from this dictionary.\nWords in this dictionary are considered correct, but will not be\nused when making spell correction suggestions.\n\nNote: if a word is suggested by another dictionary, but found in\nthis dictionary, it will be removed from the set of\npossible suggestions.","type":"boolean"},"path":{"$ref":"#/definitions/DictionaryPath","description":"Path to the file.","markdownDescription":"Path to the file."},"repMap":{"$ref":"#/definitions/ReplaceMap","description":"Replacement pairs.","markdownDescription":"Replacement pairs."},"supportNonStrictSearches":{"default":true,"description":"Strip case and accents to allow for case insensitive searches and words without accents.\n\nNote: this setting only applies to word lists. It has no-impact on trie dictionaries.","markdownDescription":"Strip case and accents to allow for case insensitive searches and\nwords without accents.\n\nNote: this setting only applies to word lists. It has no-impact on trie\ndictionaries.","type":"boolean"},"type":{"$ref":"#/definitions/DictionaryFileTypes","default":"S","description":"Type of file:\n- S - single word per line,\n- W - each line can contain one or more words separated by space,\n- C - each line is treated like code (Camel Case is allowed).\n\nDefault is S.\n\nC is the slowest to load due to the need to split each line based upon code splitting rules.\n\nNote: this settings does not apply to inline dictionaries or `.trie` files.","markdownDescription":"Type of file:\n- S - single word per line,\n- W - each line can contain one or more words separated by space,\n- C - each line is treated like code (Camel Case is allowed).\n\nDefault is S.\n\nC is the slowest to load due to the need to split each line based upon code splitting rules.\n\nNote: this settings does not apply to inline dictionaries or `.trie` files."},"useCompounds":{"description":"Use Compounds.","markdownDescription":"Use Compounds.","type":"boolean"}},"required":["name","path"],"type":"object"},"DictionaryDefinitionSimple":{"additionalProperties":false,"description":"An Empty Dictionary Definition","markdownDescription":"An Empty Dictionary Definition","properties":{"description":{"description":"Optional description of the contents / purpose of the dictionary.","markdownDescription":"Optional description of the contents / purpose of the dictionary.","type":"string"},"name":{"$ref":"#/definitions/DictionaryId","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 `*`, `!`, `;`, `,`, `{`, `}`, `[`, `]`, `~`.","markdownDescription":"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 `*`, `!`, `;`, `,`, `{`, `}`, `[`, `]`, `~`."},"supportNonStrictSearches":{"default":true,"description":"Strip case and accents to allow for case insensitive searches and words without accents.\n\nNote: this setting only applies to word lists. It has no-impact on trie dictionaries.","markdownDescription":"Strip case and accents to allow for case insensitive searches and\nwords without accents.\n\nNote: this setting only applies to word lists. It has no-impact on trie\ndictionaries.","type":"boolean"}},"required":["name"],"type":"object"},"DictionaryFileTypes":{"enum":["S","W","C","T"],"type":"string"},"DictionaryId":{"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 `*`, `!`, `;`, `,`, `{`, `}`, `[`, `]`, `~`.","markdownDescription":"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 `*`, `!`, `;`, `,`, `{`, `}`, `[`, `]`, `~`.","pattern":"^(?=[^!*,;{}[\\]~\\n]+$)(?=(.*\\w)).+$","type":"string"},"DictionaryInformation":{"additionalProperties":false,"description":"Use by dictionary authors to help improve the quality of suggestions given from the dictionary.\n\nAdded with `v5.16.0`.","markdownDescription":"Use by dictionary authors to help improve the quality of suggestions\ngiven from the dictionary.\n\nAdded with `v5.16.0`.","properties":{"accents":{"anyOf":[{"$ref":"#/definitions/CharacterSet"},{"items":{"$ref":"#/definitions/CharacterSetCosts"},"type":"array"}],"description":"The accent characters.\n\nDefault: `\"\\u0300-\\u0341\"`","markdownDescription":"The accent characters.\n\nDefault: `\"\\u0300-\\u0341\"`"},"adjustments":{"description":"A collection of patterns to test against the suggested words. If the word matches the pattern, then the penalty is applied.","items":{"$ref":"#/definitions/PatternAdjustment"},"markdownDescription":"A collection of patterns to test against the suggested words.\nIf the word matches the pattern, then the penalty is applied.","type":"array"},"alphabet":{"anyOf":[{"$ref":"#/definitions/CharacterSet"},{"items":{"$ref":"#/definitions/CharacterSetCosts"},"type":"array"}],"default":"a-zA-Z","description":"The alphabet to use.","markdownDescription":"The alphabet to use."},"costs":{"$ref":"#/definitions/EditCosts","description":"Define edit costs.","markdownDescription":"Define edit costs."},"hunspellInformation":{"$ref":"#/definitions/HunspellInformation","description":"Used by dictionary authors","markdownDescription":"Used by dictionary authors"},"ignore":{"$ref":"#/definitions/CharacterSet","description":"An optional set of characters that can possibly be removed from a word before checking it.\n\nThis is useful in languages like Arabic where Harakat accents are optional.\n\nNote: All matching characters are removed or none. Partial removal is not supported.","markdownDescription":"An optional set of characters that can possibly be removed from a word before\nchecking it.\n\nThis is useful in languages like Arabic where Harakat accents are optional.\n\nNote: All matching characters are removed or none. Partial removal is not supported."},"locale":{"description":"The locale of the dictionary. Example: `nl,nl-be`","markdownDescription":"The locale of the dictionary.\nExample: `nl,nl-be`","type":"string"},"suggestionEditCosts":{"$ref":"#/definitions/SuggestionCostsDefs","description":"Used in making suggestions. The lower the value, the more likely the suggestion will be near the top of the suggestion list.","markdownDescription":"Used in making suggestions. The lower the value, the more likely the suggestion\nwill be near the top of the suggestion list."}},"type":"object"},"DictionaryNegRef":{"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>`.","markdownDescription":"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>`.\n   Overrides `!<dictionary_name>`.\n- `!!!<dictionary_name>` - Used to exclude a dictionary matching `<dictionary_name>`.\n   Overrides `!!<dictionary_name>`.","pattern":"^(?=!+[^!*,;{}[\\]~\\n]+$)(?=(.*\\w)).+$","type":"string"},"DictionaryPath":{"description":"A File System Path to a dictionary file. Pattern: `^.*\\.(?:txt|trie|dic)(?:\\.gz)?$`","markdownDescription":"A File System Path to a dictionary file.\nPattern: `^.*\\.(?:txt|trie|dic)(?:\\.gz)?$`","type":"string"},"DictionaryRef":{"$ref":"#/definitions/DictionaryId","description":"This a reference to a named dictionary. It is expected to match the name of a dictionary.","markdownDescription":"This a reference to a named dictionary.\nIt is expected to match the name of a dictionary."},"DictionaryReference":{"anyOf":[{"$ref":"#/definitions/DictionaryRef"},{"$ref":"#/definitions/DictionaryNegRef"}],"description":"Reference to a dictionary by name. One of:\n-  {@link  DictionaryRef } \n-  {@link  DictionaryNegRef }","markdownDescription":"Reference to a dictionary by name.\nOne of:\n-  {@link  DictionaryRef } \n-  {@link  DictionaryNegRef }"},"EditCosts":{"additionalProperties":false,"properties":{"accentCosts":{"default":1,"description":"The cost to add / remove an accent This should be very cheap, it helps with fixing accent issues.","markdownDescription":"The cost to add / remove an accent\nThis should be very cheap, it helps with fixing accent issues.","type":"number"},"baseCost":{"default":100,"description":"This is the base cost for making an edit.","markdownDescription":"This is the base cost for making an edit.","type":"number"},"capsCosts":{"default":1,"description":"The cost to change capitalization. This should be very cheap, it helps with fixing capitalization issues.","markdownDescription":"The cost to change capitalization.\nThis should be very cheap, it helps with fixing capitalization issues.","type":"number"},"firstLetterPenalty":{"default":4,"description":"The extra cost incurred for changing the first letter of a word. This value should be less than `100 - baseCost`.","markdownDescription":"The extra cost incurred for changing the first letter of a word.\nThis value should be less than `100 - baseCost`.","type":"number"},"nonAlphabetCosts":{"default":110,"description":"This is the cost for characters not in the alphabet.","markdownDescription":"This is the cost for characters not in the alphabet.","type":"number"}},"type":"object"},"FSPathResolvable":{"$ref":"#/definitions/FsPath","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.","markdownDescription":"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."},"FeatureEnableOnly":{"type":"boolean"},"Features":{"additionalProperties":false,"description":"Features are behaviors or settings that can be explicitly configured.","markdownDescription":"Features are behaviors or settings that can be explicitly configured.","properties":{"weighted-suggestions":{"$ref":"#/definitions/FeatureEnableOnly","description":"Enable/disable using weighted suggestions.","markdownDescription":"Enable/disable using weighted suggestions."}},"type":"object"},"FsDictionaryPath":{"description":"A File System Path. Relative paths are relative to the configuration file.","markdownDescription":"A File System Path. Relative paths are relative to the configuration file.","type":"string"},"FsPath":{"description":"A File System Path. Relative paths are relative to the configuration file.","markdownDescription":"A File System Path. Relative paths are relative to the configuration file.","type":"string"},"Glob":{"$ref":"#/definitions/SimpleGlob","description":"These are glob expressions.","markdownDescription":"These are glob expressions."},"HunspellInformation":{"additionalProperties":false,"properties":{"aff":{"description":"Selected Hunspell AFF content. The content must be UTF-8\n\nSections:\n- TRY\n- MAP\n- REP\n- KEY\n- ICONV\n- OCONV\n\nExample: ```hunspell # Comment TRY aeistlunkodmrvpgjh\u00e4\u00f5b\u00fco\u00f6fcwzx\u00f0q\u00fe` MAP a\u00e0\u00e2\u00e4A\u00c0\u00c2\u00c4 MAP e\u00e9\u00e8\u00ea\u00ebE\u00c9\u00c8\u00ca\u00cb MAP i\u00ee\u00efyI\u00ce\u00cfY MAP o\u00f4\u00f6O\u00d4\u00d6 MAP (IJ)(\u0132) ```","markdownDescription":"Selected Hunspell AFF content.\nThe content must be UTF-8\n\nSections:\n- TRY\n- MAP\n- REP\n- KEY\n- ICONV\n- OCONV\n\nExample:\n```hunspell\n# Comment\nTRY aeistlunkodmrvpgjh\u00e4\u00f5b\u00fco\u00f6fcwzx\u00f0q\u00fe`\nMAP a\u00e0\u00e2\u00e4A\u00c0\u00c2\u00c4\nMAP e\u00e9\u00e8\u00ea\u00ebE\u00c9\u00c8\u00ca\u00cb\nMAP i\u00ee\u00efyI\u00ce\u00cfY\nMAP o\u00f4\u00f6O\u00d4\u00d6\nMAP (IJ)(\u0132)\n```","type":"string"},"costs":{"additionalProperties":false,"description":"The costs to apply when using the hunspell settings","markdownDescription":"The costs to apply when using the hunspell settings","properties":{"accentCosts":{"default":1,"description":"The cost to add / remove an accent This should be very cheap, it helps with fixing accent issues.","markdownDescription":"The cost to add / remove an accent\nThis should be very cheap, it helps with fixing accent issues.","type":"number"},"baseCost":{"default":100,"description":"This is the base cost for making an edit.","markdownDescription":"This is the base cost for making an edit.","type":"number"},"capsCosts":{"default":1,"description":"The cost to change capitalization. This should be very cheap, it helps with fixing capitalization issues.","markdownDescription":"The cost to change capitalization.\nThis should be very cheap, it helps with fixing capitalization issues.","type":"number"},"firstLetterPenalty":{"default":4,"description":"The extra cost incurred for changing the first letter of a word. This value should be less than `100 - baseCost`.","markdownDescription":"The extra cost incurred for changing the first letter of a word.\nThis value should be less than `100 - baseCost`.","type":"number"},"ioConvertCost":{"default":30,"description":"The cost to convert between convert pairs.\n\nThe value should be slightly higher than the mapCost.","markdownDescription":"The cost to convert between convert pairs.\n\nThe value should be slightly higher than the mapCost.","type":"number"},"keyboardCost":{"default":99,"description":"The cost of replacing or swapping any adjacent keyboard characters.\n\nThis should be slightly cheaper than `tryCharCost`.","markdownDescription":"The cost of replacing or swapping any adjacent keyboard characters.\n\nThis should be slightly cheaper than `tryCharCost`.","type":"number"},"mapCost":{"default":25,"description":"mapSet replacement cost is the cost to substitute one character with another from the same set.\n\nMap characters are considered very similar to each other and are often the cause of simple mistakes.","markdownDescription":"mapSet replacement cost is the cost to substitute one character with another from\nthe same set.\n\nMap characters are considered very similar to each other and are often\nthe cause of simple mistakes.","type":"number"},"nonAlphabetCosts":{"default":110,"description":"This is the cost for characters not in the alphabet.","markdownDescription":"This is the cost for characters not in the alphabet.","type":"number"},"replaceCosts":{"default":75,"description":"The cost to substitute pairs found in the replace settings.","markdownDescription":"The cost to substitute pairs found in the replace settings.","type":"number"},"tryCharCost":{"description":"The cost of inserting / deleting / or swapping any `tryChars` Defaults to `baseCosts`","markdownDescription":"The cost of inserting / deleting / or swapping any `tryChars`\nDefaults to `baseCosts`","type":"number"}},"type":"object"}},"required":["aff"],"type":"object"},"LanguageId":{"anyOf":[{"$ref":"#/definitions/LanguageIdSingle"},{"$ref":"#/definitions/LanguageIdMultiple"},{"$ref":"#/definitions/LanguageIdMultipleNeg"}]},"LanguageIdMultiple":{"description":"A single string with a comma separated list of file types:\n- `typescript,cpp`\n- `json,jsonc,yaml`\n- etc.","markdownDescription":"A single string with a comma separated list of file types:\n- `typescript,cpp`\n- `json,jsonc,yaml`\n- etc.","pattern":"^([-\\w_\\s]+)(,[-\\w_\\s]+)*$","type":"string"},"LanguageIdMultipleNeg":{"description":"A Negative File Type used to exclude files of that type.\n- `!typescript` - will exclude typescript files.\n- `!cpp,!json` - will exclude cpp and json files.\n- `!typescript,javascript` - will exclude typescript files and include javascript files.","markdownDescription":"A Negative File Type used to exclude files of that type.\n- `!typescript` - will exclude typescript files.\n- `!cpp,!json` - will exclude cpp and json files.\n- `!typescript,javascript` - will exclude typescript files and include javascript files.","pattern":"^(![-\\w_\\s]+)(,!?[-\\w_\\s]+)*$","type":"string"},"LanguageIdSingle":{"description":"A file type:\n- `*` - will match ALL file types.\n- `typescript`, `cpp`, `json`, etc.","markdownDescription":"A file type:\n- `*` - will match ALL file types.\n- `typescript`, `cpp`, `json`, etc.","pattern":"^(!?[-\\w_\\s]+)|(\\*)$","type":"string"},"LanguageSetting":{"additionalProperties":false,"properties":{"allowCompoundWords":{"default":false,"description":"True to enable compound word checking.","markdownDescription":"True to enable compound word checking.","type":"boolean"},"caseSensitive":{"default":false,"description":"Determines if words must match case and accent rules.\n\nSee [Case Sensitivity](https://cspell.org/docs/case-sensitive/) for more details.\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.","markdownDescription":"Determines if words must match case and accent rules.\n\nSee [Case Sensitivity](https://cspell.org/docs/case-sensitive/) for more details.\n\n- `false` - Case is ignored and accents can be missing on the entire word.\n  Incorrect accents or partially missing accents will be marked as incorrect.\n- `true` - Case and accents are enforced.","type":"boolean"},"description":{"description":"Optional description of configuration.","markdownDescription":"Optional description of configuration.","type":"string"},"dictionaries":{"description":"Optional list of dictionaries to use. Each entry should match the name of the dictionary.\n\nTo remove a dictionary from the list, add `!` before the name.\n\nFor example, `!typescript` will turn off the dictionary with the name `typescript`.\n\nSee the [Dictionaries](https://cspell.org/docs/dictionaries/) and [Custom Dictionaries](https://cspell.org/docs/dictionaries-custom/) for more details.","items":{"$ref":"#/definitions/DictionaryReference"},"markdownDescription":"Optional list of dictionaries to use. Each entry should match the name of the dictionary.\n\nTo remove a dictionary from the list, add `!` before the name.\n\nFor example, `!typescript` will turn off the dictionary with the name `typescript`.\n\nSee the [Dictionaries](https://cspell.org/docs/dictionaries/)\nand [Custom Dictionaries](https://cspell.org/docs/dictionaries-custom/) for more details.","type":"array"},"dictionaryDefinitions":{"description":"Define additional available dictionaries.\n\nFor example, you can use the following to add a custom dictionary:\n\n```json \"dictionaryDefinitions\": [   { \"name\": \"custom-words\", \"path\": \"./custom-words.txt\"} ], \"dictionaries\": [\"custom-words\"] ```","items":{"$ref":"#/definitions/DictionaryDefinition"},"markdownDescription":"Define additional available dictionaries.\n\nFor example, you can use the following to add a custom dictionary:\n\n```json\n\"dictionaryDefinitions\": [\n  { \"name\": \"custom-words\", \"path\": \"./custom-words.txt\"}\n],\n\"dictionaries\": [\"custom-words\"]\n```","type":"array"},"enabled":{"default":true,"description":"Is the spell checker enabled.","markdownDescription":"Is the spell checker enabled.","type":"boolean"},"flagWords":{"description":"List of words to always be considered incorrect. Words found in `flagWords` override `words`.\n\nFormat of `flagWords`\n- single word entry - `word`\n- with suggestions - `word:suggestion` or `word->suggestion, suggestions`\n\nExample: ```ts \"flagWords\": [   \"color: colour\",   \"incase: in case, encase\",   \"canot->cannot\",   \"cancelled->canceled\" ] ```","items":{"type":"string"},"markdownDescription":"List of words to always be considered incorrect. Words found in `flagWords` override `words`.\n\nFormat of `flagWords`\n- single word entry - `word`\n- with suggestions - `word:suggestion` or `word->suggestion, suggestions`\n\nExample:\n```ts\n\"flagWords\": [\n  \"color: colour\",\n  \"incase: in case, encase\",\n  \"canot->cannot\",\n  \"cancelled->canceled\"\n]\n```","type":"array"},"id":{"description":"Optional identifier.","markdownDescription":"Optional identifier.","type":"string"},"ignoreRegExpList":{"$ref":"#/definitions/RegExpPatternList","description":"List of regular expression patterns or pattern names to exclude from spell checking.\n\nExample: `[\"href\"]` - to exclude html href pattern.\n\nRegular expressions use JavaScript regular expression syntax.\n\nExample: to ignore ALL-CAPS words\n\nJSON ```json \"ignoreRegExpList\": [\"/\\\\b[A-Z]+\\\\b/g\"] ```\n\nYAML ```yaml ignoreRegExpList:   - >-    /\\b[A-Z]+\\b/g ```\n\nBy default, several patterns are excluded. See [Configuration](https://cspell.org/configuration/patterns) for more details.\n\nWhile you can create your own patterns, you can also leverage several patterns that are [built-in to CSpell](https://cspell.org/types/cspell-types/types/PredefinedPatterns.html).","markdownDescription":"List of regular expression patterns or pattern names to exclude from spell checking.\n\nExample: `[\"href\"]` - to exclude html href pattern.\n\nRegular expressions use JavaScript regular expression syntax.\n\nExample: to ignore ALL-CAPS words\n\nJSON\n```json\n\"ignoreRegExpList\": [\"/\\\\b[A-Z]+\\\\b/g\"]\n```\n\nYAML\n```yaml\nignoreRegExpList:\n  - >-\n   /\\b[A-Z]+\\b/g\n```\n\nBy default, several patterns are excluded. See\n[Configuration](https://cspell.org/configuration/patterns) for more details.\n\nWhile you can create your own patterns, you can also leverage several patterns that are\n[built-in to CSpell](https://cspell.org/types/cspell-types/types/PredefinedPatterns.html)."},"ignoreWords":{"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`.","items":{"type":"string"},"markdownDescription":"List of words to be ignored. An ignored word will not show up as an error, even if it is\nalso in the `flagWords`.","type":"array"},"includeRegExpList":{"$ref":"#/definitions/RegExpPatternList","description":"List of regular expression patterns or defined pattern names to match for spell checking.\n\nIf this property is defined, only text matching the included patterns will be checked.\n\nWhile you can create your own patterns, you can also leverage several patterns that are [built-in to CSpell](https://cspell.org/types/cspell-types/types/PredefinedPatterns.html).","markdownDescription":"List of regular expression patterns or defined pattern names to match for spell checking.\n\nIf this property is defined, only text matching the included patterns will be checked.\n\nWhile you can create your own patterns, you can also leverage several patterns that are\n[built-in to CSpell](https://cspell.org/types/cspell-types/types/PredefinedPatterns.html)."},"languageId":{"$ref":"#/definitions/MatchingFileType","description":"The language id.  Ex: `typescript`, `html`, or `php`.  `*` -- will match all languages.","markdownDescription":"The language id.  Ex: `typescript`, `html`, or `php`.  `*` -- will match all languages."},"local":{"anyOf":[{"$ref":"#/definitions/LocaleId"},{"items":{"$ref":"#/definitions/LocaleId"},"type":"array"}],"deprecated":true,"deprecationMessage":"Use `locale` instead.","description":"Deprecated - The locale filter, matches against the language. This can be a comma separated list. `*` will match all locales.","markdownDescription":"Deprecated - The locale filter, matches against the language. This can be a comma separated list. `*` will match all locales."},"locale":{"anyOf":[{"$ref":"#/definitions/LocaleId"},{"items":{"$ref":"#/definitions/LocaleId"},"type":"array"}],"description":"The locale filter, matches against the language. This can be a comma separated list. `*` will match all locales.","markdownDescription":"The locale filter, matches against the language. This can be a comma separated list. `*` will match all locales."},"name":{"description":"Optional name of configuration.","markdownDescription":"Optional name of configuration.","type":"string"},"noSuggestDictionaries":{"description":"Optional list of dictionaries that will not be used for suggestions. Words in these dictionaries 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 one of these dictionaries, it will be removed from the set of possible suggestions.","items":{"$ref":"#/definitions/DictionaryReference"},"markdownDescription":"Optional list of dictionaries that will not be used for suggestions.\nWords in these dictionaries are considered correct, but will not be\nused when making spell correction suggestions.\n\nNote: if a word is suggested by another dictionary, but found in\none of these dictionaries, it will be removed from the set of\npossible suggestions.","type":"array"},"patterns":{"description":"Defines a list of patterns that can be used with the  {@link  ignoreRegExpList }  and  {@link  includeRegExpList }  options.\n\nFor example:\n\n```javascript \"ignoreRegExpList\": [\"comments\"], \"patterns\": [   {     \"name\": \"comment-single-line\",     \"pattern\": \"/#.*/g\"   },   {     \"name\": \"comment-multi-line\",     \"pattern\": \"/(?:\\\\/\\\\*[\\\\s\\\\S]*?\\\\*\\\\/)/g\"   },   // You can also combine multiple named patterns into one single named pattern   {     \"name\": \"comments\",     \"pattern\": [\"comment-single-line\", \"comment-multi-line\"]   } ] ```","items":{"$ref":"#/definitions/RegExpPatternDefinition"},"markdownDescription":"Defines a list of patterns that can be used with the  {@link  ignoreRegExpList }  and\n {@link  includeRegExpList }  options.\n\nFor example:\n\n```javascript\n\"ignoreRegExpList\": [\"comments\"],\n\"patterns\": [\n  {\n    \"name\": \"comment-single-line\",\n    \"pattern\": \"/#.*/g\"\n  },\n  {\n    \"name\": \"comment-multi-line\",\n    \"pattern\": \"/(?:\\\\/\\\\*[\\\\s\\\\S]*?\\\\*\\\\/)/g\"\n  },\n  // You can also combine multiple named patterns into one single named pattern\n  {\n    \"name\": \"comments\",\n    \"pattern\": [\"comment-single-line\", \"comment-multi-line\"]\n  }\n]\n```","type":"array"},"suggestWords":{"description":"A list of suggested replacements for words. Suggested words provide a way to make preferred suggestions on word replacements. To hint at a preferred change, but not to require it.\n\nFormat of `suggestWords`\n- Single suggestion (possible auto fix)     - `word: suggestion`     - `word->suggestion`\n- Multiple suggestions (not auto fixable)    - `word: first, second, third`    - `word->first, second, third`","items":{"type":"string"},"markdownDescription":"A list of suggested replacements for words.\nSuggested words provide a way to make preferred suggestions on word replacements.\nTo hint at a preferred change, but not to require it.\n\nFormat of `suggestWords`\n- Single suggestion (possible auto fix)\n    - `word: suggestion`\n    - `word->suggestion`\n- Multiple suggestions (not auto fixable)\n   - `word: first, second, third`\n   - `word->first, second, third`","type":"array"},"unknownWords":{"$ref":"#/definitions/UnknownWordsChoices","default":"report-all","description":"Controls how unknown words are handled.\n\n- `report-all` - Report all unknown words (default behavior)\n- `report-simple` - Report unknown words that have simple spelling errors, typos, and flagged words.\n- `report-common-typos` - Report unknown words that are common typos and flagged words.\n- `report-flagged` - Report unknown words that are flagged.","markdownDescription":"Controls how unknown words are handled.\n\n- `report-all` - Report all unknown words (default behavior)\n- `report-simple` - Report unknown words that have simple spelling errors, typos, and flagged words.\n- `report-common-typos` - Report unknown words that are common typos and flagged words.\n- `report-flagged` - Report unknown words that are flagged.","since":"9.1.0"},"words":{"description":"List of words to be considered correct.","items":{"type":"string"},"markdownDescription":"List of words to be considered correct.","type":"array"}},"required":["languageId"],"type":"object"},"LocaleId":{"description":"This is a written language locale like: `en`, `en-GB`, `fr`, `es`, `de` or `en,fr` for both English and French","markdownDescription":"This is a written language locale like: `en`, `en-GB`, `fr`, `es`, `de` or `en,fr` for both English and French","type":"string"},"MatchingFileType":{"anyOf":[{"$ref":"#/definitions/LanguageId"},{"items":{"$ref":"#/definitions/LanguageId"},"type":"array"}]},"OverrideSettings":{"additionalProperties":false,"properties":{"allowCompoundWords":{"default":false,"description":"True to enable compound word checking.","markdownDescription":"True to enable compound word checking.","type":"boolean"},"caseSensitive":{"default":false,"description":"Determines if words must match case and accent rules.\n\nSee [Case Sensitivity](https://cspell.org/docs/case-sensitive/) for more details.\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.","markdownDescription":"Determines if words must match case and accent rules.\n\nSee [Case Sensitivity](https://cspell.org/docs/case-sensitive/) for more details.\n\n- `false` - Case is ignored and accents can be missing on the entire word.\n  Incorrect accents or partially missing accents will be marked as incorrect.\n- `true` - Case and accents are enforced.","type":"boolean"},"description":{"description":"Optional description of configuration.","markdownDescription":"Optional description of configuration.","type":"string"},"dictionaries":{"description":"Optional list of dictionaries to use. Each entry should match the name of the dictionary.\n\nTo remove a dictionary from the list, add `!` before the name.\n\nFor example, `!typescript` will turn off the dictionary with the name `typescript`.\n\nSee the [Dictionaries](https://cspell.org/docs/dictionaries/) and [Custom Dictionaries](https://cspell.org/docs/dictionaries-custom/) for more details.","items":{"$ref":"#/definitions/DictionaryReference"},"markdownDescription":"Optional list of dictionaries to use. Each entry should match the name of the dictionary.\n\nTo remove a dictionary from the list, add `!` before the name.\n\nFor example, `!typescript` will turn off the dictionary with the name `typescript`.\n\nSee the [Dictionaries](https://cspell.org/docs/dictionaries/)\nand [Custom Dictionaries](https://cspell.org/docs/dictionaries-custom/) for more details.","type":"array"},"dictionaryDefinitions":{"description":"Define additional available dictionaries.\n\nFor example, you can use the following to add a custom dictionary:\n\n```json \"dictionaryDefinitions\": [   { \"name\": \"custom-words\", \"path\": \"./custom-words.txt\"} ], \"dictionaries\": [\"custom-words\"] ```","items":{"$ref":"#/definitions/DictionaryDefinition"},"markdownDescription":"Define additional available dictionaries.\n\nFor example, you can use the following to add a custom dictionary:\n\n```json\n\"dictionaryDefinitions\": [\n  { \"name\": \"custom-words\", \"path\": \"./custom-words.txt\"}\n],\n\"dictionaries\": [\"custom-words\"]\n```","type":"array"},"enableFiletypes":{"description":"Enable / Disable checking file types (languageIds).\n\nThese are in additional to the file types specified by  {@link  Settings.enabledLanguageIds } . To disable a language, prefix with `!` as in `!json`,\n\n\n**Example: individual file types**\n\n``` jsonc       // enable checking for jsonc !json       // disable checking for json kotlin      // enable checking for kotlin ```\n\n**Example: enable all file types**\n\n```\n*           // enable checking for all file types !json       // except for json ```","items":{"$ref":"#/definitions/LanguageIdSingle"},"markdownDescription":"Enable / Disable checking file types (languageIds).\n\nThese are in additional to the file types specified by  {@link  Settings.enabledLanguageIds } .\nTo disable a language, prefix with `!` as in `!json`,\n\n\n**Example: individual file types**\n\n```\njsonc       // enable checking for jsonc\n!json       // disable checking for json\nkotlin      // enable checking for kotlin\n```\n\n**Example: enable all file types**\n\n```\n*           // enable checking for all file types\n!json       // except for json\n```","scope":"resource","title":"Enable File Types","type":"array","uniqueItems":true},"enabled":{"default":true,"description":"Is the spell checker enabled.","markdownDescription":"Is the spell checker enabled.","type":"boolean"},"enabledFileTypes":{"additionalProperties":{"type":"boolean"},"description":"Enable / Disable checking file types (languageIds).\n\nThis setting replaces:  {@link  Settings.enabledLanguageIds }  and  {@link  Settings.enableFiletypes } .\n\nA Value of:\n- `true` - enable checking for the file type\n- `false` - disable checking for the file type\n\nA file type of `*` is a wildcard that enables all file types.\n\n**Example: enable all file types**\n\n| File Type | Enabled | Comment | | --------- | ------- | ------- | | `*`       | `true`  | Enable all file types. | | `json`    | `false` | Disable checking for json files. |","markdownDescription":"Enable / Disable checking file types (languageIds).\n\nThis setting replaces:  {@link  Settings.enabledLanguageIds }  and  {@link  Settings.enableFiletypes } .\n\nA Value of:\n- `true` - enable checking for the file type\n- `false` - disable checking for the file type\n\nA file type of `*` is a wildcard that enables all file types.\n\n**Example: enable all file types**\n\n| File Type | Enabled | Comment |\n| --------- | ------- | ------- |\n| `*`       | `true`  | Enable all file types. |\n| `json`    | `false` | Disable checking for json files. |","since":"8.8.1","title":"Enabled File Types to Check","type":"object"},"enabledLanguageIds":{"description":"Specify a list of file types to spell check. It is better to use  {@link  Settings.enabledFileTypes }  to Enable / Disable checking files types.","items":{"$ref":"#/definitions/LanguageIdSingle"},"markdownDescription":"Specify a list of file types to spell check. It is better to use  {@link  Settings.enabledFileTypes }  to Enable / Disable checking files types.","title":"Enabled Language Ids","type":"array","uniqueItems":true},"filename":{"anyOf":[{"$ref":"#/definitions/Glob"},{"items":{"$ref":"#/definitions/Glob"},"type":"array"}],"description":"Glob pattern or patterns to match against.","markdownDescription":"Glob pattern or patterns to match against."},"flagWords":{"description":"List of words to always be considered incorrect. Words found in `flagWords` override `words`.\n\nFormat of `flagWords`\n- single word entry - `word`\n- with suggestions - `word:suggestion` or `word->suggestion, suggestions`\n\nExample: ```ts \"flagWords\": [   \"color: colour\",   \"incase: in case, encase\",   \"canot->cannot\",   \"cancelled->canceled\" ] ```","items":{"type":"string"},"markdownDescription":"List of words to always be considered incorrect. Words found in `flagWords` override `words`.\n\nFormat of `flagWords`\n- single word entry - `word`\n- with suggestions - `word:suggestion` or `word->suggestion, suggestions`\n\nExample:\n```ts\n\"flagWords\": [\n  \"color: colour\",\n  \"incase: in case, encase\",\n  \"canot->cannot\",\n  \"cancelled->canceled\"\n]\n```","type":"array"},"id":{"description":"Optional identifier.","markdownDescription":"Optional identifier.","type":"string"},"ignoreRandomStrings":{"default":true,"description":"Ignore sequences of characters that look like random strings.","markdownDescription":"Ignore sequences of characters that look like random strings.","type":"boolean"},"ignoreRegExpList":{"$ref":"#/definitions/RegExpPatternList","description":"List of regular expression patterns or pattern names to exclude from spell checking.\n\nExample: `[\"href\"]` - to exclude html href pattern.\n\nRegular expressions use JavaScript regular expression syntax.\n\nExample: to ignore ALL-CAPS words\n\nJSON ```json \"ignoreRegExpList\": [\"/\\\\b[A-Z]+\\\\b/g\"] ```\n\nYAML ```yaml ignoreRegExpList:   - >-    /\\b[A-Z]+\\b/g ```\n\nBy default, several patterns are excluded. See [Configuration](https://cspell.org/configuration/patterns) for more details.\n\nWhile you can create your own patterns, you can also leverage several patterns that are [built-in to CSpell](https://cspell.org/types/cspell-types/types/PredefinedPatterns.html).","markdownDescription":"List of regular expression patterns or pattern names to exclude from spell checking.\n\nExample: `[\"href\"]` - to exclude html href pattern.\n\nRegular expressions use JavaScript regular expression syntax.\n\nExample: to ignore ALL-CAPS words\n\nJSON\n```json\n\"ignoreRegExpList\": [\"/\\\\b[A-Z]+\\\\b/g\"]\n```\n\nYAML\n```yaml\nignoreRegExpList:\n  - >-\n   /\\b[A-Z]+\\b/g\n```\n\nBy default, several patterns are excluded. See\n[Configuration](https://cspell.org/configuration/patterns) for more details.\n\nWhile you can create your own patterns, you can also leverage several patterns that are\n[built-in to CSpell](https://cspell.org/types/cspell-types/types/PredefinedPatterns.html)."},"ignoreWords":{"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`.","items":{"type":"string"},"markdownDescription":"List of words to be ignored. An ignored word will not show up as an error, even if it is\nalso in the `flagWords`.","type":"array"},"includeRegExpList":{"$ref":"#/definitions/RegExpPatternList","description":"List of regular expression patterns or defined pattern names to match for spell checking.\n\nIf this property is defined, only text matching the included patterns will be checked.\n\nWhile you can create your own patterns, you can also leverage several patterns that are [built-in to CSpell](https://cspell.org/types/cspell-types/types/PredefinedPatterns.html).","markdownDescription":"List of regular expression patterns or defined pattern names to match for spell checking.\n\nIf this property is defined, only text matching the included patterns will be checked.\n\nWhile you can create your own patterns, you can also leverage several patterns that are\n[built-in to CSpell](https://cspell.org/types/cspell-types/types/PredefinedPatterns.html)."},"language":{"$ref":"#/definitions/LocaleId","description":"Sets the locale.","markdownDescription":"Sets the locale."},"languageId":{"$ref":"#/definitions/MatchingFileType","description":"Sets the programming language id to match file type.","markdownDescription":"Sets the programming language id to match file type."},"languageSettings":{"description":"Additional settings for individual languages.\n\nSee [Language Settings](https://cspell.org/configuration/language-settings/) for more details.","items":{"$ref":"#/definitions/LanguageSetting"},"markdownDescription":"Additional settings for individual languages.\n\nSee [Language Settings](https://cspell.org/configuration/language-settings/) for more details.","type":"array"},"loadDefaultConfiguration":{"default":true,"description":"By default, the bundled dictionary configurations are loaded. Explicitly setting this to `false` will prevent ALL default configuration from being loaded.","markdownDescription":"By default, the bundled dictionary configurations are loaded. Explicitly setting this to `false`\nwill prevent ALL default configuration from being loaded.","type":"boolean"},"maxDuplicateProblems":{"default":5,"description":"The maximum number of times the same word can be flagged as an error in a file.","markdownDescription":"The maximum number of times the same word can be flagged as an error in a file.","type":"number"},"maxNumberOfProblems":{"default":10000,"description":"The maximum number of problems to report in a file.","markdownDescription":"The maximum number of problems to report in a file.","type":"number"},"minRandomLength":{"default":40,"description":"The minimum length of a random string to be ignored.","markdownDescription":"The minimum length of a random string to be ignored.","type":"number"},"minWordLength":{"default":4,"description":"The minimum length of a word before checking it against a dictionary.","markdownDescription":"The minimum length of a word before checking it against a dictionary.","type":"number"},"name":{"description":"Optional name of configuration.","markdownDescription":"Optional name of configuration.","type":"string"},"noSuggestDictionaries":{"description":"Optional list of dictionaries that will not be used for suggestions. Words in these dictionaries 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 one of these dictionaries, it will be removed from the set of possible suggestions.","items":{"$ref":"#/definitions/DictionaryReference"},"markdownDescription":"Optional list of dictionaries that will not be used for suggestions.\nWords in these dictionaries are considered correct, but will not be\nused when making spell correction suggestions.\n\nNote: if a word is suggested by another dictionary, but found in\none of these dictionaries, it will be removed from the set of\npossible suggestions.","type":"array"},"numSuggestions":{"default":10,"description":"Number of suggestions to make.","markdownDescription":"Number of suggestions to make.","type":"number"},"patterns":{"description":"Defines a list of patterns that can be used with the  {@link  ignoreRegExpList }  and  {@link  includeRegExpList }  options.\n\nFor example:\n\n```javascript \"ignoreRegExpList\": [\"comments\"], \"patterns\": [   {     \"name\": \"comment-single-line\",     \"pattern\": \"/#.*/g\"   },   {     \"name\": \"comment-multi-line\",     \"pattern\": \"/(?:\\\\/\\\\*[\\\\s\\\\S]*?\\\\*\\\\/)/g\"   },   // You can also combine multiple named patterns into one single named pattern   {     \"name\": \"comments\",     \"pattern\": [\"comment-single-line\", \"comment-multi-line\"]   } ] ```","items":{"$ref":"#/definitions/RegExpPatternDefinition"},"markdownDescription":"Defines a list of patterns that can be used with the  {@link  ignoreRegExpList }  and\n {@link  includeRegExpList }  options.\n\nFor example:\n\n```javascript\n\"ignoreRegExpList\": [\"comments\"],\n\"patterns\": [\n  {\n    \"name\": \"comment-single-line\",\n    \"pattern\": \"/#.*/g\"\n  },\n  {\n    \"name\": \"comment-multi-line\",\n    \"pattern\": \"/(?:\\\\/\\\\*[\\\\s\\\\S]*?\\\\*\\\\/)/g\"\n  },\n  // You can also combine multiple named patterns into one single named pattern\n  {\n    \"name\": \"comments\",\n    \"pattern\": [\"comment-single-line\", \"comment-multi-line\"]\n  }\n]\n```","type":"array"},"pnpFiles":{"default":[".pnp.js",".pnp.cjs"],"description":"The PnP files to search for. Note: `.mjs` files are not currently supported.","items":{"type":"string"},"markdownDescription":"The PnP files to search for. Note: `.mjs` files are not currently supported.","type":"array"},"suggestWords":{"description":"A list of suggested replacements for words. Suggested words provide a way to make preferred suggestions on word replacements. To hint at a preferred change, but not to require it.\n\nFormat of `suggestWords`\n- Single suggestion (possible auto fix)     - `word: suggestion`     - `word->suggestion`\n- Multiple suggestions (not auto fixable)    - `word: first, second, third`    - `word->first, second, third`","items":{"type":"string"},"markdownDescription":"A list of suggested replacements for words.\nSuggested words provide a way to make preferred suggestions on word replacements.\nTo hint at a preferred change, but not to require it.\n\nFormat of `suggestWords`\n- Single suggestion (possible auto fix)\n    - `word: suggestion`\n    - `word->suggestion`\n- Multiple suggestions (not auto fixable)\n   - `word: first, second, third`\n   - `word->first, second, third`","type":"array"},"suggestionNumChanges":{"default":3,"description":"The maximum number of changes allowed on a word to be considered a suggestions.\n\nFor example, appending an `s` onto `example` -> `examples` is considered 1 change.\n\nRange: between 1 and 5.","markdownDescription":"The maximum number of changes allowed on a word to be considered a suggestions.\n\nFor example, appending an `s` onto `example` -> `examples` is considered 1 change.\n\nRange: between 1 and 5.","type":"number"},"suggestionsTimeout":{"default":500,"description":"The maximum amount of time in milliseconds to generate suggestions for a word.","markdownDescription":"The maximum amount of time in milliseconds to generate suggestions for a word.","type":"number"},"unknownWords":{"$ref":"#/definitions/UnknownWordsChoices","default":"report-all","description":"Controls how unknown words are handled.\n\n- `report-all` - Report all unknown words (default behavior)\n- `report-simple` - Report unknown words that have simple spelling errors, typos, and flagged words.\n- `report-common-typos` - Report unknown words that are common typos and flagged words.\n- `report-flagged` - Report unknown words that are flagged.","markdownDescription":"Controls how unknown words are handled.\n\n- `report-all` - Report all unknown words (default behavior)\n- `report-simple` - Report unknown words that have simple spelling errors, typos, and flagged words.\n- `report-common-typos` - Report unknown words that are common typos and flagged words.\n- `report-flagged` - Report unknown words that are flagged.","since":"9.1.0"},"usePnP":{"default":false,"description":"Packages managers like Yarn 2 use a `.pnp.cjs` file to assist in loading packages stored in the repository.\n\nWhen true, the spell checker will search up the directory structure for the existence of a PnP file and load it.","markdownDescription":"Packages managers like Yarn 2 use a `.pnp.cjs` file to assist in loading\npackages stored in the repository.\n\nWhen true, the spell checker will search up the directory structure for the existence\nof a PnP file and load it.","type":"boolean"},"words":{"description":"List of words to be considered correct.","items":{"type":"string"},"markdownDescription":"List of words to be considered correct.","type":"array"}},"required":["filename"],"type":"object"},"Pattern":{"type":"string"},"PatternAdjustment":{"additionalProperties":false,"properties":{"id":{"description":"Id of the Adjustment, i.e. `short-compound`","markdownDescription":"Id of the Adjustment, i.e. `short-compound`","type":"string"},"penalty":{"description":"The amount of penalty to apply.","markdownDescription":"The amount of penalty to apply.","type":"number"},"regexp":{"description":"RegExp pattern to match","markdownDescription":"RegExp pattern to match","type":"string"}},"required":["id","regexp","penalty"],"type":"object"},"PatternId":{"description":"This matches the name in a pattern definition.","markdownDescription":"This matches the name in a pattern definition.","type":"string"},"PatternRef":{"anyOf":[{"$ref":"#/definitions/Pattern"},{"$ref":"#/definitions/PatternId"},{"$ref":"#/definitions/PredefinedPatterns"}],"description":"A PatternRef is a Pattern or PatternId.","markdownDescription":"A PatternRef is a Pattern or PatternId."},"PredefinedPatterns":{"enum":["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"],"type":"string"},"RegExpPatternDefinition":{"additionalProperties":false,"properties":{"description":{"description":"Description of the pattern.","markdownDescription":"Description of the pattern.","type":"string"},"name":{"$ref":"#/definitions/PatternId","description":"Pattern name, used as an identifier in ignoreRegExpList and includeRegExpList. It is possible to redefine one of the predefined patterns to override its value.","markdownDescription":"Pattern name, used as an identifier in ignoreRegExpList and includeRegExpList.\nIt is possible to redefine one of the predefined patterns to override its value."},"pattern":{"anyOf":[{"$ref":"#/definitions/Pattern"},{"items":{"$ref":"#/definitions/Pattern"},"type":"array"}],"description":"RegExp pattern or array of RegExp patterns.","markdownDescription":"RegExp pattern or array of RegExp patterns."}},"required":["name","pattern"],"type":"object"},"RegExpPatternList":{"description":"A list of pattern names or regular expressions.","items":{"$ref":"#/definitions/PatternRef"},"markdownDescription":"A list of pattern names or regular expressions.","type":"array"},"ReplaceEntry":{"items":{"type":"string"},"maxItems":2,"minItems":2,"type":"array"},"ReplaceMap":{"items":{"$ref":"#/definitions/ReplaceEntry"},"type":"array"},"ReporterModuleName":{"description":"The module or path to the the reporter to load.","markdownDescription":"The module or path to the the reporter to load.","type":"string"},"ReporterOptions":{"$ref":"#/definitions/Serializable","description":"Options to send to the reporter. These are defined by the reporter.","markdownDescription":"Options to send to the reporter. These are defined by the reporter."},"ReporterSettings":{"anyOf":[{"$ref":"#/definitions/ReporterModuleName"},{"items":{"$ref":"#/definitions/ReporterModuleName","title":"name"},"maxItems":1,"minItems":1,"type":"array"},{"items":[{"$ref":"#/definitions/ReporterModuleName","title":"name"},{"$ref":"#/definitions/ReporterOptions","title":"options"}],"maxItems":2,"minItems":2,"type":"array"}],"description":"Declare a reporter to use.\n\n`default` - is a special name for the default cli reporter.\n\nExamples:\n- `\"default\"` - to use the default reporter\n- `\"@cspell/cspell-json-reporter\"` - use the cspell JSON reporter.\n- `[\"@cspell/cspell-json-reporter\", { \"outFile\": \"out.json\" }]`","markdownDescription":"Declare a reporter to use.\n\n`default` - is a special name for the default cli reporter.\n\nExamples:\n- `\"default\"` - to use the default reporter\n- `\"@cspell/cspell-json-reporter\"` - use the cspell JSON reporter.\n- `[\"@cspell/cspell-json-reporter\", { \"outFile\": \"out.json\" }]`"},"Serializable":{"anyOf":[{"type":"number"},{"type":"string"},{"type":"boolean"},{"type":"null"},{"type":"object"}]},"SimpleGlob":{"description":"Simple Glob string, the root will be globRoot.","markdownDescription":"Simple Glob string, the root will be globRoot.","type":"string"},"SuggestionCostMapDef":{"anyOf":[{"$ref":"#/definitions/CostMapDefReplace"},{"$ref":"#/definitions/CostMapDefInsDel"},{"$ref":"#/definitions/CostMapDefSwap"}],"description":"A WeightedMapDef enables setting weights for edits between related characters and substrings.\n\nMultiple groups can be defined using a `|`. A multi-character substring is defined using `()`.\n\nFor example, in some languages, some letters sound alike.\n\n```yaml   map: 'sc(sh)(sch)(ss)|t(tt)' # two groups.   replace: 50    # Make it 1/2 the cost of a normal edit to replace a `t` with `tt`. ```\n\nThe following could be used to make inserting, removing, or replacing vowels cheaper. ```yaml   map: 'aeiouy'   insDel: 50     # Make it is cheaper to insert or delete a vowel.   replace: 45    # It is even cheaper to replace one with another. ```\n\nNote: the default edit distance is 100.","markdownDescription":"A WeightedMapDef enables setting weights for edits between related characters and substrings.\n\nMultiple groups can be defined using a `|`.\nA multi-character substring is defined using `()`.\n\nFor example, in some languages, some letters sound alike.\n\n```yaml\n  map: 'sc(sh)(sch)(ss)|t(tt)' # two groups.\n  replace: 50    # Make it 1/2 the cost of a normal edit to replace a `t` with `tt`.\n```\n\nThe following could be used to make inserting, removing, or replacing vowels cheaper.\n```yaml\n  map: 'aeiouy'\n  insDel: 50     # Make it is cheaper to insert or delete a vowel.\n  replace: 45    # It is even cheaper to replace one with another.\n```\n\nNote: the default edit distance is 100."},"SuggestionCostsDefs":{"items":{"$ref":"#/definitions/SuggestionCostMapDef"},"type":"array"},"UnknownWordsChoices":{"description":"Possible choices for how to handle unknown words.","enum":["report-all","report-simple","report-common-typos","report-flagged"],"markdownDescription":"Possible choices for how to handle unknown words.","type":"string"},"Version":{"anyOf":[{"$ref":"#/definitions/VersionLatest"},{"$ref":"#/definitions/VersionLegacy"}]},"VersionLatest":{"const":"0.2","description":"Configuration File Version.","markdownDescription":"Configuration File Version.","type":"string"},"VersionLegacy":{"const":"0.1","deprecated":true,"deprecationMessage":"Use `0.2` instead.","description":"Legacy Configuration File Versions.","markdownDescription":"Legacy Configuration File Versions.","type":"string"}},"properties":{"$schema":{"default":"https://raw.githubusercontent.com/streetsidesoftware/cspell/main/cspell.schema.json","description":"Url to JSON Schema","markdownDescription":"Url to JSON Schema","type":"string"},"allowCompoundWords":{"default":false,"description":"True to enable compound word checking.","markdownDescription":"True to enable compound word checking.","type":"boolean"},"cache":{"$ref":"#/definitions/CacheSettings","description":"Define cache settings.","markdownDescription":"Define cache settings."},"caseSensitive":{"default":false,"description":"Determines if words must match case and accent rules.\n\nSee [Case Sensitivity](https://cspell.org/docs/case-sensitive/) for more details.\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.","markdownDescription":"Determines if words must match case and accent rules.\n\nSee [Case Sensitivity](https://cspell.org/docs/case-sensitive/) for more details.\n\n- `false` - Case is ignored and accents can be missing on the entire word.\n  Incorrect accents or partially missing accents will be marked as incorrect.\n- `true` - Case and accents are enforced.","type":"boolean"},"description":{"description":"Optional description of configuration.","markdownDescription":"Optional description of configuration.","type":"string"},"dictionaries":{"description":"Optional list of dictionaries to use. Each entry should match the name of the dictionary.\n\nTo remove a dictionary from the list, add `!` before the name.\n\nFor example, `!typescript` will turn off the dictionary with the name `typescript`.\n\nSee the [Dictionaries](https://cspell.org/docs/dictionaries/) and [Custom Dictionaries](https://cspell.org/docs/dictionaries-custom/) for more details.","items":{"$ref":"#/definitions/DictionaryReference"},"markdownDescription":"Optional list of dictionaries to use. Each entry should match the name of the dictionary.\n\nTo remove a dictionary from the list, add `!` before the name.\n\nFor example, `!typescript` will turn off the dictionary with the name `typescript`.\n\nSee the [Dictionaries](https://cspell.org/docs/dictionaries/)\nand [Custom Dictionaries](https://cspell.org/docs/dictionaries-custom/) for more details.","type":"array"},"dictionaryDefinitions":{"description":"Define additional available dictionaries.\n\nFor example, you can use the following to add a custom dictionary:\n\n```json \"dictionaryDefinitions\": [   { \"name\": \"custom-words\", \"path\": \"./custom-words.txt\"} ], \"dictionaries\": [\"custom-words\"] ```","items":{"$ref":"#/definitions/DictionaryDefinition"},"markdownDescription":"Define additional available dictionaries.\n\nFor example, you can use the following to add a custom dictionary:\n\n```json\n\"dictionaryDefinitions\": [\n  { \"name\": \"custom-words\", \"path\": \"./custom-words.txt\"}\n],\n\"dictionaries\": [\"custom-words\"]\n```","type":"array"},"enableFiletypes":{"description":"Enable / Disable checking file types (languageIds).\n\nThese are in additional to the file types specified by  {@link  Settings.enabledLanguageIds } . To disable a language, prefix with `!` as in `!json`,\n\n\n**Example: individual file types**\n\n``` jsonc       // enable checking for jsonc !json       // disable checking for json kotlin      // enable checking for kotlin ```\n\n**Example: enable all file types**\n\n```\n*           // enable checking for all file types !json       // except for json ```","items":{"$ref":"#/definitions/LanguageIdSingle"},"markdownDescription":"Enable / Disable checking file types (languageIds).\n\nThese are in additional to the file types specified by  {@link  Settings.enabledLanguageIds } .\nTo disable a language, prefix with `!` as in `!json`,\n\n\n**Example: individual file types**\n\n```\njsonc       // enable checking for jsonc\n!json       // disable checking for json\nkotlin      // enable checking for kotlin\n```\n\n**Example: enable all file types**\n\n```\n*           // enable checking for all file types\n!json       // except for json\n```","scope":"resource","title":"Enable File Types","type":"array","uniqueItems":true},"enableGlobDot":{"default":false,"description":"Enable scanning files and directories beginning with `.` (period).\n\nBy default, CSpell does not scan `hidden` files.","markdownDescription":"Enable scanning files and directories beginning with `.` (period).\n\nBy default, CSpell does not scan `hidden` files.","type":"boolean"},"enabled":{"default":true,"description":"Is the spell checker enabled.","markdownDescription":"Is the spell checker enabled.","type":"boolean"},"enabledFileTypes":{"additionalProperties":{"type":"boolean"},"description":"Enable / Disable checking file types (languageIds).\n\nThis setting replaces:  {@link  Settings.enabledLanguageIds }  and  {@link  Settings.enableFiletypes } .\n\nA Value of:\n- `true` - enable checking for the file type\n- `false` - disable checking for the file type\n\nA file type of `*` is a wildcard that enables all file types.\n\n**Example: enable all file types**\n\n| File Type | Enabled | Comment | | --------- | ------- | ------- | | `*`       | `true`  | Enable all file types. | | `json`    | `false` | Disable checking for json files. |","markdownDescription":"Enable / Disable checking file types (languageIds).\n\nThis setting replaces:  {@link  Settings.enabledLanguageIds }  and  {@link  Settings.enableFiletypes } .\n\nA Value of:\n- `true` - enable checking for the file type\n- `false` - disable checking for the file type\n\nA file type of `*` is a wildcard that enables all file types.\n\n**Example: enable all file types**\n\n| File Type | Enabled | Comment |\n| --------- | ------- | ------- |\n| `*`       | `true`  | Enable all file types. |\n| `json`    | `false` | Disable checking for json files. |","since":"8.8.1","title":"Enabled File Types to Check","type":"object"},"enabledLanguageIds":{"description":"Specify a list of file types to spell check. It is better to use  {@link  Settings.enabledFileTypes }  to Enable / Disable checking files types.","items":{"$ref":"#/definitions/LanguageIdSingle"},"markdownDescription":"Specify a list of file types to spell check. It is better to use  {@link  Settings.enabledFileTypes }  to Enable / Disable checking files types.","title":"Enabled Language Ids","type":"array","uniqueItems":true},"failFast":{"default":false,"description":"Exit with non-zero code as soon as an issue/error is encountered (useful for CI or git hooks)","markdownDescription":"Exit with non-zero code as soon as an issue/error is encountered (useful for CI or git hooks)","type":"boolean"},"features":{"$ref":"#/definitions/Features","description":"Configure CSpell features.","markdownDescription":"Configure CSpell features.","since":"5.16.0"},"files":{"description":"Glob patterns of files to be checked.\n\nGlob patterns are relative to the `globRoot` of the configuration file that defines them.","items":{"$ref":"#/definitions/Glob"},"markdownDescription":"Glob patterns of files to be checked.\n\nGlob patterns are relative to the `globRoot` of the configuration file that defines them.","type":"array"},"flagWords":{"description":"List of words to always be considered incorrect. Words found in `flagWords` override `words`.\n\nFormat of `flagWords`\n- single word entry - `word`\n- with suggestions - `word:suggestion` or `word->suggestion, suggestions`\n\nExample: ```ts \"flagWords\": [   \"color: colour\",   \"incase: in case, encase\",   \"canot->cannot\",   \"cancelled->canceled\" ] ```","items":{"type":"string"},"markdownDescription":"List of words to always be considered incorrect. Words found in `flagWords` override `words`.\n\nFormat of `flagWords`\n- single word entry - `word`\n- with suggestions - `word:suggestion` or `word->suggestion, suggestions`\n\nExample:\n```ts\n\"flagWords\": [\n  \"color: colour\",\n  \"incase: in case, encase\",\n  \"canot->cannot\",\n  \"cancelled->canceled\"\n]\n```","type":"array"},"gitignoreRoot":{"anyOf":[{"$ref":"#/definitions/FsPath"},{"items":{"$ref":"#/definitions/FsPath"},"type":"array"}],"description":"Tells the spell checker to stop searching for `.gitignore` files when it reaches a matching root.","markdownDescription":"Tells the spell checker to stop searching for `.gitignore` files when it reaches a matching root."},"globRoot":{"$ref":"#/definitions/FSPathResolvable","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.","markdownDescription":"The root to use for glob patterns found in this configuration.\nDefault: location of the configuration file.\n  For compatibility reasons, config files with version 0.1, the glob root will\n  default to be `${cwd}`.\n\nUse `globRoot` to define a different location.\n`globRoot` can be relative to the location of this configuration file.\nDefining 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."},"id":{"description":"Optional identifier.","markdownDescription":"Optional identifier.","type":"string"},"ignorePaths":{"description":"Glob patterns of files to be ignored.\n\nGlob patterns are relative to the  {@link  globRoot }  of the configuration file that defines them.","items":{"$ref":"#/definitions/Glob"},"markdownDescription":"Glob patterns of files to be ignored.\n\nGlob patterns are relative to the  {@link  globRoot }  of the configuration file that defines them.","type":"array"},"ignoreRandomStrings":{"default":true,"description":"Ignore sequences of characters that look like random strings.","markdownDescription":"Ignore sequences of characters that look like random strings.","type":"boolean"},"ignoreRegExpList":{"$ref":"#/definitions/RegExpPatternList","description":"List of regular expression patterns or pattern names to exclude from spell checking.\n\nExample: `[\"href\"]` - to exclude html href pattern.\n\nRegular expressions use JavaScript regular expression syntax.\n\nExample: to ignore ALL-CAPS words\n\nJSON ```json \"ignoreRegExpList\": [\"/\\\\b[A-Z]+\\\\b/g\"] ```\n\nYAML ```yaml ignoreRegExpList:   - >-    /\\b[A-Z]+\\b/g ```\n\nBy default, several patterns are excluded. See [Configuration](https://cspell.org/configuration/patterns) for more details.\n\nWhile you can create your own patterns, you can also leverage several patterns that are [built-in to CSpell](https://cspell.org/types/cspell-types/types/PredefinedPatterns.html).","markdownDescription":"List of regular expression patterns or pattern names to exclude from spell checking.\n\nExample: `[\"href\"]` - to exclude html href pattern.\n\nRegular expressions use JavaScript regular expression syntax.\n\nExample: to ignore ALL-CAPS words\n\nJSON\n```json\n\"ignoreRegExpList\": [\"/\\\\b[A-Z]+\\\\b/g\"]\n```\n\nYAML\n```yaml\nignoreRegExpList:\n  - >-\n   /\\b[A-Z]+\\b/g\n```\n\nBy default, several patterns are excluded. See\n[Configuration](https://cspell.org/configuration/patterns) for more details.\n\nWhile you can create your own patterns, you can also leverage several patterns that are\n[built-in to CSpell](https://cspell.org/types/cspell-types/types/PredefinedPatterns.html)."},"ignoreWords":{"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`.","items":{"type":"string"},"markdownDescription":"List of words to be ignored. An ignored word will not show up as an error, even if it is\nalso in the `flagWords`.","type":"array"},"import":{"anyOf":[{"$ref":"#/definitions/FsPath"},{"items":{"$ref":"#/definitions/FsPath"},"type":"array"}],"description":"Allows this configuration to inherit configuration for one or more other files.\n\nSee [Importing / Extending Configuration](https://cspell.org/configuration/imports/) for more details.","markdownDescription":"Allows this configuration to inherit configuration for one or more other files.\n\nSee [Importing / Extending Configuration](https://cspell.org/configuration/imports/) for more details."},"includeRegExpList":{"$ref":"#/definitions/RegExpPatternList","description":"List of regular expression patterns or defined pattern names to match for spell checking.\n\nIf this property is defined, only text matching the included patterns will be checked.\n\nWhile you can create your own patterns, you can also leverage several patterns that are [built-in to CSpell](https://cspell.org/types/cspell-types/types/PredefinedPatterns.html).","markdownDescription":"List of regular expression patterns or defined pattern names to match for spell checking.\n\nIf this property is defined, only text matching the included patterns will be checked.\n\nWhile you can create your own patterns, you can also leverage several patterns that are\n[built-in to CSpell](https://cspell.org/types/cspell-types/types/PredefinedPatterns.html)."},"language":{"$ref":"#/definitions/LocaleId","default":"en","description":"Current active spelling language. This specifies the language locale to use in choosing the general dictionary.\n\nFor example:\n\n- \"en-GB\" for British English.\n- \"en,nl\" to enable both English and Dutch.","markdownDescription":"Current active spelling language. This specifies the language locale to use in choosing the\ngeneral dictionary.\n\nFor example:\n\n- \"en-GB\" for British English.\n- \"en,nl\" to enable both English and Dutch."},"languageId":{"$ref":"#/definitions/MatchingFileType","description":"Forces the spell checker to assume a give language id. Used mainly as an Override.","markdownDescription":"Forces the spell checker to assume a give language id. Used mainly as an Override."},"languageSettings":{"description":"Additional settings for individual languages.\n\nSee [Language Settings](https://cspell.org/configuration/language-settings/) for more details.","items":{"$ref":"#/definitions/LanguageSetting"},"markdownDescription":"Additional settings for individual languages.\n\nSee [Language Settings](https://cspell.org/configuration/language-settings/) for more details.","type":"array"},"loadDefaultConfiguration":{"default":true,"description":"By default, the bundled dictionary configurations are loaded. Explicitly setting this to `false` will prevent ALL default configuration from being loaded.","markdownDescription":"By default, the bundled dictionary configurations are loaded. Explicitly setting this to `false`\nwill prevent ALL default configuration from being loaded.","type":"boolean"},"maxDuplicateProblems":{"default":5,"description":"The maximum number of times the same word can be flagged as an error in a file.","markdownDescription":"The maximum number of times the same word can be flagged as an error in a file.","type":"number"},"maxNumberOfProblems":{"default":10000,"description":"The maximum number of problems to report in a file.","markdownDescription":"The maximum number of problems to report in a file.","type":"number"},"minRandomLength":{"default":40,"description":"The minimum length of a random string to be ignored.","markdownDescription":"The minimum length of a random string to be ignored.","type":"number"},"minWordLength":{"default":4,"description":"The minimum length of a word before checking it against a dictionary.","markdownDescription":"The minimum length of a word before checking it against a dictionary.","type":"number"},"name":{"description":"Optional name of configuration.","markdownDescription":"Optional name of configuration.","type":"string"},"noConfigSearch":{"default":false,"description":"Prevents searching for local configuration when checking individual documents.","markdownDescription":"Prevents searching for local configuration when checking individual documents.","type":"boolean"},"noSuggestDictionaries":{"description":"Optional list of dictionaries that will not be used for suggestions. Words in these dictionaries 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 one of these dictionaries, it will be removed from the set of possible suggestions.","items":{"$ref":"#/definitions/DictionaryReference"},"markdownDescription":"Optional list of dictionaries that will not be used for suggestions.\nWords in these dictionaries are considered correct, but will not be\nused when making spell correction suggestions.\n\nNote: if a word is suggested by another dictionary, but found in\none of these dictionaries, it will be removed from the set of\npossible suggestions.","type":"array"},"numSuggestions":{"default":10,"description":"Number of suggestions to make.","markdownDescription":"Number of suggestions to make.","type":"number"},"overrides":{"description":"Overrides are used to apply settings for specific files in your project.\n\nFor example:\n\n```javascript \"overrides\": [   // Force `*.hrr` and `*.crr` files to be treated as `cpp` files:   {     \"filename\": \"**/{*.hrr,*.crr}\",     \"languageId\": \"cpp\"   },   // Force `*.txt` to use the Dutch dictionary (Dutch dictionary needs to be installed separately):   {     \"language\": \"nl\",     \"filename\": \"**/dutch/**/*.txt\"   } ] ```","items":{"$ref":"#/definitions/OverrideSettings"},"markdownDescription":"Overrides are used to apply settings for specific files in your project.\n\nFor example:\n\n```javascript\n\"overrides\": [\n  // Force `*.hrr` and `*.crr` files to be treated as `cpp` files:\n  {\n    \"filename\": \"**/{*.hrr,*.crr}\",\n    \"languageId\": \"cpp\"\n  },\n  // Force `*.txt` to use the Dutch dictionary (Dutch dictionary needs to be installed separately):\n  {\n    \"language\": \"nl\",\n    \"filename\": \"**/dutch/**/*.txt\"\n  }\n]\n```","type":"array"},"patterns":{"description":"Defines a list of patterns that can be used with the  {@link  ignoreRegExpList }  and  {@link  includeRegExpList }  options.\n\nFor example:\n\n```javascript \"ignoreRegExpList\": [\"comments\"], \"patterns\": [   {     \"name\": \"comment-single-line\",     \"pattern\": \"/#.*/g\"   },   {     \"name\": \"comment-multi-line\",     \"pattern\": \"/(?:\\\\/\\\\*[\\\\s\\\\S]*?\\\\*\\\\/)/g\"   },   // You can also combine multiple named patterns into one single named pattern   {     \"name\": \"comments\",     \"pattern\": [\"comment-single-line\", \"comment-multi-line\"]   } ] ```","items":{"$ref":"#/definitions/RegExpPatternDefinition"},"markdownDescription":"Defines a list of patterns that can be used with the  {@link  ignoreRegExpList }  and\n {@link  includeRegExpList }  options.\n\nFor example:\n\n```javascript\n\"ignoreRegExpList\": [\"comments\"],\n\"patterns\": [\n  {\n    \"name\": \"comment-single-line\",\n    \"pattern\": \"/#.*/g\"\n  },\n  {\n    \"name\": \"comment-multi-line\",\n    \"pattern\": \"/(?:\\\\/\\\\*[\\\\s\\\\S]*?\\\\*\\\\/)/g\"\n  },\n  // You can also combine multiple named patterns into one single named pattern\n  {\n    \"name\": \"comments\",\n    \"pattern\": [\"comment-single-line\", \"comment-multi-line\"]\n  }\n]\n```","type":"array"},"pnpFiles":{"default":[".pnp.js",".pnp.cjs"],"description":"The PnP files to search for. Note: `.mjs` files are not currently supported.","items":{"type":"string"},"markdownDescription":"The PnP files to search for. Note: `.mjs` files are not currently supported.","type":"array"},"readonly":{"default":false,"description":"Indicate that the configuration file should not be modified. This is used to prevent tools like the VS Code Spell Checker from modifying the file to add words and other configuration.","markdownDescription":"Indicate that the configuration file should not be modified.\nThis is used to prevent tools like the VS Code Spell Checker from\nmodifying the file to add words and other configuration.","type":"boolean"},"reporters":{"default":["default"],"description":"Define which reports to use. `default` - is a special name for the default cli reporter.\n\nExamples:\n- `[\"default\"]` - to use the default reporter\n- `[\"@cspell/cspell-json-reporter\"]` - use the cspell JSON reporter.\n- `[[\"@cspell/cspell-json-reporter\", { \"outFile\": \"out.json\" }]]`\n- `[ \"default\", [\"@cspell/cspell-json-reporter\", { \"outFile\": \"out.json\" }]]` - Use both the default reporter and the cspell-json-reporter.","items":{"$ref":"#/definitions/ReporterSettings"},"markdownDescription":"Define which reports to use.\n`default` - is a special name for the default cli reporter.\n\nExamples:\n- `[\"default\"]` - to use the default reporter\n- `[\"@cspell/cspell-json-reporter\"]` - use the cspell JSON reporter.\n- `[[\"@cspell/cspell-json-reporter\", { \"outFile\": \"out.json\" }]]`\n- `[ \"default\", [\"@cspell/cspell-json-reporter\", { \"outFile\": \"out.json\" }]]` - Use both the default reporter and the cspell-json-reporter.","type":"array"},"showStatus":{"deprecated":true,"description":"Show status.","markdownDescription":"Show status.","type":"boolean"},"spellCheckDelayMs":{"deprecated":true,"description":"Delay in ms after a document has changed before checking it for spelling errors.","markdownDescription":"Delay in ms after a document has changed before checking it for spelling errors.","type":"number"},"suggestWords":{"description":"A list of suggested replacements for words. Suggested words provide a way to make preferred suggestions on word replacements. To hint at a preferred change, but not to require it.\n\nFormat of `suggestWords`\n- Single suggestion (possible auto fix)     - `word: suggestion`     - `word->suggestion`\n- Multiple suggestions (not auto fixable)    - `word: first, second, third`    - `word->first, second, third`","items":{"type":"string"},"markdownDescription":"A list of suggested replacements for words.\nSuggested words provide a way to make preferred suggestions on word replacements.\nTo hint at a preferred change, but not to require it.\n\nFormat of `suggestWords`\n- Single suggestion (possible auto fix)\n    - `word: suggestion`\n    - `word->suggestion`\n- Multiple suggestions (not auto fixable)\n   - `word: first, second, third`\n   - `word->first, second, third`","type":"array"},"suggestionNumChanges":{"default":3,"description":"The maximum number of changes allowed on a word to be considered a suggestions.\n\nFor example, appending an `s` onto `example` -> `examples` is considered 1 change.\n\nRange: between 1 and 5.","markdownDescription":"The maximum number of changes allowed on a word to be considered a suggestions.\n\nFor example, appending an `s` onto `example` -> `examples` is considered 1 change.\n\nRange: between 1 and 5.","type":"number"},"suggestionsTimeout":{"default":500,"description":"The maximum amount of time in milliseconds to generate suggestions for a word.","markdownDescription":"The maximum amount of time in milliseconds to generate suggestions for a word.","type":"number"},"unknownWords":{"$ref":"#/definitions/UnknownWordsChoices","default":"report-all","description":"Controls how unknown words are handled.\n\n- `report-all` - Report all unknown words (default behavior)\n- `report-simple` - Report unknown words that have simple spelling errors, typos, and flagged words.\n- `report-common-typos` - Report unknown words that are common typos and flagged words.\n- `report-flagged` - Report unknown words that are flagged.","markdownDescription":"Controls how unknown words are handled.\n\n- `report-all` - Report all unknown words (default behavior)\n- `report-simple` - Report unknown words that have simple spelling errors, typos, and flagged words.\n- `report-common-typos` - Report unknown words that are common typos and flagged words.\n- `report-flagged` - Report unknown words that are flagged.","since":"9.1.0"},"useGitignore":{"default":false,"description":"Tells the spell checker to load `.gitignore` files and skip files that match the globs in the `.gitignore` files found.","markdownDescription":"Tells the spell checker to load `.gitignore` files and skip files that match the globs in the `.gitignore` files found.","type":"boolean"},"usePnP":{"default":false,"description":"Packages managers like Yarn 2 use a `.pnp.cjs` file to assist in loading packages stored in the repository.\n\nWhen true, the spell checker will search up the directory structure for the existence of a PnP file and load it.","markdownDescription":"Packages managers like Yarn 2 use a `.pnp.cjs` file to assist in loading\npackages stored in the repository.\n\nWhen true, the spell checker will search up the directory structure for the existence\nof a PnP file and load it.","type":"boolean"},"userWords":{"description":"Words to add to global dictionary -- should only be in the user config file.","items":{"type":"string"},"markdownDescription":"Words to add to global dictionary -- should only be in the user config file.","type":"array"},"validateDirectives":{"description":"Verify that the in-document directives are correct.","markdownDescription":"Verify that the in-document directives are correct.","type":"boolean"},"version":{"$ref":"#/definitions/Version","default":"0.2","description":"Configuration format version of the settings file.\n\nThis controls how the settings in the configuration file behave.","markdownDescription":"Configuration format version of the settings file.\n\nThis controls how the settings in the configuration file behave."},"words":{"description":"List of words to be considered correct.","items":{"type":"string"},"markdownDescription":"List of words to be considered correct.","type":"array"}},"type":"object"}
</schema>

[User] Provide a JSON object that satisfies the schema "cspell.schema". Here are the required top‑level fields: none (all optional). Return only the valid JSON object.

Format of the cache file.
- `legacy` - use absolute paths in the cache file
- `universal` - use a sharable format.

Format of the cache file.
- `legacy` - use absolute paths in the cache file
- `universal` - use a sharable format.

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.

A prefix of `${cwd}` is replaced with the current working directory.

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.

A prefix of `${cwd}` is replaced with the current working directory.

Strategy to use for detecting changed files, default: metadata

Strategy to use for detecting changed files, default: metadata

Store the results of processed files in order to only operate on the changed ones.

Store the results of processed files in order to only operate on the changed ones.

The Strategy to use to detect if a file has changed.
- `content` - uses a hash of the file content to check file changes (slower - more accurate).
- `metadata` - uses the file system timestamp and size to detect changes (fastest, may not work in CI).

The Strategy to use to detect if a file has changed.
- `content` - uses a hash of the file content to check file changes (slower - more accurate).
- `metadata` - uses the file system timestamp and size to detect changes (fastest, may not work in CI).

This is a set of characters that can include `-` or `|`
- `-` - indicates a range of characters: `a-c` => `abc`
- `|` - is a group separator, indicating that the characters on either side    are not related.

This is a set of characters that can include `-` or `|`
- `-` - indicates a range of characters: `a-c` => `abc`
- `|` - is a group separator, indicating that the characters on either side
   are not related.

the cost to insert / delete / replace / swap the characters in a group

the cost to insert / delete / replace / swap the characters in a group

The penalty cost to apply if the accent is used. This is used to discourage

The penalty cost to apply if the accent is used.
This is used to discourage

A description to describe the purpose of the map.

A description to describe the purpose of the map.

The cost to insert/delete one of the substrings in the map. Note: insert/delete costs are symmetrical.

The cost to insert/delete one of the substrings in the map. Note: insert/delete costs are symmetrical.

The set of substrings to map, these are generally single character strings.

Multiple sets can be defined by using a `|` to separate them.

Example: `"eéê|aåá"` contains two different sets.

To add a multi-character substring use `()`.

Example: `"f(ph)(gh)"` results in the following set: `f`, `ph`, `gh`.

- To match the beginning of a word, use `^`: `"(^I)""`.
- To match the end of a word, use `$`: `"(e$)(ing$)"`.

Add a penalty to the final cost. This is used to discourage certain suggestions.

Example: ```yaml # Match adding/removing `-` to the end of a word. map: "$(-$)" replace: 50 penalty: 100 ```

This makes adding a `-` to the end of a word more expensive.

Think of it as taking the toll way for speed but getting the bill later.

Add a penalty to the final cost.
This is used to discourage certain suggestions.

Example:
```yaml
# Match adding/removing `-` to the end of a word.
map: "$(-$)"
replace: 50
penalty: 100
```

This makes adding a `-` to the end of a word more expensive.

Think of it as taking the toll way for speed but getting the bill later.

The cost to replace of of the substrings in the map with another substring in the map. Example: Map['a', 'i'] This would be the cost to substitute `a` with `i`: Like `bat` to `bit` or the reverse.

The cost to replace of of the substrings in the map with another substring in the map.
Example: Map['a', 'i']
This would be the cost to substitute `a` with `i`: Like `bat` to `bit` or the reverse.

The cost to swap two adjacent substrings found in the map. Example: Map['e', 'i'] This represents the cost to change `ei` to `ie` or the reverse.

The cost to swap two adjacent substrings found in the map.
Example: Map['e', 'i']
This represents the cost to change `ei` to `ie` or the reverse.

A File System Path to a dictionary file.

A File System Path to a dictionary file.

Specifies the scope of a dictionary.

Use {@link DictionaryDefinitionPreferred } instead.

Only for legacy dictionary definitions.

Optional description of the contents / purpose of the dictionary.

Optional description of the contents / purpose of the dictionary.

Path to the file, only for legacy dictionary definitions.

Path to the file, only for legacy dictionary definitions.

Some dictionaries may contain forbidden words to prevent compounding from generating words that are not valid in the language. These are often words that are used in other languages or might be generated through compounding. This setting allows flagged words to be ignored when checking the dictionary. The effect is similar to the word not being in the dictionary.

This is the name of a dictionary.

Name Format:
- Must contain at least 1 number or letter.
- Spaces are allowed.
- Leading and trailing space will be removed.
- Names ARE case-sensitive.
- Must not contain `*`, `!`, `;`, `,`, `{`, `}`, `[`, `]`, `~`.

This is the name of a dictionary.

Name Format:
- Must contain at least 1 number or letter.
- Spaces are allowed.
- Leading and trailing space will be removed.
- Names ARE case-sensitive.
- Must not contain `*`, `!`, `;`, `,`, `{`, `}`, `[`, `]`, `~`.

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.

Note: if a word is suggested by another dictionary, but found in this dictionary, it will be removed from the set of possible suggestions.

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.

Note: if a word is suggested by another dictionary, but found in
this dictionary, it will be removed from the set of
possible suggestions.

Replacement pairs.

Strip case and accents to allow for case insensitive searches and words without accents.

Note: this setting only applies to word lists. It has no-impact on trie dictionaries.

Strip case and accents to allow for case insensitive searches and
words without accents.

Note: this setting only applies to word lists. It has no-impact on trie
dictionaries.

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.

Note: this settings does not apply to inline dictionaries or `.trie` files.

Use Compounds.

Used to provide extra data related to the dictionary

Used to provide extra data related to the dictionary

Path to the file.

Replacement pairs.

Use Compounds.

For Defining Custom dictionaries. They are generally scoped to a `user`, `workspace`, or `folder`. When `addWords` is true, indicates that the spell checker can add words to the file.

Note: only plain text files with one word per line are supported at this moment.

For Defining Custom dictionaries. They are generally scoped to a
`user`, `workspace`, or `folder`.
When `addWords` is true, indicates that the spell checker can add words
to the file.

Note: only plain text files with one word per line are supported at this moment.

When `true`, let's the spell checker know that words can be added to this dictionary.

When `true`, let's the spell checker know that words can be added to this dictionary.

Path to custom dictionary text file.

Replacement pairs.

Defines the scope for when words will be added to the dictionary.

Scope values: `user`, `workspace`, `folder`.

Defines the scope for when words will be added to the dictionary.

Scope values: `user`, `workspace`, `folder`.

Use Compounds.

Inline Dictionary Definitions

List of words to always be considered incorrect. Words found in `flagWords` override `words`.

Format of `flagWords`
- single word entry - `word`
- with suggestions - `word:suggestion` or `word->suggestion, suggestions`

Example: ```ts "flagWords": [   "color: colour",   "incase: in case, encase",   "canot->cannot",   "cancelled->canceled" ] ```

List of words to be ignored. An ignored word will not show up as an error, even if it is also in the `flagWords`.

List of words to be ignored. An ignored word will not show up as an error, even if it is
also in the `flagWords`.

A list of suggested replacements for words. Suggested words provide a way to make preferred suggestions on word replacements. To hint at a preferred change, but not to require it.

Format of `suggestWords`
- Single suggestion (possible auto fix)     - `word: suggestion`     - `word->suggestion`
- Multiple suggestions (not auto fixable)    - `word: first, second, third`    - `word->first, second, third`

List of words to be considered correct.

List of words to be considered correct.

List of words to be considered correct.

List of words to be considered correct.

Path to the file.

Replacement pairs.

Use Compounds.

An Empty Dictionary Definition

Use by dictionary authors to help improve the quality of suggestions given from the dictionary.

Added with `v5.16.0`.

Use by dictionary authors to help improve the quality of suggestions
given from the dictionary.

Added with `v5.16.0`.

The accent characters.

Default: `"\u0300-\u0341"`

The accent characters.

Default: `"\u0300-\u0341"`

A collection of patterns to test against the suggested words. If the word matches the pattern, then the penalty is applied.

A collection of patterns to test against the suggested words.
If the word matches the pattern, then the penalty is applied.

The alphabet to use.

Define edit costs.

Used by dictionary authors

An optional set of characters that can possibly be removed from a word before checking it.

This is useful in languages like Arabic where Harakat accents are optional.

Note: All matching characters are removed or none. Partial removal is not supported.

An optional set of characters that can possibly be removed from a word before
checking it.

This is useful in languages like Arabic where Harakat accents are optional.

Note: All matching characters are removed or none. Partial removal is not supported.

The locale of the dictionary. Example: `nl,nl-be`

The locale of the dictionary.
Example: `nl,nl-be`

Used in making suggestions. The lower the value, the more likely the suggestion will be near the top of the suggestion list.

Used in making suggestions. The lower the value, the more likely the suggestion
will be near the top of the suggestion list.

This a negative reference to a named dictionary.

It is used to exclude or include a dictionary by name.

The reference starts with 1 or more `!`.
- `!<dictionary_name>` - Used to exclude the dictionary matching `<dictionary_name>`.
- `!!<dictionary_name>` - Used to re-include a dictionary matching `<dictionary_name>`.    Overrides `!<dictionary_name>`.
- `!!!<dictionary_name>` - Used to exclude a dictionary matching `<dictionary_name>`.    Overrides `!!<dictionary_name>`.

A File System Path to a dictionary file. Pattern: `^.*\.(?:txt|trie|dic)(?:\.gz)?$`

A File System Path to a dictionary file.
Pattern: `^.*\.(?:txt|trie|dic)(?:\.gz)?$`

This a reference to a named dictionary. It is expected to match the name of a dictionary.

This a reference to a named dictionary.
It is expected to match the name of a dictionary.

Reference to a dictionary by name. One of:
-  {@link  DictionaryRef }
-  {@link  DictionaryNegRef }

Reference to a dictionary by name.
One of:
-  {@link  DictionaryRef }
-  {@link  DictionaryNegRef }

The cost to add / remove an accent This should be very cheap, it helps with fixing accent issues.

The cost to add / remove an accent
This should be very cheap, it helps with fixing accent issues.

This is the base cost for making an edit.

This is the base cost for making an edit.

The cost to change capitalization. This should be very cheap, it helps with fixing capitalization issues.

The cost to change capitalization.
This should be very cheap, it helps with fixing capitalization issues.

The extra cost incurred for changing the first letter of a word. This value should be less than `100 - baseCost`.

The extra cost incurred for changing the first letter of a word.
This value should be less than `100 - baseCost`.

This is the cost for characters not in the alphabet.

This is the cost for characters not in the alphabet.

A File System Path.

Special Properties:
- `${cwd}` prefix - will be replaced with the current working directory.
- Relative paths are relative to the configuration file.

A File System Path.

Special Properties:
- `${cwd}` prefix - will be replaced with the current working directory.
- Relative paths are relative to the configuration file.

Features are behaviors or settings that can be explicitly configured.

Features are behaviors or settings that can be explicitly configured.

Enable/disable using weighted suggestions.

Enable/disable using weighted suggestions.

A File System Path. Relative paths are relative to the configuration file.

A File System Path. Relative paths are relative to the configuration file.

These are glob expressions.

Selected Hunspell AFF content. The content must be UTF-8

Sections:
- TRY
- MAP
- REP
- KEY
- ICONV
- OCONV

Example: ```hunspell # Comment TRY aeistlunkodmrvpgjhäõbüoöfcwzxðqþ` MAP aàâäAÀÂÄ MAP eéèêëEÉÈÊË MAP iîïyIÎÏY MAP oôöOÔÖ MAP (IJ)(Ĳ) ```

Selected Hunspell AFF content.
The content must be UTF-8

Sections:
- TRY
- MAP
- REP
- KEY
- ICONV
- OCONV

Example:
```hunspell
# Comment
TRY aeistlunkodmrvpgjhäõbüoöfcwzxðqþ`
MAP aàâäAÀÂÄ
MAP eéèêëEÉÈÊË
MAP iîïyIÎÏY
MAP oôöOÔÖ
MAP (IJ)(Ĳ)
```

The costs to apply when using the hunspell settings

The costs to apply when using the hunspell settings

The cost to convert between convert pairs.

The value should be slightly higher than the mapCost.

The cost to convert between convert pairs.

The value should be slightly higher than the mapCost.

The cost of replacing or swapping any adjacent keyboard characters.

This should be slightly cheaper than `tryCharCost`.

The cost of replacing or swapping any adjacent keyboard characters.

This should be slightly cheaper than `tryCharCost`.

mapSet replacement cost is the cost to substitute one character with another from the same set.

Map characters are considered very similar to each other and are often the cause of simple mistakes.

mapSet replacement cost is the cost to substitute one character with another from
the same set.

Map characters are considered very similar to each other and are often
the cause of simple mistakes.

The cost to substitute pairs found in the replace settings.

The cost to substitute pairs found in the replace settings.

The cost of inserting / deleting / or swapping any `tryChars` Defaults to `baseCosts`

The cost of inserting / deleting / or swapping any `tryChars`
Defaults to `baseCosts`

A single string with a comma separated list of file types:
- `typescript,cpp`
- `json,jsonc,yaml`
- etc.

A single string with a comma separated list of file types:
- `typescript,cpp`
- `json,jsonc,yaml`
- etc.

A Negative File Type used to exclude files of that type.
- `!typescript` - will exclude typescript files.
- `!cpp,!json` - will exclude cpp and json files.
- `!typescript,javascript` - will exclude typescript files and include javascript files.

A Negative File Type used to exclude files of that type.
- `!typescript` - will exclude typescript files.
- `!cpp,!json` - will exclude cpp and json files.
- `!typescript,javascript` - will exclude typescript files and include javascript files.

A file type:
- `*` - will match ALL file types.
- `typescript`, `cpp`, `json`, etc.

A file type:
- `*` - will match ALL file types.
- `typescript`, `cpp`, `json`, etc.

True to enable compound word checking.

Determines if words must match case and accent rules.

See [Case Sensitivity](https://cspell.org/docs/case-sensitive/) for more details.

- `false` - Case is ignored and accents can be missing on the entire word.   Incorrect accents or partially missing accents will be marked as incorrect.
- `true` - Case and accents are enforced.

Determines if words must match case and accent rules.

See [Case Sensitivity](https://cspell.org/docs/case-sensitive/) for more details.

- `false` - Case is ignored and accents can be missing on the entire word.
  Incorrect accents or partially missing accents will be marked as incorrect.
- `true` - Case and accents are enforced.

Optional description of configuration.

Optional list of dictionaries to use. Each entry should match the name of the dictionary.

To remove a dictionary from the list, add `!` before the name.

For example, `!typescript` will turn off the dictionary with the name `typescript`.

See the [Dictionaries](https://cspell.org/docs/dictionaries/) and [Custom Dictionaries](https://cspell.org/docs/dictionaries-custom/) for more details.

Define additional available dictionaries.

For example, you can use the following to add a custom dictionary:

```json "dictionaryDefinitions": [   { "name": "custom-words", "path": "./custom-words.txt"} ], "dictionaries": ["custom-words"] ```

Define additional available dictionaries.

For example, you can use the following to add a custom dictionary:

```json
"dictionaryDefinitions": [
  { "name": "custom-words", "path": "./custom-words.txt"}
],
"dictionaries": ["custom-words"]
```

Is the spell checker enabled.

Optional identifier.

List of regular expression patterns or pattern names to exclude from spell checking.

Example: `["href"]` - to exclude html href pattern.

Regular expressions use JavaScript regular expression syntax.

Example: to ignore ALL-CAPS words

JSON ```json "ignoreRegExpList": ["/\\b[A-Z]+\\b/g"] ```

YAML ```yaml ignoreRegExpList:   - >-    /\b[A-Z]+\b/g ```

By default, several patterns are excluded. See [Configuration](https://cspell.org/configuration/patterns) for more details.

While you can create your own patterns, you can also leverage several patterns that are [built-in to CSpell](https://cspell.org/types/cspell-types/types/PredefinedPatterns.html).

List of words to be ignored. An ignored word will not show up as an error, even if it is also in the `flagWords`.

List of words to be ignored. An ignored word will not show up as an error, even if it is
also in the `flagWords`.

List of regular expression patterns or defined pattern names to match for spell checking.

If this property is defined, only text matching the included patterns will be checked.

While you can create your own patterns, you can also leverage several patterns that are [built-in to CSpell](https://cspell.org/types/cspell-types/types/PredefinedPatterns.html).

The language id.  Ex: `typescript`, `html`, or `php`.  `*` -- will match all languages.

The language id.  Ex: `typescript`, `html`, or `php`.  `*` -- will match all languages.

Deprecated - The locale filter, matches against the language. This can be a comma separated list. `*` will match all locales.

Deprecated - The locale filter, matches against the language. This can be a comma separated list. `*` will match all locales.

The locale filter, matches against the language. This can be a comma separated list. `*` will match all locales.

The locale filter, matches against the language. This can be a comma separated list. `*` will match all locales.

Optional name of configuration.

Optional list of dictionaries that will not be used for suggestions. Words in these dictionaries are considered correct, but will not be used when making spell correction suggestions.

Note: if a word is suggested by another dictionary, but found in one of these dictionaries, it will be removed from the set of possible suggestions.

Optional list of dictionaries that will not be used for suggestions.
Words in these dictionaries are considered correct, but will not be
used when making spell correction suggestions.

Note: if a word is suggested by another dictionary, but found in
one of these dictionaries, it will be removed from the set of
possible suggestions.

Defines a list of patterns that can be used with the  {@link  ignoreRegExpList }  and  {@link  includeRegExpList }  options.

For example:

```javascript "ignoreRegExpList": ["comments"], "patterns": [   {     "name": "comment-single-line",     "pattern": "/#.*/g"   },   {     "name": "comment-multi-line",     "pattern": "/(?:\\/\\*[\\s\\S]*?\\*\\/)/g"   },   // You can also combine multiple named patterns into one single named pattern   {     "name": "comments",     "pattern": ["comment-single-line", "comment-multi-line"]   } ] ```

Controls how unknown words are handled.

- `report-all` - Report all unknown words (default behavior)
- `report-simple` - Report unknown words that have simple spelling errors, typos, and flagged words.
- `report-common-typos` - Report unknown words that are common typos and flagged words.
- `report-flagged` - Report unknown words that are flagged.

List of words to be considered correct.

This is a written language locale like: `en`, `en-GB`, `fr`, `es`, `de` or `en,fr` for both English and French

This is a written language locale like: `en`, `en-GB`, `fr`, `es`, `de` or `en,fr` for both English and French

True to enable compound word checking.

Optional description of configuration.

Enable / Disable checking file types (languageIds).

These are in additional to the file types specified by  {@link  Settings.enabledLanguageIds } . To disable a language, prefix with `!` as in `!json`,

**Example: individual file types**

``` jsonc       // enable checking for jsonc !json       // disable checking for json kotlin      // enable checking for kotlin ```

**Example: enable all file types**

```
*           // enable checking for all file types !json       // except for json ```

Enable File Types

Is the spell checker enabled.

Enable / Disable checking file types (languageIds).

This setting replaces:  {@link  Settings.enabledLanguageIds }  and  {@link  Settings.enableFiletypes } .

A Value of:
- `true` - enable checking for the file type
- `false` - disable checking for the file type

A file type of `*` is a wildcard that enables all file types.

**Example: enable all file types**

| File Type | Enabled | Comment | | --------- | ------- | ------- | | `*`       | `true`  | Enable all file types. | | `json`    | `false` | Disable checking for json files. |

Enabled File Types to Check

Specify a list of file types to spell check. It is better to use  {@link  Settings.enabledFileTypes }  to Enable / Disable checking files types.

Specify a list of file types to spell check. It is better to use  {@link  Settings.enabledFileTypes }  to Enable / Disable checking files types.

Enabled Language Ids

Glob pattern or patterns to match against.

Glob pattern or patterns to match against.

Optional identifier.

Ignore sequences of characters that look like random strings.

Ignore sequences of characters that look like random strings.

Sets the locale.

Sets the programming language id to match file type.

Sets the programming language id to match file type.

Additional settings for individual languages.

See [Language Settings](https://cspell.org/configuration/language-settings/) for more details.

Additional settings for individual languages.

See [Language Settings](https://cspell.org/configuration/language-settings/) for more details.

By default, the bundled dictionary configurations are loaded. Explicitly setting this to `false` will prevent ALL default configuration from being loaded.

By default, the bundled dictionary configurations are loaded. Explicitly setting this to `false`
will prevent ALL default configuration from being loaded.

The maximum number of times the same word can be flagged as an error in a file.

The maximum number of times the same word can be flagged as an error in a file.

The maximum number of problems to report in a file.

The maximum number of problems to report in a file.

The minimum length of a random string to be ignored.

The minimum length of a random string to be ignored.

The minimum length of a word before checking it against a dictionary.

The minimum length of a word before checking it against a dictionary.

Optional name of configuration.

Optional list of dictionaries that will not be used for suggestions. Words in these dictionaries are considered correct, but will not be used when making spell correction suggestions.

Note: if a word is suggested by another dictionary, but found in one of these dictionaries, it will be removed from the set of possible suggestions.

Optional list of dictionaries that will not be used for suggestions.
Words in these dictionaries are considered correct, but will not be
used when making spell correction suggestions.

Note: if a word is suggested by another dictionary, but found in
one of these dictionaries, it will be removed from the set of
possible suggestions.

Number of suggestions to make.

The PnP files to search for. Note: `.mjs` files are not currently supported.

The PnP files to search for. Note: `.mjs` files are not currently supported.

The maximum number of changes allowed on a word to be considered a suggestions.

For example, appending an `s` onto `example` -> `examples` is considered 1 change.

Range: between 1 and 5.

The maximum number of changes allowed on a word to be considered a suggestions.

For example, appending an `s` onto `example` -> `examples` is considered 1 change.

Range: between 1 and 5.

The maximum amount of time in milliseconds to generate suggestions for a word.

The maximum amount of time in milliseconds to generate suggestions for a word.

Packages managers like Yarn 2 use a `.pnp.cjs` file to assist in loading packages stored in the repository.

When true, the spell checker will search up the directory structure for the existence of a PnP file and load it.

Packages managers like Yarn 2 use a `.pnp.cjs` file to assist in loading
packages stored in the repository.

When true, the spell checker will search up the directory structure for the existence
of a PnP file and load it.

List of words to be considered correct.

Id of the Adjustment, i.e. `short-compound`

Id of the Adjustment, i.e. `short-compound`

The amount of penalty to apply.

RegExp pattern to match

This matches the name in a pattern definition.

This matches the name in a pattern definition.

A PatternRef is a Pattern or PatternId.

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

Description of the pattern.

Pattern name, used as an identifier in ignoreRegExpList and includeRegExpList. It is possible to redefine one of the predefined patterns to override its value.

Pattern name, used as an identifier in ignoreRegExpList and includeRegExpList.
It is possible to redefine one of the predefined patterns to override its value.

RegExp pattern or array of RegExp patterns.

RegExp pattern or array of RegExp patterns.

A list of pattern names or regular expressions.

A list of pattern names or regular expressions.

The module or path to the the reporter to load.

The module or path to the the reporter to load.

Options to send to the reporter. These are defined by the reporter.

Options to send to the reporter. These are defined by the reporter.

name

name

options

Declare a reporter to use.

`default` - is a special name for the default cli reporter.

Examples:
- `"default"` - to use the default reporter
- `"@cspell/cspell-json-reporter"` - use the cspell JSON reporter.
- `["@cspell/cspell-json-reporter", { "outFile": "out.json" }]`

Declare a reporter to use.

`default` - is a special name for the default cli reporter.

Examples:
- `"default"` - to use the default reporter
- `"@cspell/cspell-json-reporter"` - use the cspell JSON reporter.
- `["@cspell/cspell-json-reporter", { "outFile": "out.json" }]`

Simple Glob string, the root will be globRoot.

Simple Glob string, the root will be globRoot.

A WeightedMapDef enables setting weights for edits between related characters and substrings.

Multiple groups can be defined using a `|`. A multi-character substring is defined using `()`.

For example, in some languages, some letters sound alike.

```yaml   map: 'sc(sh)(sch)(ss)|t(tt)' # two groups.   replace: 50    # Make it 1/2 the cost of a normal edit to replace a `t` with `tt`. ```

The following could be used to make inserting, removing, or replacing vowels cheaper. ```yaml   map: 'aeiouy'   insDel: 50     # Make it is cheaper to insert or delete a vowel.   replace: 45    # It is even cheaper to replace one with another. ```

Note: the default edit distance is 100.

Possible choices for how to handle unknown words.

report-all report-simple report-common-typos report-flagged

Possible choices for how to handle unknown words.

Configuration File Version.

Legacy Configuration File Versions.

Url to JSON Schema

True to enable compound word checking.

Define cache settings.

Determines if words must match case and accent rules.

See [Case Sensitivity](https://cspell.org/docs/case-sensitive/) for more details.

- `false` - Case is ignored and accents can be missing on the entire word.   Incorrect accents or partially missing accents will be marked as incorrect.
- `true` - Case and accents are enforced.

Determines if words must match case and accent rules.

See [Case Sensitivity](https://cspell.org/docs/case-sensitive/) for more details.

- `false` - Case is ignored and accents can be missing on the entire word.
  Incorrect accents or partially missing accents will be marked as incorrect.
- `true` - Case and accents are enforced.

Optional description of configuration.

Define additional available dictionaries.

For example, you can use the following to add a custom dictionary:

```json "dictionaryDefinitions": [   { "name": "custom-words", "path": "./custom-words.txt"} ], "dictionaries": ["custom-words"] ```

Define additional available dictionaries.

For example, you can use the following to add a custom dictionary:

```json
"dictionaryDefinitions": [
  { "name": "custom-words", "path": "./custom-words.txt"}
],
"dictionaries": ["custom-words"]
```

Enable File Types

Enable scanning files and directories beginning with `.` (period).

By default, CSpell does not scan `hidden` files.

Enable scanning files and directories beginning with `.` (period).

By default, CSpell does not scan `hidden` files.

Is the spell checker enabled.

Enabled File Types to Check

Specify a list of file types to spell check. It is better to use  {@link  Settings.enabledFileTypes }  to Enable / Disable checking files types.

Specify a list of file types to spell check. It is better to use  {@link  Settings.enabledFileTypes }  to Enable / Disable checking files types.

Enabled Language Ids

Exit with non-zero code as soon as an issue/error is encountered (useful for CI or git hooks)

Exit with non-zero code as soon as an issue/error is encountered (useful for CI or git hooks)

Configure CSpell features.

Glob patterns of files to be checked.

Glob patterns are relative to the `globRoot` of the configuration file that defines them.

Glob patterns of files to be checked.

Glob patterns are relative to the `globRoot` of the configuration file that defines them.

Tells the spell checker to stop searching for `.gitignore` files when it reaches a matching root.

Tells the spell checker to stop searching for `.gitignore` files when it reaches a matching root.

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}`.

Use `globRoot` to define a different location. `globRoot` can be relative to the location of this configuration file. Defining globRoot, does not impact imported configurations.

Special Values:
- `${cwd}` - will be replaced with the current working directory.
- `.` - will be the location of the containing configuration file.

Optional identifier.

Glob patterns of files to be ignored.

Glob patterns are relative to the  {@link  globRoot }  of the configuration file that defines them.

Glob patterns of files to be ignored.

Glob patterns are relative to the  {@link  globRoot }  of the configuration file that defines them.

Ignore sequences of characters that look like random strings.

Ignore sequences of characters that look like random strings.

List of words to be ignored. An ignored word will not show up as an error, even if it is also in the `flagWords`.

List of words to be ignored. An ignored word will not show up as an error, even if it is
also in the `flagWords`.

Allows this configuration to inherit configuration for one or more other files.

See [Importing / Extending Configuration](https://cspell.org/configuration/imports/) for more details.

Allows this configuration to inherit configuration for one or more other files.

See [Importing / Extending Configuration](https://cspell.org/configuration/imports/) for more details.

Current active spelling language. This specifies the language locale to use in choosing the general dictionary.

For example:

- "en-GB" for British English.
- "en,nl" to enable both English and Dutch.

Current active spelling language. This specifies the language locale to use in choosing the
general dictionary.

For example:

- "en-GB" for British English.
- "en,nl" to enable both English and Dutch.

Forces the spell checker to assume a give language id. Used mainly as an Override.

Forces the spell checker to assume a give language id. Used mainly as an Override.

Additional settings for individual languages.

See [Language Settings](https://cspell.org/configuration/language-settings/) for more details.

Additional settings for individual languages.

See [Language Settings](https://cspell.org/configuration/language-settings/) for more details.

By default, the bundled dictionary configurations are loaded. Explicitly setting this to `false` will prevent ALL default configuration from being loaded.

By default, the bundled dictionary configurations are loaded. Explicitly setting this to `false`
will prevent ALL default configuration from being loaded.

The maximum number of times the same word can be flagged as an error in a file.

The maximum number of times the same word can be flagged as an error in a file.

The maximum number of problems to report in a file.

The maximum number of problems to report in a file.

The minimum length of a random string to be ignored.

The minimum length of a random string to be ignored.

The minimum length of a word before checking it against a dictionary.

The minimum length of a word before checking it against a dictionary.

Optional name of configuration.

Prevents searching for local configuration when checking individual documents.

Prevents searching for local configuration when checking individual documents.

Optional list of dictionaries that will not be used for suggestions. Words in these dictionaries are considered correct, but will not be used when making spell correction suggestions.

Note: if a word is suggested by another dictionary, but found in one of these dictionaries, it will be removed from the set of possible suggestions.

Optional list of dictionaries that will not be used for suggestions.
Words in these dictionaries are considered correct, but will not be
used when making spell correction suggestions.

Note: if a word is suggested by another dictionary, but found in
one of these dictionaries, it will be removed from the set of
possible suggestions.

Number of suggestions to make.

Overrides are used to apply settings for specific files in your project.

For example:

```javascript "overrides": [   // Force `*.hrr` and `*.crr` files to be treated as `cpp` files:   {     "filename": "**/{*.hrr,*.crr}",     "languageId": "cpp"   },   // Force `*.txt` to use the Dutch dictionary (Dutch dictionary needs to be installed separately):   {     "language": "nl",     "filename": "**/dutch/**/*.txt"   } ] ```

The PnP files to search for. Note: `.mjs` files are not currently supported.

The PnP files to search for. Note: `.mjs` files are not currently supported.

Indicate that the configuration file should not be modified. This is used to prevent tools like the VS Code Spell Checker from modifying the file to add words and other configuration.

Indicate that the configuration file should not be modified.
This is used to prevent tools like the VS Code Spell Checker from
modifying the file to add words and other configuration.

Define which reports to use. `default` - is a special name for the default cli reporter.

Examples:
- `["default"]` - to use the default reporter
- `["@cspell/cspell-json-reporter"]` - use the cspell JSON reporter.
- `[["@cspell/cspell-json-reporter", { "outFile": "out.json" }]]`
- `[ "default", ["@cspell/cspell-json-reporter", { "outFile": "out.json" }]]` - Use both the default reporter and the cspell-json-reporter.

Show status.

Delay in ms after a document has changed before checking it for spelling errors.

Delay in ms after a document has changed before checking it for spelling errors.

The maximum number of changes allowed on a word to be considered a suggestions.

For example, appending an `s` onto `example` -> `examples` is considered 1 change.

Range: between 1 and 5.

The maximum number of changes allowed on a word to be considered a suggestions.

For example, appending an `s` onto `example` -> `examples` is considered 1 change.

Range: between 1 and 5.

The maximum amount of time in milliseconds to generate suggestions for a word.

The maximum amount of time in milliseconds to generate suggestions for a word.

Tells the spell checker to load `.gitignore` files and skip files that match the globs in the `.gitignore` files found.

Tells the spell checker to load `.gitignore` files and skip files that match the globs in the `.gitignore` files found.

Packages managers like Yarn 2 use a `.pnp.cjs` file to assist in loading packages stored in the repository.

When true, the spell checker will search up the directory structure for the existence of a PnP file and load it.

Packages managers like Yarn 2 use a `.pnp.cjs` file to assist in loading
packages stored in the repository.

When true, the spell checker will search up the directory structure for the existence
of a PnP file and load it.

Words to add to global dictionary -- should only be in the user config file.

Words to add to global dictionary -- should only be in the user config file.

Verify that the in-document directives are correct.

Verify that the in-document directives are correct.

Configuration format version of the settings file.

This controls how the settings in the configuration file behave.

Configuration format version of the settings file.

This controls how the settings in the configuration file behave.

List of words to be considered correct.

Provide a JSON object that satisfies the schema "cspell.schema". Here are the required top‑level fields: none (all optional). Return only the valid JSON object.