# V2 Work Items

Note: This is a raw list of things that need to be done.
Issues should be tracked with the `v2` milestone.

## Un-ordered Work items

### Modifying config files

- [x] Make sure the `cspell.config.js` does not get modified by the extension when changing words or settings.
- [x] Make sure the correct `cspell*.json` files are updated when writing settings.
- [x] Support `package.json` as a target location for `cspell` settings.
- [x] Support `yaml` config files.
- [x] Support concept of readonly configuration files.
- [x] Verify Yarn 2 support

### Commands

- [ ] Ignore word should update the correct files.
- [ ] Feature: create dictionary command.
- [x] Create config file command

### Non-File URIs

- [x] Support `untitled` file schema.
- [ ] Support non-`file` schemas.

### Preferences

- [x] Support checking only files in the Workspace
- [ ] Support setting preferences for config location.

### Documentation

- [ ] Document how to setup a custom dictionary

### Context Menu

- [x] Fix the options listed in the context menu to include `cspell` as a destination for words
- [x] Do not split words when adding to dictionary.
- [x] When adding a word that is a Diagnostic to the dictionary, do not ask.

### Reliability

- [ ] Detect server hangs
- [ ] Warn about documents that take too long to check.
- [ ] Be able to block documents that take too long to check.
- [ ] Be able to re-start the server if necessary.
- [ ] Be able to kill the server if stuck.

### Bug Fixes

- [x] Fix issue with Accents
- [ ] Support for case sensitive dictionaries.

### Third-party issues

- [ ] [Support virtual workspaces · Issue #846 · streetsidesoftware/vscode-spell-checker](https://github.com/streetsidesoftware/vscode-spell-checker/issues/846)
- [ ] [Support Workspace Trust · Issue #839 · streetsidesoftware/vscode-spell-checker](https://github.com/streetsidesoftware/vscode-spell-checker/issues/839)

    Workspace Trust is going to require some modifications to `cspell` in order to prevent it from
    loading any untrusted sources.

    There is a two step plan:
    1. Disable the extension in an untrusted environment.
    2. Enable the extension and use `cspell` trust settings to prevent loading of untrusted `.js` files.
