Type object
File match .cspell.json cspell.json .cSpell.json cSpell.json cspell.config.json cspell.config.yaml cspell.config.yml cspell.yaml cspell.yml
Schema URL https://catalog.lintel.tools/schemas/schemastore/cspell-cspell-json/latest.json
Source https://raw.githubusercontent.com/streetsidesoftware/cspell/main/packages/cspell-types/cspell.schema.json

Validate with Lintel

npx @lintel/lintel check
Type: object

Properties

$schema string

Url to JSON Schema

Default: "https://raw.githubusercontent.com/streetsidesoftware/cspell/main/cspell.schema.json"
allowCompoundWords boolean

True to enable compound word checking.

Default: false
cache object
4 nested properties
cacheFormat string
Values: "legacy" "universal"
cacheLocation FsPath

A File System Path.

Special Properties:

  • ${cwd} prefix - will be replaced with the current working directory.
  • Relative paths are relative to the configuration file.
cacheStrategy string

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).
Default: "content"
Values: "content" "metadata"
useCache boolean

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

Default: false
caseSensitive boolean

Determines if words must match case and accent rules.

See Case Sensitivity 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.
Default: false
description string

Optional description of configuration.

dictionaries DictionaryReference[]

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 and Custom Dictionaries for more details.

dictionaryDefinitions DictionaryDefinition[]

Define additional available dictionaries.

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

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

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
uniqueItems=true
enableGlobDot boolean

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

By default, CSpell does not scan hidden files.

Default: false
enabled boolean

Is the spell checker enabled.

Default: true
enabledFileTypes Record<string, boolean>

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 TypeEnabledComment
*trueEnable all file types.
jsonfalseDisable checking for json files.
enabledLanguageIds LanguageIdSingle[]

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

uniqueItems=true
engines Record<string, SemVersionPredicate>

Engine version predicates.

This allows dictionaries and other components to specify the versions of engines (like cspell) they are compatible with.

2 nested properties
code-spell-checker string

Semantic Version Predicate

Examples:

  • >=8
cspell string

Semantic Version Predicate

Examples:

  • >=8
failFast boolean

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

Default: false
features object

Features are behaviors or settings that can be explicitly configured.

1 nested properties
weighted-suggestions boolean
files Glob[]

Glob patterns of files to be checked.

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

flagWords string[]

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:

"flagWords": [
  "color: colour",
  "incase: in case, encase",
  "canot->cannot",
  "cancelled->canceled"
]
gitignoreRoot FsPath | FsPath[]

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

globRoot FsPath

A File System Path.

Special Properties:

  • ${cwd} prefix - will be replaced with the current working directory.
  • Relative paths are relative to the configuration file.
id string

Optional identifier.

ignorePaths Glob[]

Glob patterns of files to be ignored.

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

ignoreRandomStrings boolean

Ignore sequences of characters that look like random strings.

Default: true
ignoreRegExpList PatternRef[]

A list of pattern names or regular expressions.

ignoreWords string[]

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

import FsPath | FsPath[]

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

See Importing / Extending Configuration for more details.

includeRegExpList PatternRef[]

A list of pattern names or regular expressions.

language string

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

languageId LanguageId | LanguageId[]
languageSettings LanguageSetting[]

Additional settings for individual languages.

See Language Settings for more details.

loadDefaultConfiguration boolean

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

Default: true
maxDuplicateProblems number

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

Default: 5
maxFileSize number | string

The Maximum size of a file to spell check. This is used to prevent spell checking very large files.

The value can be number or a string formatted <number>[units], number with optional units.

Supported units:

  • K, KB - value * 1024
  • M, MB - value * 2^20
  • G, GB - value * 2^30

Special values:

  • 0 - has the effect of removing the limit.

Examples:

  • 1000000 - 1 million bytes
  • 1000K or 1000KB - 1 thousand kilobytes
  • 0.5M or 0.5MB - 0.5 megabytes

default: no limit

maxNumberOfProblems number

The maximum number of problems to report in a file.

Default: 10000
minRandomLength number

The minimum length of a random string to be ignored.

Default: 40
minWordLength number

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

Default: 4
name string

Optional name of configuration.

noConfigSearch boolean

Prevents searching for local configuration when checking individual documents.

Default: false
noSuggestDictionaries DictionaryReference[]

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.

numSuggestions number

Number of suggestions to make.

Default: 10
overrides OverrideSettings[]

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

For example:

"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"
  }
]

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

For example:

"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"]
  }
]
pnpFiles string[]

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

Default:
[
  ".pnp.js",
  ".pnp.cjs"
]
readonly boolean

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.

Default: false
reporters ReporterSettings[]

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.
Default:
[
  "default"
]
showStatus boolean

Show status.

spellCheckDelayMs number

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

substitutionDefinitions SubstitutionDefinition[]

The set of available substitutions. This is a collection of substitution definitions that can be applied to a document before spell checking.

The set of substitutions to apply to a document before spell checking. This is a collection of substitution entries that can be applied to a document before spell checking.

suggestWords string[]

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
suggestionNumChanges number

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.

Default: 3
suggestionsTimeout number

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

Default: 500
unknownWords string

Possible choices for how to handle unknown words.

Values: "report-all" "report-simple" "report-common-typos" "report-flagged"
useGitignore boolean

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

Default: false
usePnP boolean

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.

Default: false
userWords string[]

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

validateDirectives boolean

Verify that the in-document directives are correct.

vfs Record<string, object>

A declaration of files to add to the CSpell Virtual File System.

words string[]

List of words to be considered correct.

Definitions

CSpellVFS Record<string, object>

A declaration of files to add to the CSpell Virtual File System.

CSpellVFSData string

Data content stored in a string for CSpellVFS file. It is often encoded (e.g. base64) binary data.

CSpellVFSFileEntry object

An entry in the CSpell Virtual File System. It may or may not have a URL.

data CSpellVFSTextData required

The data content of a CSpellVFS file.

encoding string

The encoding of the data. In most cases the encoding is determined from the data type and filename url.

Values: "base64" "plaintext" "utf8"
url string

A URL string representing a CSpellVFS file. It should be of the form:

cspell-vfs:///<module>/<path-to-file>/<file-name>

Example: cspell-vfs:///@cspell/dict-en_us/en_US.trie.gz

CSpellVFSFileUrl string

A URL string representing a CSpellVFS file. It should be of the form:

cspell-vfs:///<module>/<path-to-file>/<file-name>

Example: cspell-vfs:///@cspell/dict-en_us/en_US.trie.gz

CSpellVFSTextData string

Data content stored in a string for CSpellVFS file. It is often encoded (e.g. base64) binary data.

CacheFormat string
CacheSettings object
cacheFormat string
Values: "legacy" "universal"
cacheLocation FsPath

A File System Path.

Special Properties:

  • ${cwd} prefix - will be replaced with the current working directory.
  • Relative paths are relative to the configuration file.
cacheStrategy string

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).
Default: "content"
Values: "content" "metadata"
useCache boolean

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

Default: false
CacheStrategy string

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).
CharacterSet string

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.
CharacterSetCosts object
characters string required

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.
cost number required

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

penalty number

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

CompatibleEngineVersions Record<string, SemVersionPredicate>

Engine version predicates.

This allows dictionaries and other components to specify the versions of engines (like cspell) they are compatible with.

code-spell-checker string

Semantic Version Predicate

Examples:

  • >=8
cspell string

Semantic Version Predicate

Examples:

  • >=8
CostMapDefInsDel object
insDel number required

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

map string required

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$)".
description string

A description to describe the purpose of the map.

penalty number

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

Example:

# 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.

replace number

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.

swap number

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.

CostMapDefReplace object
map string required

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$)".
replace number required

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.

description string

A description to describe the purpose of the map.

insDel number

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

penalty number

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

Example:

# 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.

swap number

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.

CostMapDefSwap object
map string required

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$)".
swap number required

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.

description string

A description to describe the purpose of the map.

insDel number

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

penalty number

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

Example:

# 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.

replace number

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.

CustomDictionaryPath string

A path or url to a custom dictionary file.

CustomDictionaryScope string

Specifies the scope of a dictionary.

DictionaryDefinition DictionaryDefinitionPreferred | DictionaryDefinitionCustom | DictionaryDefinitionAugmented | DictionaryDefinitionInline | DictionaryDefinitionSimple | DictionaryDefinitionAlternate
DictionaryDefinitionAlternate object

Only for legacy dictionary definitions.

file string required

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

name string required

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 *, !, ;, ,, {, }, [, ], ~.
pattern=^(?=[^!*,;{}\[\]~\n]+$)(?=(.*\w)).+$
description string

Optional description of the contents / purpose of the dictionary.

ignoreForbiddenWords boolean

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.

noSuggest boolean

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.

supportNonStrictSearches boolean

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.

Default: true
type string
Values: "S" "W" "C" "T"
useCompounds boolean

Use Compounds.

DictionaryDefinitionAugmented object

Used to provide extra data related to the dictionary

name string required

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 *, !, ;, ,, {, }, [, ], ~.
pattern=^(?=[^!*,;{}\[\]~\n]+$)(?=(.*\w)).+$
path string required

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

btrie string

A File System Path to a dictionary file. Pattern: ^.*\.(?:btrie)(?:\.gz)?$

description string

Optional description of the contents / purpose of the dictionary.

dictionaryInformation object

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

Added with v5.16.0.

8 nested properties

The accent characters.

Default: "\u0300-\u0341"

adjustments PatternAdjustment[]

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.

Default: "a-zA-Z"
costs object
5 nested properties
accentCosts number

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

Default: 1
baseCost number

This is the base cost for making an edit.

Default: 100
capsCosts number

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

Default: 1
firstLetterPenalty number

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

Default: 4
nonAlphabetCosts number

This is the cost for characters not in the alphabet.

Default: 110
hunspellInformation object
2 nested properties
aff string required

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

Sections:

  • TRY
  • MAP
  • REP
  • KEY
  • ICONV
  • OCONV

Example:

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

The costs to apply when using the hunspell settings

ignore string

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.
locale string

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

suggestionEditCosts SuggestionCostMapDef[]
ignoreForbiddenWords boolean

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.

noSuggest boolean

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.

supportNonStrictSearches boolean

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.

Default: true
type string
Values: "S" "W" "C" "T"
useCompounds boolean

Use Compounds.

DictionaryDefinitionCustom object

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.

addWords boolean required

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

name string required

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 *, !, ;, ,, {, }, [, ], ~.
pattern=^(?=[^!*,;{}\[\]~\n]+$)(?=(.*\w)).+$
path string required

A path or url to a custom dictionary file.

btrie string

A File System Path to a dictionary file. Pattern: ^.*\.(?:btrie)(?:\.gz)?$

description string

Optional description of the contents / purpose of the dictionary.

ignoreForbiddenWords boolean

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.

noSuggest boolean

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.

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

Scope values: user, workspace, folder.

supportNonStrictSearches boolean

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.

Default: true
type string
Values: "S" "W" "C" "T"
useCompounds boolean

Use Compounds.

DictionaryDefinitionInline DictionaryDefinitionInlineWords | DictionaryDefinitionInlineIgnoreWords | DictionaryDefinitionInlineFlagWords | DictionaryDefinitionInlineSuggestWords

Inline Dictionary Definitions

DictionaryDefinitionInlineFlagWords object
flagWords string[] required

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:

"flagWords": [
  "color: colour",
  "incase: in case, encase",
  "canot->cannot",
  "cancelled->canceled"
]
name string required

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 *, !, ;, ,, {, }, [, ], ~.
pattern=^(?=[^!*,;{}\[\]~\n]+$)(?=(.*\w)).+$
description string

Optional description of the contents / purpose of the dictionary.

ignoreWords string[]

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

suggestWords string[]

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
supportNonStrictSearches boolean

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.

Default: true
words string[]

List of words to be considered correct.

DictionaryDefinitionInlineIgnoreWords object
ignoreWords string[] required

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

name string required

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 *, !, ;, ,, {, }, [, ], ~.
pattern=^(?=[^!*,;{}\[\]~\n]+$)(?=(.*\w)).+$
description string

Optional description of the contents / purpose of the dictionary.

flagWords string[]

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:

"flagWords": [
  "color: colour",
  "incase: in case, encase",
  "canot->cannot",
  "cancelled->canceled"
]
suggestWords string[]

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
supportNonStrictSearches boolean

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.

Default: true
words string[]

List of words to be considered correct.

DictionaryDefinitionInlineSuggestWords object
name string required

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 *, !, ;, ,, {, }, [, ], ~.
pattern=^(?=[^!*,;{}\[\]~\n]+$)(?=(.*\w)).+$
suggestWords string[] required

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
description string

Optional description of the contents / purpose of the dictionary.

flagWords string[]

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:

"flagWords": [
  "color: colour",
  "incase: in case, encase",
  "canot->cannot",
  "cancelled->canceled"
]
ignoreWords string[]

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

supportNonStrictSearches boolean

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.

Default: true
words string[]

List of words to be considered correct.

DictionaryDefinitionInlineWords object
name string required

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 *, !, ;, ,, {, }, [, ], ~.
pattern=^(?=[^!*,;{}\[\]~\n]+$)(?=(.*\w)).+$
words string[] required

List of words to be considered correct.

description string

Optional description of the contents / purpose of the dictionary.

flagWords string[]

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:

"flagWords": [
  "color: colour",
  "incase: in case, encase",
  "canot->cannot",
  "cancelled->canceled"
]
ignoreWords string[]

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

suggestWords string[]

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
supportNonStrictSearches boolean

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.

Default: true
DictionaryDefinitionPreferred object
name string required

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 *, !, ;, ,, {, }, [, ], ~.
pattern=^(?=[^!*,;{}\[\]~\n]+$)(?=(.*\w)).+$
path string required

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

btrie string

A File System Path to a dictionary file. Pattern: ^.*\.(?:btrie)(?:\.gz)?$

description string

Optional description of the contents / purpose of the dictionary.

ignoreForbiddenWords boolean

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.

noSuggest boolean

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.

supportNonStrictSearches boolean

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.

Default: true
type string
Values: "S" "W" "C" "T"
useCompounds boolean

Use Compounds.

DictionaryDefinitionSimple object

An Empty Dictionary Definition

name string required

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 *, !, ;, ,, {, }, [, ], ~.
pattern=^(?=[^!*,;{}\[\]~\n]+$)(?=(.*\w)).+$
description string

Optional description of the contents / purpose of the dictionary.

supportNonStrictSearches boolean

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.

Default: true
DictionaryFileTypes string
DictionaryId string

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 *, !, ;, ,, {, }, [, ], ~.
DictionaryInformation object

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"

adjustments PatternAdjustment[]

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.

Default: "a-zA-Z"
costs object
5 nested properties
accentCosts number

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

Default: 1
baseCost number

This is the base cost for making an edit.

Default: 100
capsCosts number

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

Default: 1
firstLetterPenalty number

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

Default: 4
nonAlphabetCosts number

This is the cost for characters not in the alphabet.

Default: 110
hunspellInformation object
2 nested properties
aff string required

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

Sections:

  • TRY
  • MAP
  • REP
  • KEY
  • ICONV
  • OCONV

Example:

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

The costs to apply when using the hunspell settings

10 nested properties
accentCosts number

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

Default: 1
baseCost number

This is the base cost for making an edit.

Default: 100
capsCosts number

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

Default: 1
firstLetterPenalty number

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

Default: 4
ioConvertCost number

The cost to convert between convert pairs.

The value should be slightly higher than the mapCost.

Default: 30
keyboardCost number

The cost of replacing or swapping any adjacent keyboard characters.

This should be slightly cheaper than tryCharCost.

Default: 99
mapCost number

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.

Default: 25
nonAlphabetCosts number

This is the cost for characters not in the alphabet.

Default: 110
replaceCosts number

The cost to substitute pairs found in the replace settings.

Default: 75
tryCharCost number

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

ignore string

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.
locale string

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

suggestionEditCosts SuggestionCostMapDef[]
DictionaryNegRef string

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>.
DictionaryPath string

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

DictionaryPathToBTrie string

A File System Path to a dictionary file. Pattern: ^.*\.(?:btrie)(?:\.gz)?$

DictionaryRef string

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 *, !, ;, ,, {, }, [, ], ~.
DictionaryReference DictionaryRef | DictionaryNegRef

Reference to a dictionary by name. One of:

  • {@link DictionaryRef }
  • {@link DictionaryNegRef }
EditCosts object
accentCosts number

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

Default: 1
baseCost number

This is the base cost for making an edit.

Default: 100
capsCosts number

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

Default: 1
firstLetterPenalty number

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

Default: 4
nonAlphabetCosts number

This is the cost for characters not in the alphabet.

Default: 110
FSPathResolvable string

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

FeatureEnableOnly boolean
Features object

Features are behaviors or settings that can be explicitly configured.

weighted-suggestions boolean
FsPath string

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

Glob string

Simple Glob string, the root will be globRoot.

HunspellInformation object
aff string required

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

Sections:

  • TRY
  • MAP
  • REP
  • KEY
  • ICONV
  • OCONV

Example:

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

The costs to apply when using the hunspell settings

10 nested properties
accentCosts number

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

Default: 1
baseCost number

This is the base cost for making an edit.

Default: 100
capsCosts number

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

Default: 1
firstLetterPenalty number

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

Default: 4
ioConvertCost number

The cost to convert between convert pairs.

The value should be slightly higher than the mapCost.

Default: 30
keyboardCost number

The cost of replacing or swapping any adjacent keyboard characters.

This should be slightly cheaper than tryCharCost.

Default: 99
mapCost number

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.

Default: 25
nonAlphabetCosts number

This is the cost for characters not in the alphabet.

Default: 110
replaceCosts number

The cost to substitute pairs found in the replace settings.

Default: 75
tryCharCost number

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

LanguageId LanguageIdSingle | LanguageIdMultiple | LanguageIdMultipleNeg
LanguageIdMultiple string

A single string with a comma separated list of file types:

  • typescript,cpp
  • json,jsonc,yaml
  • etc.
LanguageIdMultipleNeg string

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.
LanguageIdSingle string

A file type:

  • * - will match ALL file types.
  • typescript, cpp, json, etc.
LanguageSetting object
languageId LanguageId | LanguageId[] required
allowCompoundWords boolean

True to enable compound word checking.

Default: false
caseSensitive boolean

Determines if words must match case and accent rules.

See Case Sensitivity 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.
Default: false
description string

Optional description of configuration.

dictionaries DictionaryReference[]

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 and Custom Dictionaries for more details.

dictionaryDefinitions DictionaryDefinition[]

Define additional available dictionaries.

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

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

Is the spell checker enabled.

Default: true
flagWords string[]

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:

"flagWords": [
  "color: colour",
  "incase: in case, encase",
  "canot->cannot",
  "cancelled->canceled"
]
id string

Optional identifier.

ignoreRegExpList PatternRef[]

A list of pattern names or regular expressions.

ignoreWords string[]

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

includeRegExpList PatternRef[]

A list of pattern names or regular expressions.

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

locale LocaleId | LocaleId[]

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

name string

Optional name of configuration.

noSuggestDictionaries DictionaryReference[]

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:

"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"]
  }
]
substitutionDefinitions SubstitutionDefinition[]

The set of available substitutions. This is a collection of substitution definitions that can be applied to a document before spell checking.

The set of substitutions to apply to a document before spell checking. This is a collection of substitution entries that can be applied to a document before spell checking.

suggestWords string[]

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
unknownWords string

Possible choices for how to handle unknown words.

Values: "report-all" "report-simple" "report-common-typos" "report-flagged"
words string[]

List of words to be considered correct.

LocaleId string

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

MatchingFileType LanguageId | LanguageId[]
OverrideSettings object
filename Glob | Glob[] required

Glob pattern or patterns to match against.

allowCompoundWords boolean

True to enable compound word checking.

Default: false
caseSensitive boolean

Determines if words must match case and accent rules.

See Case Sensitivity 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.
Default: false
description string

Optional description of configuration.

dictionaries DictionaryReference[]

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 and Custom Dictionaries for more details.

dictionaryDefinitions DictionaryDefinition[]

Define additional available dictionaries.

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

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

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
uniqueItems=true
enabled boolean

Is the spell checker enabled.

Default: true
enabledFileTypes Record<string, boolean>

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 TypeEnabledComment
*trueEnable all file types.
jsonfalseDisable checking for json files.
enabledLanguageIds LanguageIdSingle[]

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

uniqueItems=true
flagWords string[]

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:

"flagWords": [
  "color: colour",
  "incase: in case, encase",
  "canot->cannot",
  "cancelled->canceled"
]
id string

Optional identifier.

ignoreRandomStrings boolean

Ignore sequences of characters that look like random strings.

Default: true
ignoreRegExpList PatternRef[]

A list of pattern names or regular expressions.

ignoreWords string[]

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

includeRegExpList PatternRef[]

A list of pattern names or regular expressions.

language string

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

languageId LanguageId | LanguageId[]
languageSettings LanguageSetting[]

Additional settings for individual languages.

See Language Settings for more details.

loadDefaultConfiguration boolean

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

Default: true
maxDuplicateProblems number

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

Default: 5
maxFileSize number | string

The Maximum size of a file to spell check. This is used to prevent spell checking very large files.

The value can be number or a string formatted <number>[units], number with optional units.

Supported units:

  • K, KB - value * 1024
  • M, MB - value * 2^20
  • G, GB - value * 2^30

Special values:

  • 0 - has the effect of removing the limit.

Examples:

  • 1000000 - 1 million bytes
  • 1000K or 1000KB - 1 thousand kilobytes
  • 0.5M or 0.5MB - 0.5 megabytes

default: no limit

maxNumberOfProblems number

The maximum number of problems to report in a file.

Default: 10000
minRandomLength number

The minimum length of a random string to be ignored.

Default: 40
minWordLength number

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

Default: 4
name string

Optional name of configuration.

noSuggestDictionaries DictionaryReference[]

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.

numSuggestions number

Number of suggestions to make.

Default: 10

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

For example:

"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"]
  }
]
pnpFiles string[]

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

Default:
[
  ".pnp.js",
  ".pnp.cjs"
]
substitutionDefinitions SubstitutionDefinition[]

The set of available substitutions. This is a collection of substitution definitions that can be applied to a document before spell checking.

The set of substitutions to apply to a document before spell checking. This is a collection of substitution entries that can be applied to a document before spell checking.

suggestWords string[]

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
suggestionNumChanges number

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.

Default: 3
suggestionsTimeout number

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

Default: 500
unknownWords string

Possible choices for how to handle unknown words.

Values: "report-all" "report-simple" "report-common-typos" "report-flagged"
usePnP boolean

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.

Default: false
words string[]

List of words to be considered correct.

Pattern string
PatternAdjustment object
id string required

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

penalty number required

The amount of penalty to apply.

regexp string required

RegExp pattern to match

PatternId string

This matches the name in a pattern definition.

PatternRef Pattern | PatternId | PredefinedPatterns

A PatternRef is a Pattern or PatternId.

PredefinedPatterns string
RegExpPatternDefinition object
name string required

This matches the name in a pattern definition.

pattern Pattern | Pattern[] required

RegExp pattern or array of RegExp patterns.

description string

Description of the pattern.

RegExpPatternList PatternRef[]

A list of pattern names or regular expressions.

ReplaceEntry string[]
ReplaceMap ReplaceEntry[]
ReporterModuleName string

The module or path to the the reporter to load.

ReporterOptions number | string | boolean | null | object
ReporterSettings ReporterModuleName | ReporterModuleName[] | array

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" }]
SemVersionPredicate string

Semantic Version Predicate

Examples:

  • >=8
Serializable number | string | boolean | null | object
SimpleGlob string

Simple Glob string, the root will be globRoot.

SubstitutionDefinition object

Allows for the definition of a substitution set. A substitution set is a collection of substitution entries that can be applied to a document before spell checking. This is useful for converting html entities, url encodings, or other transformations that may be necessary to get the correct text for spell checking.

Substitutions are applied based upon the longest matching find string. If there are multiple matches of the same find, the last one in the list is used. This allows for the overriding of substitutions. For example, if you have a substitution for & to and, and then a substitution for &amp; to &, the &amp; substitution will be used for the string &amp;, and the & substitution will be used for the string &.

entries SubstitutionEntry[] required

The entries for the substitution definition. This is a collection of substitution entries that can be applied to a document before spell checking.

name string required

The ID for a substitution definition. This is used to reference the substitution definition in the substitutions array.

description string

An optional description of the substitution definition. This is not used for anything, but can be useful for documentation purposes.

SubstitutionDefinitions SubstitutionDefinition[]

The set of available substitutions. This is a collection of substitution definitions that can be applied to a document before spell checking.

SubstitutionEntry array

A substitution entry is a tuple of the form [find, replacement]. The find string is the string to find, and the replacement string is the string to replace it with.

  • find - The string to find. This is the string that will be replaced in the text. Only an exact match will be replaced. The find string is not treated as a regular expression.
  • replacement - The string to replace the find string with. This is the string that will be used to replace the find string in the text.
SubstitutionID string

The ID for a substitution definition. This is used to reference the substitution definition in the substitutions array.

Substitutions SubstitutionEntry | SubstitutionID[]

The set of substitutions to apply to a document before spell checking. This is a collection of substitution entries that can be applied to a document before spell checking.

SuggestionCostMapDef CostMapDefReplace | CostMapDefInsDel | CostMapDefSwap

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.

  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.

  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.

SuggestionCostsDefs SuggestionCostMapDef[]
UnknownWordsChoices string

Possible choices for how to handle unknown words.

Version VersionLatest | VersionLegacy
VersionLatest string

Configuration File Version.

VersionLegacy string

Legacy Configuration File Versions.