@cspell/cspell-types
Version:
Types for cspell and cspell-lib
719 lines • 164 kB
JSON
{
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"allowTrailingCommas": true,
"definitions": {
"CSpellVFS": {
"additionalProperties": {
"$ref": "#/definitions/CSpellVFSFileEntry"
},
"description": "A declaration of files to add to the CSpell Virtual File System.",
"markdownDescription": "A declaration of files to add to the CSpell Virtual File System.",
"propertyNames": {
"description": "A URL string representing a CSpellVFS file. It should be of the form:\n\n```txt cspell-vfs:///<module>/<path-to-file>/<file-name> ```\n\nExample: `cspell-vfs:///@cspell/dict-en_us/en_US.trie.gz`",
"markdownDescription": "A URL string representing a CSpellVFS file.\nIt should be of the form:\n\n```txt\ncspell-vfs:///<module>/<path-to-file>/<file-name>\n```\n\nExample: `cspell-vfs:///@cspell/dict-en_us/en_US.trie.gz`",
"since": "9.7.0"
},
"since": "9.7.0",
"type": "object"
},
"CSpellVFSData": {
"$ref": "#/definitions/CSpellVFSTextData",
"description": "The data content of a CSpellVFS file.",
"markdownDescription": "The data content of a CSpellVFS file."
},
"CSpellVFSFileEntry": {
"additionalProperties": false,
"description": "An entry in the CSpell Virtual File System. It may or may not have a URL.",
"markdownDescription": "An entry in the CSpell Virtual File System.\nIt may or may not have a URL.",
"properties": {
"data": {
"$ref": "#/definitions/CSpellVFSData",
"description": "The content data of the file.",
"markdownDescription": "The content data of the file."
},
"encoding": {
"description": "The encoding of the data. In most cases the encoding is determined from the data type and filename url.",
"enum": [
"base64",
"plaintext",
"utf8"
],
"markdownDescription": "The encoding of the data. In most cases the encoding is determined from the data type and filename url.",
"type": "string"
},
"url": {
"$ref": "#/definitions/CSpellVFSFileUrl",
"description": "The optional file vfs url. It is already part of the CSpellVFS key.",
"markdownDescription": "The optional file vfs url. It is already part of the CSpellVFS key."
}
},
"required": [
"data"
],
"since": "9.7.0",
"type": "object"
},
"CSpellVFSFileUrl": {
"description": "A URL string representing a CSpellVFS file. It should be of the form:\n\n```txt cspell-vfs:///<module>/<path-to-file>/<file-name> ```\n\nExample: `cspell-vfs:///@cspell/dict-en_us/en_US.trie.gz`",
"markdownDescription": "A URL string representing a CSpellVFS file.\nIt should be of the form:\n\n```txt\ncspell-vfs:///<module>/<path-to-file>/<file-name>\n```\n\nExample: `cspell-vfs:///@cspell/dict-en_us/en_US.trie.gz`",
"since": "9.7.0",
"type": "string"
},
"CSpellVFSTextData": {
"description": "Data content stored in a string for CSpellVFS file. It is often encoded (e.g. base64) binary data.",
"markdownDescription": "Data content stored in a string for CSpellVFS file.\nIt is often encoded (e.g. base64) binary data.",
"type": "string"
},
"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"
},
"CompatibleEngineVersions": {
"additionalProperties": {
"anyOf": [
{
"$ref": "#/definitions/SemVersionPredicate"
},
{
"not": {}
}
],
"description": "Other engine version predicates.",
"markdownDescription": "Other engine version predicates."
},
"description": "Engine version predicates.\n\nThis allows dictionaries and other components to specify the versions of engines (like cspell) they are compatible with.",
"markdownDescription": "Engine version predicates.\n\nThis allows dictionaries and other components to specify the versions of engines (like cspell) they are compatible with.",
"properties": {
"code-spell-checker": {
"$ref": "#/definitions/SemVersionPredicate",
"description": "The VSCode Spell Checker version predicate.",
"markdownDescription": "The VSCode Spell Checker version predicate.",
"since": "9.6.3"
},
"cspell": {
"$ref": "#/definitions/SemVersionPredicate",
"description": "CSpell version predicate.",
"markdownDescription": "CSpell version predicate.",
"since": "9.6.3"
}
},
"since": "9.6.3",
"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éê|aåá\"` 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éê|aåá\"` 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éê|aåá\"` 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éê|aåá\"` 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éê|aåá\"` 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éê|aåá\"` 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": {
"description": "A path or url to a custom dictionary file.",
"markdownDescription": "A path or url to a custom dictionary file.",
"type": "string"
},
"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.\nThis will be removed in a future release.",
"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": {
"btrie": {
"$ref": "#/definitions/DictionaryPathToBTrie",
"description": "An alternative path to a bTrie dictionary file. It will be used in place of `path` if the version of CSpell being used supports btrie files.",
"markdownDescription": "An alternative path to a bTrie dictionary file.\nIt will be used in place of `path` if the version of CSpell being used\nsupports btrie files.",
"since": "9.6.0"
},
"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 or url to the dictionary file.",
"markdownDescription": "Path or url to the dictionary 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"
},
"btrie": {
"$ref": "#/definitions/DictionaryPathToBTrie",
"description": "An alternative path to a bTrie dictionary file. It will be used in place of `path` if the version of CSpell being used supports btrie files.",
"markdownDescription": "An alternative path to a bTrie dictionary file.\nIt will be used in place of `path` if the version of CSpell being used\nsupports btrie files.",
"since": "9.6.0"
},
"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": "A file path or url to a custom dictionary file.",
"markdownDescription": "A file path or url to a custom dictionary 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.\n