// See: https://github.com/streetsidesoftware/cspell/tree/master/packages/cspell
{
  "version": "0.2",
  "import": [
    "@cspell/dict-en_us/cspell-ext.json",
    // "@cspell/dict-cpp/cspell-ext.json",
    "@cspell/dict-python/cspell-ext.json",
    "@cspell/dict-rust/cspell-ext.json",
    "@cspell/dict-win32/cspell-ext.json",
    "@cspell/dict-shell/cspell-ext.json",
  ],
  "allowCompoundWords": true,
  // language - current active spelling language
  "language": "en",
  // dictionaries - list of the names of the dictionaries to use
  "dictionaries": [
    "cpython",  // Sometimes keeping same terms with cpython is easy
    "python-more",  // Python API terms not listed in python
    "rust-more",  // Rust API terms not listed in rust
    "rustpython",  // RustPython derive macros and internal terms
    "en_US",
    "softwareTerms",
    "c",
    "cpp",
    "python",
    "rust",
    "shell",
    "win32"
  ],
  // dictionaryDefinitions - this list defines any custom dictionaries to use
  "dictionaryDefinitions": [
    {
      "name": "cpython",
      "path": "./.cspell.dict/cpython.txt"
    },
    {
      "name": "python-more",
      "path": "./.cspell.dict/python-more.txt"
    },
    {
      "name": "rust-more",
      "path": "./.cspell.dict/rust-more.txt"
    },
    {
      "name": "rustpython",
      "path": "./.cspell.dict/rustpython.txt"
    }
  ],
  "ignorePaths": [
    "**/__pycache__/**",
    "target/**",
    "Lib/**"
  ],
  // words - list of words to be always considered correct
  // (compound words like pyarg, baseclass, microbenchmark are handled by allowCompoundWords)
  "words": [
    "aiterable",
    "alnum",
    "coro",
    "dedentations",
    "dedents",
    "deduped",
    "deoptimize",
    "downcastable",
    "downcasted",
    "dumpable",
    "emscripten",
    "excs",
    "interps",
    "jitted",
    "jitting",
    "kwonly",
    "lossily",
    "mcache",
    "oparg",
    "pyc",
    "significand",
    "summands",
    "unraisable",
    "wasi",
    "weaked",
    // unix
    "posixshmem",
    "shm",
    "CLOEXEC",
    "endgrent",
    "gethrvtime",
    "getrusage",
    "sigaction",
    "WRLCK",
    // win32
    "IFEXEC"
  ],
  // flagWords - list of words to be always considered incorrect
  "flagWords": [
  ],
  "ignoreRegExpList": [
  ],
  // languageSettings - allow for per programming language configuration settings.
  "languageSettings": [
    {
      "languageId": "python",
      "locale": "en"
    }
  ]
}
