@storm-software/cspell
Version:
A package containing CSpell keyword dictionaries and shared configurations for Storm Software.
478 lines (472 loc) • 11.5 kB
JavaScript
// cspell-all.json
var cspell_all_default = {
version: "0.2",
enabledLanguageIds: [
"c",
"cpp",
"csharp",
"dart",
"elixir",
"fsharp",
"golang",
"haskell",
"java",
"lua",
"php",
"powershell",
"python",
"r",
"ruby",
"scala",
"svelte",
"swift",
"vue"
],
dictionaries: [
"ada",
"bash",
"companies",
"cpp",
"csharp",
"dart",
"django",
"dotnet",
"elixir",
"en-gb",
"fsharp",
"gaming-terms",
"golang",
"haskell",
"java",
"latex",
"lua",
"php",
"powershell",
"python",
"r",
"ruby",
"scala",
"svelte",
"swift",
"vue"
],
languageSettings: [
{
languageId: "php",
dictionaries: ["storm", "php"]
},
{
languageId: "html,pug,jade,php,handlebars",
dictionaries: [
"storm",
"html",
"fonts",
"typescript",
"css",
"npm",
"html-symbol-entities"
]
}
],
import: [
"./cspell-extra.json",
"@cspell/dict-ada/cspell-ext.json",
"@cspell/dict-bash/cspell-ext.json",
"@cspell/dict-companies/cspell-ext.json",
"@cspell/dict-cpp/cspell-ext.json",
"@cspell/dict-csharp/cspell-ext.json",
"@cspell/dict-dart/cspell-ext.json",
"@cspell/dict-django/cspell-ext.json",
"@cspell/dict-dotnet/cspell-ext.json",
"@cspell/dict-elixir/cspell-ext.json",
"@cspell/dict-en-gb/cspell-ext.json",
"@cspell/dict-fsharp/cspell-ext.json",
"@cspell/dict-gaming-terms/cspell-ext.json",
"@cspell/dict-golang/cspell-ext.json",
"@cspell/dict-haskell/cspell-ext.json",
"@cspell/dict-java/cspell-ext.json",
"@cspell/dict-latex/cspell-ext.json",
"@cspell/dict-lua/cspell-ext.json",
"@cspell/dict-php/cspell-ext.json",
"@cspell/dict-powershell/cspell-ext.json",
"@cspell/dict-python/cspell-ext.json",
"@cspell/dict-r/cspell-ext.json",
"@cspell/dict-ruby/cspell-ext.json",
"@cspell/dict-scala/cspell-ext.json",
"@cspell/dict-svelte/cspell-ext.json",
"@cspell/dict-swift/cspell-ext.json",
"@cspell/dict-vue/cspell-ext.json"
]
};
// cspell-ext.json
var cspell_ext_default = {
id: "storm",
name: "Storm Software",
description: "The Storm Software keywords Dictionary.",
readonly: true,
dictionaryDefinitions: [
{
name: "storm",
path: "./dict/storm.txt",
description: "Storm Software keywords."
}
],
dictionaries: [],
languageSettings: [
{
languageId: [
"typescript",
"javascript",
"typescriptreact",
"javascriptreact",
"mdx",
"rust",
"json",
"jsonc",
"yaml",
"markdown"
],
locale: "*",
includeRegExpList: [],
ignoreRegExpList: [],
patterns: [],
dictionaries: ["storm"],
dictionaryDefinitions: []
}
]
};
// cspell-extra.json
var cspell_extra_default = {
$schema: "https://raw.githubusercontent.com/streetsidesoftware/cspell/main/cspell.schema.json",
version: "0.2",
enabledLanguageIds: [
"handlebars",
"dockerfile",
"terraform",
"tfvars",
"commit-msg",
"css",
"html",
"markdown"
],
dictionaries: [
"cryptocurrencies",
"docker",
"k8s",
"aws",
"terraform",
"makefile",
"css",
"html",
"html-symbol-entities"
],
patterns: [
{
name: "Html symbol entity",
description: "Matches on HTML symbols like `♣`",
pattern: "/&[a-z]+;/g"
},
{
name: "Html Tags",
pattern: "<[^>]*>",
description: "Reference: https://stackoverflow.com/questions/11229831/regular-expression-to-remove-html-tags-from-a-string"
}
],
languageSettings: [
{
languageId: "javascriptreact,typescriptreact,mdx",
dictionaries: [
"storm",
"html",
"html-symbol-entities",
"css",
"fonts",
"softwareTerms"
]
},
{
languageId: "markdown,asciidoc",
dictionaries: [
"storm",
"npm",
"html",
"html-symbol-entities",
"softwareTerms"
]
},
{
languageId: "html",
dictionaries: [
"storm",
"html",
"fonts",
"typescript",
"css",
"npm",
"html-symbol-entities"
]
},
{
languageId: "css,less,scss",
dictionaries: ["storm", "fonts", "css"]
},
{
languageId: "markdown,html,mdx",
ignoreRegExpList: ["Html symbol entity", "public-licenses"]
},
{
languageId: "html",
ignoreRegExpList: ["href"]
},
{
languageId: "markdown",
ignoreRegExpList: [
"Markdown link reference",
"Markdown link footer",
"Markdown link",
"Markdown anchor",
"Markdown code blocks",
"Inline code blocks",
"Link contents",
"Snippet references",
"Snippet references 2",
"Multi-line code blocks",
"Html Tags"
]
}
],
import: [
"./cspell-recommended.json",
"@cspell/dict-aws/cspell-ext.json",
"@cspell/dict-cryptocurrencies/cspell-ext.json",
"@cspell/dict-docker/cspell-ext.json",
"@cspell/dict-en-common-misspellings/cspell-ext.json",
"@cspell/dict-k8s/cspell-ext.json",
"@cspell/dict-makefile/cspell-ext.json",
"@cspell/dict-terraform/cspell-ext.json",
"@cspell/dict-tfvars/cspell-ext.json",
"@cspell/dict-commit-msg/cspell-ext.json",
"@cspell/dict-html-symbol-entities/cspell-ext.json",
"@cspell/dict-html/cspell-ext.json",
"@cspell/dict-css/cspell-ext.json"
]
};
// cspell-minimal.json
var cspell_minimal_default = {
$schema: "https://raw.githubusercontent.com/streetsidesoftware/cspell/main/cspell.schema.json",
version: "0.2",
description: "The minimal CSpell configuration used by Storm Software.",
enabled: true,
language: "en",
caseSensitive: false,
useGitignore: true,
ignoreRandomStrings: true,
allowCompoundWords: true,
enabledLanguageIds: [
"typescript",
"javascript",
"typescriptreact",
"javascriptreact",
"json",
"jsonc",
"yaml"
],
maxNumberOfProblems: 1e4,
dictionaries: [
"storm",
"en_us",
"softwareTerms",
"filetypes",
"git",
"node",
"npm",
"typescript"
],
languageSettings: [
{
languageId: "javascript,javascriptreact,typescript,typescriptreact",
dictionaries: ["storm", "typescript", "node", "npm", "softwareTerms"]
},
{
languageId: "json,jsonc,yaml",
dictionaries: ["storm", "softwareTerms"]
},
{
languageId: "json,jsonc",
dictionaries: ["storm", "node", "npm"]
}
],
import: [
"./cspell-ext.json",
"@cspell/dict-en_us/cspell-ext.json",
"@cspell/dict-filetypes/cspell-ext.json",
"@cspell/dict-git/cspell-ext.json",
"@cspell/dict-node/cspell-ext.json",
"@cspell/dict-npm/cspell-ext.json",
"@cspell/dict-software-terms/cspell-ext.json",
"@cspell/dict-typescript/cspell-ext.json"
],
ignorePaths: ["patches", "package-lock.json", "pnpm-lock.yaml", ".vscode"]
};
// cspell-recommended.json
var cspell_recommended_default = {
$schema: "https://raw.githubusercontent.com/streetsidesoftware/cspell/main/cspell.schema.json",
version: "0.2",
description: "The recommended CSpell configuration used by Storm Software.",
enabledLanguageIds: ["sql", "mdx", "rust", "markdown"],
dictionaries: [
"fullstack",
"rust",
"sql",
"lorem-ipsum",
"markdown",
"public-licenses",
"fonts"
],
overrides: [
{
filename: "**/CHANGELOG*.md",
ignoreRegExpList: ["@[-\\w]+"]
},
{
filename: "'**/*.md*",
ignoreRegExpList: ["\\]\\([^)]+\\)"]
}
],
patterns: [
{
name: "Markdown link reference",
description: "Markdown reference link: `[This is a link][reference]`, matches `[reference]`",
pattern: "/(?<=])[[-w.`'\"*&;#@ ]+]/g"
},
{
name: "Markdown link footer",
description: "Markdown referenced link: `[reference]: https://www.google.com`, matches the entire reference.",
pattern: "/[[-w.`'\"*&;#@ ]+]:( [^s]*)?/g"
},
{
name: "Markdown link",
description: "Markdown link: `[link text](link)`, matches `link`",
pattern: "/(?<=]()[^)s]+/g"
},
{
name: "Markdown anchor",
description: 'Markdown Anchors: `<a id="my_link"></a>`, matches `my_link`',
pattern: '/(?<=<as+id=")[^"s]+/g'
},
{
name: "Markdown code blocks",
pattern: "/^(\\s*`{3,}).*[\\s\\S]*?^\\1/gmx",
description: "Taken from the cSpell example at https://cspell.org/configuration/patterns/#verbose-regular-expressions"
},
{
name: "Inline code blocks",
pattern: "\\`([^\\`\\r\\n]+?)\\`",
description: "https://stackoverflow.com/questions/41274241/how-to-capture-inline-markdown-code-but-not-a-markdown-code-fence-with-regex"
},
{
name: "Link contents",
pattern: "\\<a(.*)\\>",
description: ""
},
{
name: "Snippet references",
pattern: "-- snippet:(.*)",
description: ""
},
{
name: "Snippet references 2",
pattern: "\\<\\[sample:(.*)",
description: "another kind of snippet reference"
},
{
name: "Multi-line code blocks",
pattern: "/^\\s*```[\\s\\S]*?^\\s*```/gm"
}
],
languageSettings: [
{
languageId: "json,jsonc,yaml",
dictionaries: ["storm", "softwareTerms", "public-licenses"]
},
{
languageId: "markdown,mdx",
dictionaries: [
"storm",
"npm",
"markdown",
"softwareTerms",
"public-licenses"
]
},
{
languageId: "map",
enabled: false
},
{
languageId: "image",
enabled: false
},
{
languageId: "binary",
enabled: false
},
{
languageId: "markdown",
ignoreRegExpList: [
"Markdown link reference",
"Markdown link footer",
"Markdown link",
"Markdown anchor",
"Markdown code blocks",
"Inline code blocks",
"Link contents",
"Snippet references",
"Snippet references 2",
"Multi-line code blocks"
]
}
],
import: [
"./cspell-ext.json",
"./cspell-minimal.json",
"@cspell/dict-fullstack/cspell-ext.json",
"@cspell/dict-markdown/cspell-ext.json",
"@cspell/dict-rust/cspell-ext.json",
"@cspell/dict-lorem-ipsum/cspell-ext.json",
"@cspell/dict-public-licenses/cspell-ext.json",
"@cspell/dict-fonts/cspell-ext.json",
"@cspell/dict-sql/cspell-ext.json"
],
ignoreRegExpList: [
"usernames\\s*=\\s*\\{[^}]*\\}",
'name:\\s*"[^"]*"',
'description:\\s*"[^"]*"',
'avatar:\\s*"[^"]*"',
'twitter:\\s*"[^"]*"',
'image:\\s*"[^"]*"',
'privateKeyPass:\\s*"[^"]*"',
'encPrivateKeyPass:\\s*"[^"]*"',
'"x":\\s*"[^"]*"',
"\\[@[^\\]]+\\]\\([^\\)]+\\)",
"\\[[^\\]]+\\]\\(https://github\\.com/\\w+\\)",
"\\[[^\\]]+\\]\\(https://x\\.com/\\w+\\)",
"@[a-zA-Z0-9-_]+",
"price_[a-zA-Z0-9-_]+",
"sub_[a-zA-Z0-9-_]+",
"%[0-9A-Fa-f]{2}(?:%[0-9A-Fa-f]{2})*",
"toBe\\([^\\)]*\\)",
"GHSA-[-\\w]+"
]
};
// index.ts
var configs = {
ext: cspell_ext_default,
minimal: cspell_minimal_default,
recommended: cspell_recommended_default,
extra: cspell_extra_default,
all: cspell_all_default
};
export {
configs
};