Dictionaries and Code Spell Checker (CSpell) config files for Path Of Building Community (PoB) code development.
All *-dict.txt
contain a single word-per-line, and are plain-text, UTF-8
, LF
-EOL
, sorted ascending case insensitive.
Filename | Description |
---|---|
cspell.json | CSpell settings. |
poe-dict.txt | Words specific to Path of Exile. |
pob-dict.txt | Words specific to PoB development and associated files. |
ignore-dict.txt | Words to be ignored by CSpell. |
extra-en-dict.txt | Extra English words that are not in CSpell's dictionaries. |
contribs-dict.txt | GitHub contributor's login names. Auto-generated, do not edit manually. |
spellcheck.yml | Example GitHub workflow using cspell-action . |
- Copy
docs/spellcheck.yml
to.github/workflows/
of the PoB repo.
This workflow is designed to be run from the PoB repo, collecting files from this repo as needed, and thus
avoids cluttering the PoB repo. By default, the workflow automatically only checks changes made in pull-requests against the dev
branch.
It can also be triggered manually to perform a full check of a specific branch/tag/SHA.
- Install Code Spell Checker.
- Checkout (or download & unzip) this repo to a directory that shares its parent dir with your PoB fork.
- Add the following lines to
.vscode/settings.json
in your PoB fork:
{
"CSpell.import": [ "../../pob-dict/cspell.json" ],
"CSpell.language": "en,en-GB"
}
- Install the CSpell NPM package.
To run a full scan of a local PoB fork with some helpful options enabled:
PS C:\PathOfBuilding> cspell --config "..\pob-dict\cspell.json" --relative --show-context --no-progress "**"
Which dictionary do I add this unrecognised word to?
- If it's spelled correctly within the context of:
- the game (Path of Exile) ->
poe-dict.txt
. - the PoB source code / git repository ->
pob-dict.txt
. - English, but not in CSpell's dictionaries ->
extra-en-dict.txt
- the game (Path of Exile) ->
- If it's spelled incorrectly or doesn't fit anywhere else, and/or you want to suppress the warning ->
ignore-dict.txt
. To reduce false negatives, please try to make this type of addition as specific as possible (see CritsDontAlways example below).
If unsure, open a new issue.
Word | Dictionary | Reasoning |
---|---|---|
Atziri |
poe-dict.txt |
Correct spelling, PoE NPC. |
REGENPERCENT |
pob-dict.txt |
Correct spelling, combination of two words, used in PoB source code. |
pregenerated |
extra-en-dict.txt |
Correct spelling, English word, not in CSpell's dictionaries. |
CritsDontAlways |
ignore-dict.txt |
Incorrect spelling/punctuation, legacy GGG error found in PoE game data. Add the whole thing so that "Dont" is still flagged elsewhere. |
flowchart TD
correct{Correct\nSpelling?}
correct -- Yes --> english
correct -- No --> ignore-dict.txt
english{Standard\nEnglish?}
english -- Yes --> extra-en-dict.txt
english -- No -->
poe{PoE-Specific?}
poe -- Yes --> poe-dict.txt
poe -- No -->
pob{PoB-Specific?}
pob -- Yes --> pob-dict.txt
pob -- No -->
user_error[ask Nighty]