diff --git a/.git-blame-ignore-revs b/.git-blame-ignore-revs new file mode 100644 index 0000000000..cbc4221a43 --- /dev/null +++ b/.git-blame-ignore-revs @@ -0,0 +1 @@ +a7d80cf9a40ca7759f62da297cc53919b6616dca diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 0000000000..eb8bdea19d --- /dev/null +++ b/.github/CODEOWNERS @@ -0,0 +1,36 @@ +# The purpose of this file is to trigger review requests when PRs touch +# particular files. Those reviews are not mandatory, however it's often useful +# to have an expert pinged who is interested in only one part of codespell and +# doesn't follow general development. +# +# Note that only GitHub handles (whether individuals or teams) with commit +# rights should be added to this file. +# See https://docs.github.com/en/github/creating-cloning-and-archiving-repositories/about-code-owners +# for more details about how CODEOWNERS works. + +# Each line is a file pattern followed by one or more owners. + +# Copy-paste-adapted from SciPy + +# Administrata and CIs +*.toml @larsoner +*.yml @larsoner +*.rst @larsoner @peternewman +*.cfg @larsoner +codespell.1.include @larsoner @peternewman +coverage* @larsoner +.github/* @larsoner @peternewman +.gitignore @larsoner @peternewman +Makefile @larsoner @peternewman + +# Python code +codespell_lib/*.py @larsoner @peternewman +bin/* @larsoner @peternewman + +# Dictionaries +codespell_lib/data/dictionary_code.txt @peternewman +codespell_lib/data/dictionary_en-GB_to_en-US.txt @peternewman +codespell_lib/data/dictionary_informal.txt @peternewman +codespell_lib/data/dictionary_names.txt @peternewman +codespell_lib/data/dictionary_rare.txt @peternewman +# codepell_lib/data/*.txt @luzpaz diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000000..fd83b118ad --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,10 @@ +# See: https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#about-the-dependabotyml-file +version: 2 + +updates: + # Configure check for outdated GitHub Actions actions in workflows. + # See: https://docs.github.com/code-security/dependabot/working-with-dependabot/keeping-your-actions-up-to-date-with-dependabot + - package-ecosystem: github-actions + directory: / # Check the repository's workflows under /.github/workflows/ + schedule: + interval: daily diff --git a/.github/workflows/black.yml b/.github/workflows/black.yml new file mode 100644 index 0000000000..4d4bf42591 --- /dev/null +++ b/.github/workflows/black.yml @@ -0,0 +1,15 @@ +name: black + +on: + - push + - pull_request +permissions: {} + +jobs: + black: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + with: + persist-credentials: false + - uses: psf/black@stable diff --git a/.github/workflows/codespell-private.yml b/.github/workflows/codespell-private.yml index 1ad4e3b1a4..1318451862 100644 --- a/.github/workflows/codespell-private.yml +++ b/.github/workflows/codespell-private.yml @@ -2,11 +2,12 @@ # For general usage in your repo, see the example in codespell.yml # https://github.com/codespell-project/codespell # Concurrency cancels an action on a given PR once a new commit is pushed -name: Test Codespell +name: Pytest concurrency: group: ${{ github.workflow }}-${{ github.event.number }}-${{ github.event.ref }} cancel-in-progress: true on: [push, pull_request] +permissions: {} jobs: test: env: @@ -21,9 +22,17 @@ jobs: - '3.8' - '3.9' - '3.10' - name: Python ${{ matrix.python-version }} test + - '3.11' + no-toml: + - '' + include: + - python-version: '3.10' + no-toml: 'no-toml' + name: ${{ matrix.python-version }} ${{ matrix.no-toml }} steps: - uses: actions/checkout@v3 + with: + persist-credentials: false - name: Setup python uses: actions/setup-python@v4 with: @@ -33,16 +42,20 @@ jobs: run: | python --version # just to check pip install -U pip wheel # upgrade to latest pip find 3.5 wheels; wheel to avoid errors - pip install --upgrade codecov chardet "setuptools!=47.2.0" docutils setuptools_scm[toml] + pip install --upgrade "setuptools!=47.2.0" docutils setuptools_scm[toml] twine pip install aspell-python-py3 pip install -e ".[dev]" # install the codespell dev packages - run: codespell --help - run: codespell --version - run: make check - - run: codespell --check-filenames --skip="./.git/*,*.pyc,./codespell_lib/tests/test_basic.py,./codespell_lib/data/*,./example/code.c,./build/lib/codespell_lib/tests/test_basic.py,./build/lib/codespell_lib/data/*,README.rst,*.egg-info/*" + - uses: codecov/codecov-action@v3 + # tomli should not be required for the next two steps (and make sure it's not) + - run: pip uninstall -yq tomli + if: ${{ matrix.no-toml == 'no-toml' }} + - run: codespell --check-filenames --skip="./.git/*,*.pyc,./codespell_lib/tests/test_basic.py,./codespell_lib/data/*,./example/code.c,./build/lib/codespell_lib/tests/test_basic.py,./build/lib/codespell_lib/data/*,README.rst,*.egg-info/*,pyproject-codespell.precommit-toml,./.mypy_cache" # this file has an error - run: "! codespell codespell_lib/tests/test_basic.py" - - run: codecov + make-check-dictionaries: runs-on: ubuntu-latest @@ -52,6 +65,8 @@ jobs: with: python-version: 3.x - uses: actions/checkout@v3 + with: + persist-credentials: false - name: Install general dependencies run: pip install -U pip wheel # upgrade to latest pip find 3.5 wheels; wheel to avoid errors - name: Install codespell dependencies @@ -62,6 +77,14 @@ jobs: flake8-annotation: runs-on: ubuntu-latest steps: + - name: Setup python + uses: actions/setup-python@v4 + with: + python-version: 3.x - uses: actions/checkout@v3 + with: + persist-credentials: false + - name: Install codespell dependencies + run: pip install -e ".[dev]" - name: Flake8 with annotations uses: TrueBrain/actions-flake8@v2 diff --git a/.github/workflows/codespell-windows.yml b/.github/workflows/codespell-windows.yml new file mode 100644 index 0000000000..0b29bff622 --- /dev/null +++ b/.github/workflows/codespell-windows.yml @@ -0,0 +1,27 @@ +name: Test Codespell Windows +on: + - push + - pull_request +permissions: {} +jobs: + test-windows: + name: Test Windows + runs-on: windows-latest + steps: + - uses: actions/checkout@v3 + with: + persist-credentials: false + - name: Setup python + uses: actions/setup-python@v4 + with: + python-version: '3.7' + - name: Install dependencies + run: | + python --version + pip install -U pip + pip install setuptools + pip install -e .[dev] + - run: codespell --help + - run: codespell --version + - run: pytest codespell_lib + - uses: codecov/codecov-action@v3 diff --git a/.github/workflows/codespell.yml b/.github/workflows/codespell.yml index 585891230d..b782bf133e 100644 --- a/.github/workflows/codespell.yml +++ b/.github/workflows/codespell.yml @@ -3,14 +3,17 @@ # https://github.com/codespell-project/codespell name: codespell on: [push, pull_request] +permissions: {} jobs: codespell: name: Check for spelling errors runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 + with: + persist-credentials: false - uses: codespell-project/actions-codespell@master with: check_filenames: true # When using this Action in other repos, the --skip option below can be removed - skip: "./.git,./codespell_lib/data,./example/code.c,test_basic.py,*.pyc,README.rst" + skip: "./.git,./codespell_lib/data,./example/code.c,test_basic.py,*.pyc,README.rst,pyproject-codespell.precommit-toml" diff --git a/.github/workflows/isort.yml b/.github/workflows/isort.yml new file mode 100644 index 0000000000..0919f7eae8 --- /dev/null +++ b/.github/workflows/isort.yml @@ -0,0 +1,16 @@ +name: isort + +on: + - push + - pull_request + +permissions: {} + +jobs: + isort: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + with: + persist-credentials: false + - uses: isort/isort-action@v1 diff --git a/.github/workflows/mypy.yml b/.github/workflows/mypy.yml new file mode 100644 index 0000000000..199d0cc642 --- /dev/null +++ b/.github/workflows/mypy.yml @@ -0,0 +1,26 @@ +name: mypy + +on: + - push + - pull_request + +permissions: {} + +jobs: + mypy: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + with: + persist-credentials: false + + - name: Setup python + uses: actions/setup-python@v4 + with: + python-version: '3.7' + + - name: Install dependencies + run: pip install -e .[types] + + - name: Run mypy + run: mypy . diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 66f131cad9..8fab62fb00 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -19,6 +19,8 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 + with: + persist-credentials: false - name: Set up Python uses: actions/setup-python@v4 with: diff --git a/.gitignore b/.gitignore index 8b5d201fa8..c3704dda05 100644 --- a/.gitignore +++ b/.gitignore @@ -6,5 +6,8 @@ codespell.egg-info *.pyc *.orig .cache/ +.mypy_cache/ .pytest_cache/ codespell_lib/_version.py +junit-results.xml +*.egg-info/ diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml new file mode 100644 index 0000000000..018858e8d7 --- /dev/null +++ b/.pre-commit-config.yaml @@ -0,0 +1,115 @@ +--- +files: ^(.*\.(py|json|md|sh|yaml|yml|in|cfg|txt|rst|toml|precommit-toml))$ +exclude: ^(\.[^/]*cache/.*)$ +repos: + - repo: https://github.com/executablebooks/mdformat + # Do this before other tools "fixing" the line endings + rev: 0.7.16 + hooks: + - id: mdformat + name: Format Markdown + entry: mdformat # Executable to run, with fixed options + language: python + types: [markdown] + args: [--wrap, '75', --number] + additional_dependencies: + - mdformat-toc + - mdformat-beautysh + # -mdformat-shfmt + # -mdformat-tables + - mdformat-config + - mdformat-black + - mdformat-web + - mdformat-gfm + - repo: https://github.com/Lucas-C/pre-commit-hooks-markup + rev: v1.0.1 + hooks: + - id: rst-linter + - repo: https://github.com/asottile/pyupgrade + rev: v3.3.1 + hooks: + - id: pyupgrade + args: [--py37-plus] + - repo: https://github.com/pre-commit/pre-commit-hooks + rev: v4.4.0 + hooks: + - id: no-commit-to-branch + args: [--branch, main] + - id: check-yaml + args: [--unsafe] + - id: debug-statements + - id: end-of-file-fixer + - id: trailing-whitespace + - id: check-json + - id: mixed-line-ending + - id: check-builtin-literals + - id: check-ast + - id: check-merge-conflict + - id: check-executables-have-shebangs + - id: check-shebang-scripts-are-executable + - id: check-docstring-first + - id: fix-byte-order-marker + - id: check-case-conflict + - id: check-toml + - repo: https://github.com/adrienverge/yamllint.git + rev: v1.29.0 + hooks: + - id: yamllint + args: + - --no-warnings + - -d + - '{extends: relaxed, rules: {line-length: {max: 90}}}' + - repo: https://github.com/psf/black + rev: 23.1.0 + hooks: + - id: black + - repo: https://github.com/Lucas-C/pre-commit-hooks-bandit + rev: v1.0.6 + hooks: + - id: python-bandit-vulnerability-check + - repo: https://github.com/PyCQA/autoflake + rev: v2.0.1 + hooks: + - id: autoflake + - repo: https://github.com/PyCQA/flake8 + rev: 6.0.0 + hooks: + - id: flake8 + additional_dependencies: + - flake8-pyproject>=1.2.2 + - flake8-bugbear>=22.7.1 + - flake8-comprehensions>=3.10.0 + - flake8-2020>=1.7.0 + - mccabe>=0.7.0 + - pycodestyle>=2.9.1 + - pyflakes>=2.5.0 + - repo: https://github.com/PyCQA/isort + rev: 5.12.0 + hooks: + - id: isort + - repo: https://github.com/codespell-project/codespell + rev: v2.2.2 + hooks: + - id: codespell + args: [--toml, pyproject-codespell.precommit-toml] + additional_dependencies: + - tomli + - repo: https://github.com/pre-commit/mirrors-pylint + rev: v3.0.0a5 + hooks: + - id: pylint + additional_dependencies: + - chardet + - pytest + - repo: https://github.com/pre-commit/mirrors-mypy + rev: v0.991 + hooks: + - id: mypy + args: [--no-warn-unused-ignores, --config-file, pyproject.toml, --disable-error-code, + import] + additional_dependencies: + - chardet + - pytest + - pytest-cov + - pytest-dependency + - types-chardet diff --git a/MANIFEST.in b/MANIFEST.in index e467a2b242..36e8cf9628 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -1,11 +1,7 @@ -include codespell_lib/__init__.py -recursive-include codespell_lib *.py -include codespell_lib/data/dictionary*.txt -include codespell_lib/data/linux-kernel.exclude -include COPYING -include bin/codespell exclude *.yml *.yaml exclude .coveragerc -exclude example example/* snap snap/* tools tools/* +exclude .git-blame-ignore-revs +exclude example example/* snap snap/* exclude Makefile exclude codespell.1.include +exclude pyproject-codespell.precommit-toml diff --git a/Makefile b/Makefile index 5cbe5e0990..06a4cbfd45 100644 --- a/Makefile +++ b/Makefile @@ -2,18 +2,14 @@ SORT_ARGS := -f -b DICTIONARIES := codespell_lib/data/dictionary*.txt -PHONY := all check check-dictionaries sort-dictionaries trim-dictionaries check-dictionary sort-dictionary trim-dictionary check-manifest check-distutils flake8 pytest pypi clean +PHONY := all check check-dictionaries sort-dictionaries trim-dictionaries check-dist flake8 pytest pypi clean all: check-dictionaries codespell.1 -check: check-dictionaries check-manifest check-distutils flake8 pytest +check: check-dictionaries check-dist flake8 pytest -check-dictionary: check-dictionaries -sort-dictionary: sort-dictionaries -trim-dictionary: trim-dictionaries - -codespell.1: codespell.1.include bin/codespell Makefile - PYTHONPATH=. help2man ./bin/codespell --include codespell.1.include --no-info --output codespell.1 +codespell.1: codespell.1.include Makefile + PYTHONPATH=. help2man codespell --include codespell.1.include --no-info --output codespell.1 sed -i '/\.SS \"Usage/,+2d' codespell.1 check-dictionaries: @@ -44,17 +40,22 @@ trim-dictionaries: sed -E -i.bak -e 's/^[[:space:]]+//; s/[[:space:]]+$$//; /^$$/d' $$dictionary && rm $$dictionary.bak; \ done -check-manifest: - check-manifest --no-build-isolation - -check-distutils: - python setup.py check --restructuredtext --strict +check-dist: + $(eval TMP := $(shell mktemp -d)) + python -m build -o $(TMP) + twine check --strict $(TMP)/* + rm -rf $(TMP) flake8: flake8 pytest: - pytest codespell_lib + @if command -v pytest > /dev/null; then \ + pytest codespell_lib; \ + else \ + echo "Test dependencies not present, install using 'pip install -e \".[dev]\"'"; \ + exit 1; \ + fi clean: rm -rf codespell.1 diff --git a/README.rst b/README.rst index fb5702e262..d9d15f46f8 100644 --- a/README.rst +++ b/README.rst @@ -13,9 +13,6 @@ Useful links * `GitHub project `_ -* Mailing list: with web archives/interface - `here `_ - * `Repository `_ * `Releases `_ @@ -28,33 +25,58 @@ Python 3.7 or above. Installation ------------ -You can use ``pip`` to install codespell with e.g.:: +You can use ``pip`` to install codespell with e.g.: + +.. code-block:: sh pip install codespell Usage ----- -For more in depth info please check usage with ``codespell -h``. +Below are some simple usage examples to demonstrate how the tool works. +For exhaustive usage information, please check the output of ``codespell -h``. + +Run codespell in all files of the current directory: + +.. code-block:: sh + + codespell -Some noteworthy flags:: +Run codespell in specific files or directories (specified via their names or glob patterns): + +.. code-block:: sh + + codespell some_file some_dir/ *.ext + +Some noteworthy flags: + +.. code-block:: sh codespell -w, --write-changes -The ``-w`` flag will actually implement the changes recommended by codespell. Not running with ``-w`` flag is the same as with doing a dry run. It is recommended to run this with the ``-i`` or ``--interactive`` flag.:: +The ``-w`` flag will actually implement the changes recommended by codespell. Running without the ``-w`` flag is the same as with doing a dry run. It is recommended to run this with the ``-i`` or ``--interactive`` flag. + +.. code-block:: sh codespell -I FILE, --ignore-words=FILE -The ``-I`` flag can be used for a list of certain words to allow that are in the codespell dictionaries. The format of the file is one word per line. Invoke using: ``codespell -I path/to/file.txt`` to execute codespell referencing said list of allowed words. **Important note:** The list passed to ``-I`` is case-sensitive based on how it is listed in the codespell dictionaries. :: +The ``-I`` flag can be used for a list of certain words to allow that are in the codespell dictionaries. The format of the file is one word per line. Invoke using: ``codespell -I path/to/file.txt`` to execute codespell referencing said list of allowed words. **Important note:** The list passed to ``-I`` is case-sensitive based on how it is listed in the codespell dictionaries. + +.. code-block:: sh codespell -L word1,word2,word3,word4 -The ``-L`` flag can be used to allow certain words that are comma-separated placed immediately after it. **Important note:** The list passed to ``-L`` is case-sensitive based on how it is listed in the codespell dictionaries. :: +The ``-L`` flag can be used to allow certain words that are comma-separated placed immediately after it. **Important note:** The list passed to ``-L`` is case-sensitive based on how it is listed in the codespell dictionaries. + +.. code-block:: sh codespell -x FILE, --exclude-file=FILE Ignore whole lines that match those in ``FILE``. The lines in ``FILE`` should match the to-be-excluded lines exactly. +.. code-block:: sh + codespell -S, --skip= Comma-separated list of files to skip. It accepts globs as well. Examples: @@ -64,12 +86,16 @@ Comma-separated list of files to skip. It accepts globs as well. Examples: * to skip directories, invoke ``codespell --skip="./src/3rd-Party,./src/Test"`` -Useful commands:: +Useful commands: + +.. code-block:: sh codespell -d -q 3 --skip="*.po,*.ts,./src/3rdParty,./src/Test" List all typos found except translation files and some directories. -Display them without terminal colors and with a quiet level of 3. :: +Display them without terminal colors and with a quiet level of 3. + +.. code-block:: sh codespell -i 3 -w @@ -81,7 +107,9 @@ after applying them in projects like Linux Kernel, EFL, oFono among others. You can provide your own version of the dictionary, but patches for new/different entries are very welcome. -Want to know if a word you're proposing exists in codespell already? It is possible to test a word against the current set dictionaries that exist in ``codespell_lib/data/dictionary*.txt`` via:: +Want to know if a word you're proposing exists in codespell already? It is possible to test a word against the current set dictionaries that exist in ``codespell_lib/data/dictionary*.txt`` via: + +.. code-block:: sh echo "word" | codespell - echo "1stword,2ndword" | codespell - @@ -96,7 +124,9 @@ Command line options can also be specified in a config file. When running ``codespell``, it will check in the current directory for a file named ``setup.cfg`` or ``.codespellrc`` (or a file specified via ``--config``), containing an entry named ``[codespell]``. Each command line argument can -be specified in this file (without the preceding dashes), for example:: +be specified in this file (without the preceding dashes), for example: + +.. code-block:: ini [codespell] skip = *.po,*.ts,./src/3rdParty,./src/Test @@ -105,23 +135,61 @@ be specified in this file (without the preceding dashes), for example:: Codespell will also check in the current directory for a ``pyproject.toml`` (or a path can be specified via ``--toml ``) file, and the -``[tool.codespell]`` entry will be used as long as the tomli_ package -is installed, for example:: +``[tool.codespell]`` entry will be used, but only if the tomli_ package +is installed for versions of Python prior to 3.11. For example: + +.. code-block:: toml [tool.codespell] skip = '*.po,*.ts,./src/3rdParty,./src/Test' count = '' quiet-level = 3 -These are both equivalent to running:: +These are both equivalent to running: + +.. code-block:: sh codespell --quiet-level 3 --count --skip "*.po,*.ts,./src/3rdParty,./src/Test" +If several config files are present, they are read in the following order: + +#. ``pyproject.toml`` (only if the ``tomli`` library is available) +#. ``setup.cfg`` +#. ``.codespellrc`` +#. any additional file supplied via ``--config`` + +If a codespell configuration is supplied in several of these files, +the configuration from the most recently read file overwrites previously +specified configurations. + Any options specified in the command line will *override* options from the config files. .. _tomli: https://pypi.org/project/tomli/ +`pre-commit `_ hook +-------------------------------------------- + +codespell also works with `pre-commit`, using + +.. code-block:: yaml + + - repo: https://github.com/codespell-project/codespell + rev: v2.2.2 + hooks: + - id: codespell + +If one configures codespell using the `pyproject.toml` file instead use: + +.. code-block:: yaml + + - repo: https://github.com/codespell-project/codespell + rev: v2.2.2 + hooks: + - id: codespell + additional_dependencies: + - tomli + Dictionary format ----------------- @@ -159,14 +227,26 @@ applied directly, but should instead be manually inspected. E.g.: Development Setup ----------------- -You can install required dependencies for development by running the following within a checkout of the codespell source:: +As suggested in the `Python Packaging User Guide`_, ensure ``pip``, ``setuptools``, and ``wheel`` are up to date before installing from source. Specifically you will need recent versions of ``setuptools`` and ``setuptools_scm``: + +.. code-block:: sh + + pip install --upgrade pip setuptools setuptools_scm wheel + +You can install required dependencies for development by running the following within a checkout of the codespell source: + +.. code-block:: sh pip install -e ".[dev]" -To run tests against the codebase run:: +To run tests against the codebase run: + +.. code-block:: sh make check +.. _Python Packaging User Guide: https://packaging.python.org/en/latest/tutorials/installing-packages/#requirements-for-installing-packages + Sending Pull Requests --------------------- @@ -176,11 +256,15 @@ If you have a suggested typo that you'd like to see merged please follow these s 2. Choose the correct dictionary file to add your typo to. See `codespell --help` for explanations of the different dictionaries. -3. Sort the dictionaries. This is done by invoking (in the top level directory of ``codespell/``):: +3. Sort the dictionaries. This is done by invoking (in the top level directory of ``codespell/``): + + .. code-block:: sh make check-dictionaries - If the make script finds that you need to sort a dictionary, please then run:: + If the make script finds that you need to sort a dictionary, please then run: + + .. code-block:: sh make sort-dictionaries @@ -194,15 +278,19 @@ If you have a suggested typo that you'd like to see merged please follow these s Updating -------- -To stay current with codespell developments it is possible to build codespell from GitHub via:: +To stay current with codespell developments it is possible to build codespell from GitHub via: + +.. code-block:: sh pip install --upgrade git+https://github.com/codespell-project/codespell.git **Important Notes:** -* Sometimes installing via ``pip`` will complain about permissions. If this is the case then run with :: +* Sometimes installing via ``pip`` will complain about permissions. If this is the case then run with: - pip install --user --upgrade git+https://github.com/codespell-project/codespell.git + .. code-block:: sh + + pip install --user --upgrade git+https://github.com/codespell-project/codespell.git * It has been reported that after installing from ``pip``, codespell can't be located. Please check the $PATH variable to see if ``~/.local/bin`` is present. If it isn't then add it to your path. * If you decide to install via ``pip`` then be sure to remove any previously installed versions of codespell (via your platform's preferred app manager). @@ -210,7 +298,9 @@ To stay current with codespell developments it is possible to build codespell fr Updating the dictionaries ------------------------- -In the scenario where the user prefers not to follow the development version of codespell yet still opts to benefit from the frequently updated dictionary files, we recommend running a simple set of commands to achieve this :: +In the scenario where the user prefers not to follow the development version of codespell yet still opts to benefit from the frequently updated dictionary files, we recommend running a simple set of commands to achieve this: + +.. code-block:: sh wget https://raw.githubusercontent.com/codespell-project/codespell/master/codespell_lib/data/dictionary.txt codespell -D dictionary.txt @@ -242,11 +332,8 @@ with the following terms: You should have received a copy of the GNU General Public License along with this program; if not, see - . + . -.. _GPL v2: http://www.gnu.org/licenses/old-licenses/gpl-2.0.html +.. _GPL v2: https://www.gnu.org/licenses/old-licenses/gpl-2.0.html -``dictionary.txt`` and the other ``dictionary_*.txt`` files are a derived work of -English Wikipedia and are released under the Creative Commons -Attribution-Share-Alike License 3.0 -http://creativecommons.org/licenses/by-sa/3.0/ +``dictionary.txt`` and the other ``dictionary_*.txt`` files are derivative works of English Wikipedia and are released under the `Creative Commons Attribution-Share-Alike License 3.0 `_. diff --git a/appveyor.yml b/appveyor.yml deleted file mode 100644 index 79740cac8c..0000000000 --- a/appveyor.yml +++ /dev/null @@ -1,35 +0,0 @@ -clone_depth: 50 - -environment: - matrix: - - PYTHON: C:\Python37-x64 - PYTHON_VERSION: 3.7 - PYTHON_ARCH: 64 - -cache: - # Cache downloaded pip packages and built wheels. - - '%LOCALAPPDATA%\pip\Cache\http' - - '%LOCALAPPDATA%\pip\Cache\wheels' - -install: - - "SET PATH=%PYTHON%;%PYTHON%\\Scripts;%PATH%" - - "pip install codecov chardet setuptools" - - "pip install -e \".[dev]\"" # install the codespell dev packages - - "python setup.py develop" - -build: false # Not a C# project, build stuff at the test step instead. - -test_script: - - "codespell --help" - - "flake8" - - "pytest codespell_lib" - -on_success: - - "codecov" - # Remove old or huge cache files to hopefully not exceed the 1GB cache limit. - # (adapted from PyInstaller) - - C:\cygwin\bin\find "%LOCALAPPDATA%\pip" -type f -mtime +360 -delete - - C:\cygwin\bin\find "%LOCALAPPDATA%\pip" -type f -size +10M -delete - - C:\cygwin\bin\find "%LOCALAPPDATA%\pip" -empty -delete - # Show size of cache - - C:\cygwin\bin\du -hs "%LOCALAPPDATA%\pip\Cache" diff --git a/bin/codespell b/bin/codespell deleted file mode 100755 index b08fff12ac..0000000000 --- a/bin/codespell +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/env python3 - -import sys - -if __name__ == '__main__': - import codespell_lib - sys.exit(codespell_lib.main(*sys.argv[1:])) diff --git a/codespell_lib/__init__.py b/codespell_lib/__init__.py index 019d227001..cd77a5534c 100644 --- a/codespell_lib/__init__.py +++ b/codespell_lib/__init__.py @@ -1,2 +1,4 @@ -from ._codespell import main, _script_main # noqa -from ._version import __version__ # noqa +from ._codespell import _script_main, main +from ._version import __version__ + +__all__ = ["_script_main", "main", "__version__"] diff --git a/codespell_lib/__main__.py b/codespell_lib/__main__.py index 2d8f4b629f..bbadb84c5b 100644 --- a/codespell_lib/__main__.py +++ b/codespell_lib/__main__.py @@ -1,4 +1,4 @@ from ._codespell import _script_main -if __name__ == '__main__': +if __name__ == "__main__": _script_main() diff --git a/codespell_lib/_codespell.py b/codespell_lib/_codespell.py index dd2c21f1fd..3b79286f77 100644 --- a/codespell_lib/_codespell.py +++ b/codespell_lib/_codespell.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -11,63 +10,106 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, see -# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html. +# https://www.gnu.org/licenses/old-licenses/gpl-2.0.html. """ Copyright (C) 2010-2011 Lucas De Marchi Copyright (C) 2011 ProFUSION embedded systems """ import argparse -import codecs import configparser import fnmatch import os import re import sys import textwrap +from typing import Dict, List, Match, Optional, Pattern, Sequence, Set, Tuple # autogenerated by setuptools_scm from ._version import __version__ as VERSION -word_regex_def = u"[\\w\\-'’`]+" +word_regex_def = "[\\w\\-'’`]+" # While we want to treat characters like ( or " as okay for a starting break, # these may occur unescaped in URIs, and so we are more restrictive on the # endpoint. Emails are more restrictive, so the endpoint remains flexible. -uri_regex_def = (u"(\\b(?:https?|[ts]?ftp|file|git|smb)://[^\\s]+(?=$|\\s)|" - u"\\b[\\w.%+-]+@[\\w.-]+\\b)") -encodings = ('utf-8', 'iso-8859-1') +uri_regex_def = ( + "(\\b(?:https?|[ts]?ftp|file|git|smb)://[^\\s]+(?=$|\\s)|" + "\\b[\\w.%+-]+@[\\w.-]+\\b)" +) +encodings = ("utf-8", "iso-8859-1") USAGE = """ \t%prog [OPTIONS] [file1 file2 ... fileN] """ -supported_languages_en = ('en', 'en_GB', 'en_US', 'en_CA', 'en_AU') +supported_languages_en = ("en", "en_GB", "en_US", "en_CA", "en_AU") supported_languages = supported_languages_en # Users might want to link this file into /usr/local/bin, so we resolve the # symbolic link path to the real path if necessary. -_data_root = os.path.join(os.path.dirname(os.path.realpath(__file__)), 'data') +_data_root = os.path.join(os.path.dirname(os.path.realpath(__file__)), "data") _builtin_dictionaries = ( # name, desc, name, err in aspell, correction in aspell, \ # err dictionary array, rep dictionary array # The arrays must contain the names of aspell dictionaries # The aspell tests here aren't the ideal state, but the None's are # realistic for obscure words - ('clear', 'for unambiguous errors', '', - False, None, supported_languages_en, None), - ('rare', 'for rare (but valid) words that are likely to be errors', '_rare', # noqa: E501 - None, None, None, None), - ('informal', 'for making informal words more formal', '_informal', - True, True, supported_languages_en, supported_languages_en), - ('usage', 'for replacing phrasing with recommended terms', '_usage', - None, None, None, None), - ('code', 'for words from code and/or mathematics that are likely to be typos in other contexts (such as uint)', '_code', # noqa: E501 - None, None, None, None,), - ('names', 'for valid proper names that might be typos', '_names', - None, None, None, None,), - ('en-GB_to_en-US', 'for corrections from en-GB to en-US', '_en-GB_to_en-US', # noqa: E501 - True, True, ('en_GB',), ('en_US',)), + ("clear", "for unambiguous errors", "", False, None, supported_languages_en, None), + ( + "rare", + "for rare (but valid) words that are likely to be errors", + "_rare", # noqa: E501 + None, + None, + None, + None, + ), + ( + "informal", + "for making informal words more formal", + "_informal", + True, + True, + supported_languages_en, + supported_languages_en, + ), + ( + "usage", + "for replacing phrasing with recommended terms", + "_usage", + None, + None, + None, + None, + ), + ( + "code", + "for words from code and/or mathematics that are likely to be typos in other contexts (such as uint)", # noqa: E501 + "_code", + None, + None, + None, + None, + ), + ( + "names", + "for valid proper names that might be typos", + "_names", + None, + None, + None, + None, + ), + ( + "en-GB_to_en-US", + "for corrections from en-GB to en-US", + "_en-GB_to_en-US", # noqa: E501 + True, + True, + ("en_GB",), + ("en_US",), + ), ) -_builtin_default = 'clear,rare' +_builtin_default = "clear,rare" # docs say os.EX_USAGE et al. are only available on Unix systems, so to be safe # we protect and just use the values they are on macOS and Linux @@ -83,117 +125,121 @@ # file1 .. fileN Files to check spelling -class QuietLevels(object): +class QuietLevels: NONE = 0 ENCODING = 1 BINARY_FILE = 2 DISABLED_FIXES = 4 NON_AUTOMATIC_FIXES = 8 FIXES = 16 + CONFIG_FILES = 32 -class GlobMatch(object): - def __init__(self, pattern): +class GlobMatch: + def __init__(self, pattern: Optional[str]) -> None: + self.pattern_list: Optional[List[str]] if pattern: # Pattern might be a list of comma-delimited strings - self.pattern_list = ','.join(pattern).split(',') + self.pattern_list = ",".join(pattern).split(",") else: self.pattern_list = None - def match(self, filename): + def match(self, filename: str) -> bool: if self.pattern_list is None: return False - for p in self.pattern_list: - if fnmatch.fnmatch(filename, p): - return True - - return False + return any(fnmatch.fnmatch(filename, p) for p in self.pattern_list) -class Misspelling(object): - def __init__(self, data, fix, reason): +class Misspelling: + def __init__(self, data: str, fix: bool, reason: str) -> None: self.data = data self.fix = fix self.reason = reason -class TermColors(object): - def __init__(self): - self.FILE = '\033[33m' - self.WWORD = '\033[31m' - self.FWORD = '\033[32m' - self.DISABLE = '\033[0m' +class TermColors: + def __init__(self) -> None: + self.FILE = "\033[33m" + self.WWORD = "\033[31m" + self.FWORD = "\033[32m" + self.DISABLE = "\033[0m" - def disable(self): - self.FILE = '' - self.WWORD = '' - self.FWORD = '' - self.DISABLE = '' + def disable(self) -> None: + self.FILE = "" + self.WWORD = "" + self.FWORD = "" + self.DISABLE = "" -class Summary(object): - def __init__(self): - self.summary = {} +class Summary: + def __init__(self) -> None: + self.summary: Dict[str, int] = {} - def update(self, wrongword): + def update(self, wrongword: str) -> None: if wrongword in self.summary: self.summary[wrongword] += 1 else: self.summary[wrongword] = 1 - def __str__(self): + def __str__(self) -> str: keys = list(self.summary.keys()) keys.sort() - return "\n".join(["{0}{1:{width}}".format( - key, - self.summary.get(key), - width=15 - len(key)) for key in keys]) + return "\n".join( + [ + "{0}{1:{width}}".format(key, self.summary.get(key), width=15 - len(key)) + for key in keys + ] + ) -class FileOpener(object): - def __init__(self, use_chardet, quiet_level): +class FileOpener: + def __init__(self, use_chardet: bool, quiet_level: int) -> None: self.use_chardet = use_chardet if use_chardet: self.init_chardet() self.quiet_level = quiet_level - def init_chardet(self): + def init_chardet(self) -> None: try: from chardet.universaldetector import UniversalDetector except ImportError: - raise ImportError("There's no chardet installed to import from. " - "Please, install it and check your PYTHONPATH " - "environment variable") + raise ImportError( + "There's no chardet installed to import from. " + "Please, install it and check your PYTHONPATH " + "environment variable" + ) self.encdetector = UniversalDetector() - def open(self, filename): + def open(self, filename: str) -> Tuple[List[str], str]: if self.use_chardet: return self.open_with_chardet(filename) else: return self.open_with_internal(filename) - def open_with_chardet(self, filename): + def open_with_chardet(self, filename: str) -> Tuple[List[str], str]: self.encdetector.reset() - with codecs.open(filename, 'rb') as f: - for line in f: + with open(filename, "rb") as fb: + for line in fb: self.encdetector.feed(line) if self.encdetector.done: break self.encdetector.close() - encoding = self.encdetector.result['encoding'] + encoding = self.encdetector.result["encoding"] + assert encoding is not None try: - f = codecs.open(filename, 'r', encoding=encoding) + f = open(filename, encoding=encoding, newline="") except UnicodeDecodeError: - print("ERROR: Could not detect encoding: %s" % filename, - file=sys.stderr) + print(f"ERROR: Could not detect encoding: {filename}", file=sys.stderr) raise except LookupError: - print("ERROR: Don't know how to handle encoding %s: %s" - % (encoding, filename,), file=sys.stderr) + print( + f"ERROR: Don't know how to handle encoding {encoding}: {filename}", + file=sys.stderr, + ) raise else: lines = f.readlines() @@ -201,239 +247,347 @@ def open_with_chardet(self, filename): return lines, encoding - def open_with_internal(self, filename): + def open_with_internal(self, filename: str) -> Tuple[List[str], str]: encoding = None first_try = True for encoding in encodings: if first_try: first_try = False elif not self.quiet_level & QuietLevels.ENCODING: - print("WARNING: Trying next encoding %s" - % encoding, file=sys.stderr) - with codecs.open(filename, 'r', encoding=encoding) as f: + print(f'WARNING: Trying next encoding "{encoding}"', file=sys.stderr) + with open(filename, encoding=encoding, newline="") as f: try: lines = f.readlines() except UnicodeDecodeError: if not self.quiet_level & QuietLevels.ENCODING: - print("WARNING: Decoding file using encoding=%s " - "failed: %s" % (encoding, filename,), - file=sys.stderr) + print( + f'WARNING: Cannot decode file using encoding "{encoding}": ' + f"{filename}", + file=sys.stderr, + ) else: break else: - raise Exception('Unknown encoding') + raise Exception("Unknown encoding") return lines, encoding + # -.-:-.-:-.-:-.:-.-:-.-:-.-:-.-:-.:-.-:-.-:-.-:-.-:-.:-.-:- # If someday this breaks, we can just switch to using RawTextHelpFormatter, # but it has the disadvantage of not wrapping our long lines. + class NewlineHelpFormatter(argparse.HelpFormatter): """Help formatter that preserves newlines and deals with lists.""" - def _split_lines(self, text, width): - parts = text.split('\n') - out = list() - for pi, part in enumerate(parts): + def _split_lines(self, text: str, width: int) -> List[str]: + parts = text.split("\n") + out = [] + for part in parts: # Eventually we could allow others... - indent_start = '- ' + indent_start = "- " if part.startswith(indent_start): offset = len(indent_start) else: offset = 0 part = part[offset:] - part = self._whitespace_matcher.sub(' ', part).strip() + part = self._whitespace_matcher.sub(" ", part).strip() parts = textwrap.wrap(part, width - offset) - parts = [' ' * offset + p for p in parts] + parts = [" " * offset + p for p in parts] if offset: parts[0] = indent_start + parts[0][offset:] out.extend(parts) return out -def parse_options(args): +def parse_options( + args: Sequence[str], +) -> Tuple[argparse.Namespace, argparse.ArgumentParser, List[str]]: parser = argparse.ArgumentParser(formatter_class=NewlineHelpFormatter) parser.set_defaults(colors=sys.stdout.isatty()) - parser.add_argument('--version', action='version', version=VERSION) - - parser.add_argument('-d', '--disable-colors', - action='store_false', dest='colors', - help='disable colors, even when printing to terminal ' - '(always set for Windows)') - parser.add_argument('-c', '--enable-colors', - action='store_true', dest='colors', - help='enable colors, even when not printing to ' - 'terminal') - - parser.add_argument('-w', '--write-changes', - action='store_true', default=False, - help='write changes in place if possible') - - parser.add_argument('-D', '--dictionary', - action='append', - help='custom dictionary file that contains spelling ' - 'corrections. If this flag is not specified or ' - 'equals "-" then the default dictionary is used. ' - 'This option can be specified multiple times.') - builtin_opts = '\n- '.join([''] + [ - '%r %s' % (d[0], d[1]) for d in _builtin_dictionaries]) - parser.add_argument('--builtin', - dest='builtin', default=_builtin_default, - metavar='BUILTIN-LIST', - help='comma-separated list of builtin dictionaries ' - 'to include (when "-D -" or no "-D" is passed). ' - 'Current options are:' + builtin_opts + '\n' - 'The default is %(default)r.') - parser.add_argument('--ignore-regex', - action='store', type=str, - help='regular expression that is used to find ' - 'patterns to ignore by treating as whitespace. ' - 'When writing regular expressions, consider ' - 'ensuring there are boundary non-word chars, ' - 'e.g., "\\bmatch\\b". Defaults to ' - 'empty/disabled.') - parser.add_argument('-I', '--ignore-words', - action='append', metavar='FILE', - help='file that contains words that will be ignored ' - 'by codespell. File must contain 1 word per line.' - ' Words are case sensitive based on how they are ' - 'written in the dictionary file') - parser.add_argument('-L', '--ignore-words-list', - action='append', metavar='WORDS', - help='comma separated list of words to be ignored ' - 'by codespell. Words are case sensitive based on ' - 'how they are written in the dictionary file') - parser.add_argument('--uri-ignore-words-list', - action='append', metavar='WORDS', - help='comma separated list of words to be ignored ' - 'by codespell in URIs and emails only. Words are ' - 'case sensitive based on how they are written in ' - 'the dictionary file. If set to "*", all ' - 'misspelling in URIs and emails will be ignored.') - parser.add_argument('-r', '--regex', - action='store', type=str, - help='regular expression that is used to find words. ' - 'By default any alphanumeric character, the ' - 'underscore, the hyphen, and the apostrophe is ' - 'used to build words. This option cannot be ' - 'specified together with --write-changes.') - parser.add_argument('--uri-regex', - action='store', type=str, - help='regular expression that is used to find URIs ' - 'and emails. A default expression is provided.') - parser.add_argument('-s', '--summary', - action='store_true', default=False, - help='print summary of fixes') - - parser.add_argument('--count', - action='store_true', default=False, - help='print the number of errors as the last line of ' - 'stderr') - - parser.add_argument('-S', '--skip', - action='append', - help='comma-separated list of files to skip. It ' - 'accepts globs as well. E.g.: if you want ' - 'codespell to skip .eps and .txt files, ' - 'you\'d give "*.eps,*.txt" to this option.') - - parser.add_argument('-x', '--exclude-file', type=str, metavar='FILE', - help='ignore whole lines that match those ' - 'in the file FILE. The lines in FILE ' - 'should match the to-be-excluded lines exactly') - - parser.add_argument('-i', '--interactive', - action='store', type=int, default=0, - help='set interactive mode when writing changes:\n' - '- 0: no interactivity.\n' - '- 1: ask for confirmation.\n' - '- 2: ask user to choose one fix when more than one is available.\n' # noqa: E501 - '- 3: both 1 and 2') - - parser.add_argument('-q', '--quiet-level', - action='store', type=int, default=2, - help='bitmask that allows suppressing messages:\n' - '- 0: print all messages.\n' - '- 1: disable warnings about wrong encoding.\n' - '- 2: disable warnings about binary files.\n' - '- 4: omit warnings about automatic fixes that were disabled in the dictionary.\n' # noqa: E501 - '- 8: don\'t print anything for non-automatic fixes.\n' # noqa: E501 - '- 16: don\'t print the list of fixed files.\n' - 'As usual with bitmasks, these levels can be ' - 'combined; e.g. use 3 for levels 1+2, 7 for ' - '1+2+4, 23 for 1+2+4+16, etc. ' - 'The default mask is %(default)s.') - - parser.add_argument('-e', '--hard-encoding-detection', - action='store_true', default=False, - help='use chardet to detect the encoding of each ' - 'file. This can slow down codespell, but is more ' - 'reliable in detecting encodings other than ' - 'utf-8, iso8859-1, and ascii.') - - parser.add_argument('-f', '--check-filenames', - action='store_true', default=False, - help='check file names as well') - - parser.add_argument('-H', '--check-hidden', - action='store_true', default=False, - help='check hidden files and directories (those ' - 'starting with ".") as well.') - parser.add_argument('-A', '--after-context', type=int, metavar='LINES', - help='print LINES of trailing context') - parser.add_argument('-B', '--before-context', type=int, metavar='LINES', - help='print LINES of leading context') - parser.add_argument('-C', '--context', type=int, metavar='LINES', - help='print LINES of surrounding context') - parser.add_argument('--config', type=str, - help='path to config file.') - parser.add_argument('--toml', type=str, - help='path to a pyproject.toml file.') - parser.add_argument('files', nargs='*', - help='files or directories to check') + parser.add_argument("--version", action="version", version=VERSION) + + parser.add_argument( + "-d", + "--disable-colors", + action="store_false", + dest="colors", + help="disable colors, even when printing to terminal " + "(always set for Windows)", + ) + parser.add_argument( + "-c", + "--enable-colors", + action="store_true", + dest="colors", + help="enable colors, even when not printing to terminal", + ) + + parser.add_argument( + "-w", + "--write-changes", + action="store_true", + default=False, + help="write changes in place if possible", + ) + + parser.add_argument( + "-D", + "--dictionary", + action="append", + help="custom dictionary file that contains spelling " + "corrections. If this flag is not specified or " + 'equals "-" then the default dictionary is used. ' + "This option can be specified multiple times.", + ) + builtin_opts = "\n- ".join( + [""] + [f"{d[0]!r} {d[1]}" for d in _builtin_dictionaries] + ) + parser.add_argument( + "--builtin", + dest="builtin", + default=_builtin_default, + metavar="BUILTIN-LIST", + help="comma-separated list of builtin dictionaries " + 'to include (when "-D -" or no "-D" is passed). ' + "Current options are:" + builtin_opts + "\n" + "The default is %(default)r.", + ) + parser.add_argument( + "--ignore-regex", + action="store", + type=str, + help="regular expression that is used to find " + "patterns to ignore by treating as whitespace. " + "When writing regular expressions, consider " + "ensuring there are boundary non-word chars, " + 'e.g., "\\bmatch\\b". Defaults to ' + "empty/disabled.", + ) + parser.add_argument( + "-I", + "--ignore-words", + action="append", + metavar="FILE", + help="file that contains words that will be ignored " + "by codespell. File must contain 1 word per line." + " Words are case sensitive based on how they are " + "written in the dictionary file", + ) + parser.add_argument( + "-L", + "--ignore-words-list", + action="append", + metavar="WORDS", + help="comma separated list of words to be ignored " + "by codespell. Words are case sensitive based on " + "how they are written in the dictionary file", + ) + parser.add_argument( + "--uri-ignore-words-list", + action="append", + metavar="WORDS", + help="comma separated list of words to be ignored " + "by codespell in URIs and emails only. Words are " + "case sensitive based on how they are written in " + 'the dictionary file. If set to "*", all ' + "misspelling in URIs and emails will be ignored.", + ) + parser.add_argument( + "-r", + "--regex", + action="store", + type=str, + help="regular expression that is used to find words. " + "By default any alphanumeric character, the " + "underscore, the hyphen, and the apostrophe is " + "used to build words. This option cannot be " + "specified together with --write-changes.", + ) + parser.add_argument( + "--uri-regex", + action="store", + type=str, + help="regular expression that is used to find URIs " + "and emails. A default expression is provided.", + ) + parser.add_argument( + "-s", + "--summary", + action="store_true", + default=False, + help="print summary of fixes", + ) + + parser.add_argument( + "--count", + action="store_true", + default=False, + help="print the number of errors as the last line of stderr", + ) + + parser.add_argument( + "-S", + "--skip", + action="append", + help="comma-separated list of files to skip. It " + "accepts globs as well. E.g.: if you want " + "codespell to skip .eps and .txt files, " + 'you\'d give "*.eps,*.txt" to this option.', + ) + + parser.add_argument( + "-x", + "--exclude-file", + type=str, + metavar="FILE", + help="ignore whole lines that match those " + "in the file FILE. The lines in FILE " + "should match the to-be-excluded lines exactly", + ) + + parser.add_argument( + "-i", + "--interactive", + action="store", + type=int, + default=0, + help="set interactive mode when writing changes:\n" + "- 0: no interactivity.\n" + "- 1: ask for confirmation.\n" + "- 2: ask user to choose one fix when more than one is available.\n" # noqa: E501 + "- 3: both 1 and 2", + ) + + parser.add_argument( + "-q", + "--quiet-level", + action="store", + type=int, + default=34, + help="bitmask that allows suppressing messages:\n" + "- 0: print all messages.\n" + "- 1: disable warnings about wrong encoding.\n" + "- 2: disable warnings about binary files.\n" + "- 4: omit warnings about automatic fixes that were disabled in the dictionary.\n" # noqa: E501 + "- 8: don't print anything for non-automatic fixes.\n" # noqa: E501 + "- 16: don't print the list of fixed files.\n" + "- 32: don't print configuration files.\n" + "As usual with bitmasks, these levels can be " + "combined; e.g. use 3 for levels 1+2, 7 for " + "1+2+4, 23 for 1+2+4+16, etc. " + "The default mask is %(default)s.", + ) + + parser.add_argument( + "-e", + "--hard-encoding-detection", + action="store_true", + default=False, + help="use chardet to detect the encoding of each " + "file. This can slow down codespell, but is more " + "reliable in detecting encodings other than " + "utf-8, iso8859-1, and ascii.", + ) + + parser.add_argument( + "-f", + "--check-filenames", + action="store_true", + default=False, + help="check file names as well", + ) + + parser.add_argument( + "-H", + "--check-hidden", + action="store_true", + default=False, + help="check hidden files and directories (those " 'starting with ".") as well.', + ) + parser.add_argument( + "-A", + "--after-context", + type=int, + metavar="LINES", + help="print LINES of trailing context", + ) + parser.add_argument( + "-B", + "--before-context", + type=int, + metavar="LINES", + help="print LINES of leading context", + ) + parser.add_argument( + "-C", + "--context", + type=int, + metavar="LINES", + help="print LINES of surrounding context", + ) + parser.add_argument("--config", type=str, help="path to config file.") + parser.add_argument("--toml", type=str, help="path to a pyproject.toml file.") + parser.add_argument("files", nargs="*", help="files or directories to check") # Parse command line options. options = parser.parse_args(list(args)) # Load config files and look for ``codespell`` options. - cfg_files = ['setup.cfg', '.codespellrc'] + cfg_files = ["setup.cfg", ".codespellrc"] if options.config: cfg_files.append(options.config) - config = configparser.ConfigParser() + config = configparser.ConfigParser(interpolation=None) # Read toml before other config files. - toml_files_errors = list() - if os.path.isfile('pyproject.toml'): - toml_files_errors.append(('pyproject.toml', False)) + toml_files = [] + tomllib_raise_error = False + if os.path.isfile("pyproject.toml"): + toml_files.append("pyproject.toml") if options.toml: - toml_files_errors.append((options.toml, True)) - for toml_file, raise_error in toml_files_errors: + toml_files.append(options.toml) + tomllib_raise_error = True + if toml_files: try: - import tomli - except Exception as exc: - if raise_error: - raise ImportError( - f'tomli is required to read pyproject.toml but could not ' - f'be imported, got: {exc}') from None - else: - continue - with open(toml_file, 'rb') as f: - data = tomli.load(f).get('tool', {}) - config.read_dict(data) + import tomllib # type: ignore[import] + except ModuleNotFoundError: + try: + import tomli as tomllib + except ImportError as e: + if tomllib_raise_error: + raise ImportError( + f"tomllib or tomli are required to read pyproject.toml " + f"but could not be imported, got: {e}" + ) from None + tomllib = None + if tomllib is not None: + for toml_file in toml_files: + with open(toml_file, "rb") as f: + data = tomllib.load(f).get("tool", {}) + config.read_dict(data) + + # Collect which config files are going to be used + used_cfg_files = [] + for cfg_file in cfg_files: + _cfg = configparser.ConfigParser() + _cfg.read(cfg_file) + if _cfg.has_section("codespell"): + used_cfg_files.append(cfg_file) + + # Use config files config.read(cfg_files) - - if config.has_section('codespell'): + if config.has_section("codespell"): # Build a "fake" argv list using option name and value. cfg_args = [] - for key in config['codespell']: + for key in config["codespell"]: # Add option as arg. - cfg_args.append("--%s" % key) + cfg_args.append(f"--{key}") # If value is blank, skip. - val = config['codespell'][key] + val = config["codespell"][key] if val != "": cfg_args.append(val) @@ -444,36 +598,40 @@ def parse_options(args): options = parser.parse_args(list(args), namespace=options) if not options.files: - options.files.append('.') + options.files.append(".") - return options, parser + return options, parser, used_cfg_files -def parse_ignore_words_option(ignore_words_option): +def parse_ignore_words_option(ignore_words_option: List[str]) -> Set[str]: ignore_words = set() if ignore_words_option: for comma_separated_words in ignore_words_option: - for word in comma_separated_words.split(','): + for word in comma_separated_words.split(","): ignore_words.add(word.strip()) return ignore_words -def build_exclude_hashes(filename, exclude_lines): - with codecs.open(filename, mode='r', encoding='utf-8') as f: +def build_exclude_hashes(filename: str, exclude_lines: Set[str]) -> None: + with open(filename, encoding="utf-8") as f: for line in f: exclude_lines.add(line) -def build_ignore_words(filename, ignore_words): - with codecs.open(filename, mode='r', encoding='utf-8') as f: +def build_ignore_words(filename: str, ignore_words: Set[str]) -> None: + with open(filename, encoding="utf-8") as f: for line in f: ignore_words.add(line.strip()) -def build_dict(filename, misspellings, ignore_words): - with codecs.open(filename, mode='r', encoding='utf-8') as f: +def build_dict( + filename: str, + misspellings: Dict[str, Misspelling], + ignore_words: Set[str], +) -> None: + with open(filename, encoding="utf-8") as f: for line in f: - [key, data] = line.split('->') + [key, data] = line.split("->") # TODO for now, convert both to lower. Someday we can maybe add # support for fixing caps. key = key.lower() @@ -481,41 +639,40 @@ def build_dict(filename, misspellings, ignore_words): if key in ignore_words: continue data = data.strip() - fix = data.rfind(',') + fix = data.rfind(",") if fix < 0: fix = True - reason = '' + reason = "" elif fix == (len(data) - 1): data = data[:fix] - reason = '' + reason = "" fix = False else: - reason = data[fix + 1:].strip() + reason = data[fix + 1 :].strip() data = data[:fix] fix = False misspellings[key] = Misspelling(data, fix, reason) -def is_hidden(filename, check_hidden): +def is_hidden(filename: str, check_hidden: bool) -> bool: bfilename = os.path.basename(filename) - return bfilename not in ('', '.', '..') and \ - (not check_hidden and bfilename[0] == '.') + return bfilename not in ("", ".", "..") and ( + not check_hidden and bfilename[0] == "." + ) -def is_text_file(filename): - with open(filename, mode='rb') as f: +def is_text_file(filename: str) -> bool: + with open(filename, mode="rb") as f: s = f.read(1024) - if b'\x00' in s: - return False - return True + return b"\x00" not in s -def fix_case(word, fixword): +def fix_case(word: str, fixword: str) -> str: if word == word.capitalize(): - return ', '.join(w.strip().capitalize() for w in fixword.split(',')) + return ", ".join(w.strip().capitalize() for w in fixword.split(",")) elif word == word.upper(): return fixword.upper() # they are both lower case @@ -523,47 +680,58 @@ def fix_case(word, fixword): return fixword -def ask_for_word_fix(line, wrongword, misspelling, interactivity): +def ask_for_word_fix( + line: str, + match: Match[str], + misspelling: Misspelling, + interactivity: int, + colors: TermColors, +) -> Tuple[bool, str]: + wrongword = match.group() if interactivity <= 0: return misspelling.fix, fix_case(wrongword, misspelling.data) + line_ui = ( + f"{line[:match.start()]}" + f"{colors.WWORD}{wrongword}{colors.DISABLE}" + f"{line[match.end():]}" + ) + if misspelling.fix and interactivity & 1: - r = '' + r = "" fixword = fix_case(wrongword, misspelling.data) while not r: - print("%s\t%s ==> %s (Y/n) " % (line, wrongword, fixword), end='') + print(f"{line_ui}\t{wrongword} ==> {fixword} (Y/n) ", end="", flush=True) r = sys.stdin.readline().strip().upper() if not r: - r = 'Y' - if r != 'Y' and r != 'N': + r = "Y" + if r not in ("Y", "N"): print("Say 'y' or 'n'") - r = '' + r = "" - if r == 'N': + if r == "N": misspelling.fix = False - misspelling.fixword = '' elif (interactivity & 2) and not misspelling.reason: # if it is not disabled, i.e. it just has more than one possible fix, # we ask the user which word to use - r = '' - opt = [w.strip() for w in misspelling.data.split(',')] + r = "" + opt = [w.strip() for w in misspelling.data.split(",")] while not r: - print("%s Choose an option (blank for none): " % line, end='') - for i in range(len(opt)): - fixword = fix_case(wrongword, opt[i]) - print(" %d) %s" % (i, fixword), end='') - print(": ", end='') - sys.stdout.flush() + print(f"{line_ui} Choose an option (blank for none): ", end="") + for i, o in enumerate(opt): + fixword = fix_case(wrongword, o) + print(f" {i}) {fixword}", end="") + print(": ", end="", flush=True) n = sys.stdin.readline().strip() if not n: break try: - n = int(n) - r = opt[n] + i = int(n) + r = opt[i] except (ValueError, IndexError): print("Not a valid option\n") @@ -574,39 +742,83 @@ def ask_for_word_fix(line, wrongword, misspelling, interactivity): return misspelling.fix, fix_case(wrongword, misspelling.data) -def print_context(lines, index, context): +def print_context( + lines: List[str], + index: int, + context: Tuple[int, int], +) -> None: # context = (context_before, context_after) for i in range(index - context[0], index + context[1] + 1): if 0 <= i < len(lines): - print('%s %s' % ('>' if i == index else ':', lines[i].rstrip())) + print("{} {}".format(">" if i == index else ":", lines[i].rstrip())) -def extract_words(text, word_regex, ignore_word_regex): +def _ignore_word_sub( + text: str, + ignore_word_regex: Optional[Pattern[str]], +) -> str: if ignore_word_regex: - text = ignore_word_regex.sub(' ', text) - return word_regex.findall(text) - - -def apply_uri_ignore_words(check_words, line, word_regex, ignore_word_regex, - uri_regex, uri_ignore_words): + text = ignore_word_regex.sub(" ", text) + return text + + +def extract_words( + text: str, + word_regex: Pattern[str], + ignore_word_regex: Optional[Pattern[str]], +) -> List[str]: + return word_regex.findall(_ignore_word_sub(text, ignore_word_regex)) + + +def extract_words_iter( + text: str, + word_regex: Pattern[str], + ignore_word_regex: Optional[Pattern[str]], +) -> List[Match[str]]: + return list(word_regex.finditer(_ignore_word_sub(text, ignore_word_regex))) + + +def apply_uri_ignore_words( + check_matches: List[Match[str]], + line: str, + word_regex: Pattern[str], + ignore_word_regex: Optional[Pattern[str]], + uri_regex: Pattern[str], + uri_ignore_words: Set[str], +) -> List[Match[str]]: if not uri_ignore_words: - return + return check_matches for uri in re.findall(uri_regex, line): - for uri_word in extract_words(uri, word_regex, - ignore_word_regex): + for uri_word in extract_words(uri, word_regex, ignore_word_regex): if uri_word in uri_ignore_words: - check_words.remove(uri_word) - - -def parse_file(filename, colors, summary, misspellings, exclude_lines, - file_opener, word_regex, ignore_word_regex, uri_regex, - uri_ignore_words, context, options): + # determine/remove only the first among matches + for i, match in enumerate(check_matches): + if match.group() == uri_word: + check_matches = check_matches[:i] + check_matches[i + 1 :] + break + return check_matches + + +def parse_file( + filename: str, + colors: TermColors, + summary: Optional[Summary], + misspellings: Dict[str, Misspelling], + exclude_lines: Set[str], + file_opener: FileOpener, + word_regex: Pattern[str], + ignore_word_regex: Optional[Pattern[str]], + uri_regex: Pattern[str], + uri_ignore_words: Set[str], + context: Optional[Tuple[int, int]], + options: argparse.Namespace, +) -> int: bad_count = 0 lines = None changed = False encoding = encodings[0] # if not defined, use UTF-8 - if filename == '-': + if filename == "-": f = sys.stdin lines = f.readlines() else: @@ -621,41 +833,43 @@ def parse_file(filename, colors, summary, misspellings, exclude_lines, if summary and fix: summary.update(lword) - cfilename = "%s%s%s" % (colors.FILE, filename, colors.DISABLE) - cwrongword = "%s%s%s" % (colors.WWORD, word, colors.DISABLE) - crightword = "%s%s%s" % (colors.FWORD, fixword, colors.DISABLE) + cfilename = f"{colors.FILE}{filename}{colors.DISABLE}" + cwrongword = f"{colors.WWORD}{word}{colors.DISABLE}" + crightword = f"{colors.FWORD}{fixword}{colors.DISABLE}" - if misspellings[lword].reason: + reason = misspellings[lword].reason + if reason: if options.quiet_level & QuietLevels.DISABLED_FIXES: continue - creason = " | %s%s%s" % (colors.FILE, - misspellings[lword].reason, - colors.DISABLE) + creason = f" | {colors.FILE}{reason}{colors.DISABLE}" else: if options.quiet_level & QuietLevels.NON_AUTOMATIC_FIXES: continue - creason = '' + creason = "" bad_count += 1 - print("%(FILENAME)s: %(WRONGWORD)s" - " ==> %(RIGHTWORD)s%(REASON)s" - % {'FILENAME': cfilename, - 'WRONGWORD': cwrongword, - 'RIGHTWORD': crightword, 'REASON': creason}) + print(f"{cfilename}: {cwrongword} ==> {crightword}{creason}") # ignore irregular files if not os.path.isfile(filename): return bad_count - text = is_text_file(filename) + try: + text = is_text_file(filename) + except PermissionError as e: + print(f"WARNING: {e.strerror}: {filename}", file=sys.stderr) + return bad_count + except OSError: + return bad_count + if not text: if not options.quiet_level & QuietLevels.BINARY_FILE: - print("WARNING: Binary file: %s" % filename, file=sys.stderr) + print(f"WARNING: Binary file: {filename}", file=sys.stderr) return bad_count try: lines, encoding = file_opener.open(filename) - except Exception: + except OSError: return bad_count for i, line in enumerate(lines): @@ -670,14 +884,19 @@ def parse_file(filename, colors, summary, misspellings, exclude_lines, # This ensures that if a URI ignore word occurs both inside a URI and # outside, it will still be a spelling error. if "*" in uri_ignore_words: - line = uri_regex.sub(' ', line) - check_words = extract_words(line, word_regex, ignore_word_regex) + line = uri_regex.sub(" ", line) + check_matches = extract_words_iter(line, word_regex, ignore_word_regex) if "*" not in uri_ignore_words: - apply_uri_ignore_words(check_words, line, word_regex, - ignore_word_regex, uri_regex, - uri_ignore_words) - - for word in check_words: + check_matches = apply_uri_ignore_words( + check_matches, + line, + word_regex, + ignore_word_regex, + uri_regex, + uri_ignore_words, + ) + for match in check_matches: + word = match.group() lword = word.lower() if lword in misspellings: context_shown = False @@ -689,8 +908,12 @@ def parse_file(filename, colors, summary, misspellings, exclude_lines, context_shown = True print_context(lines, i, context) fix, fixword = ask_for_word_fix( - lines[i], word, misspellings[lword], - options.interactive) + lines[i], + match, + misspellings[lword], + options.interactive, + colors=colors, + ) asked_for.add(lword) if summary and fix: @@ -701,32 +924,32 @@ def parse_file(filename, colors, summary, misspellings, exclude_lines, if options.write_changes and fix: changed = True - lines[i] = re.sub(r'\b%s\b' % word, fixword, lines[i]) + lines[i] = re.sub(r"\b%s\b" % word, fixword, lines[i]) fixed_words.add(word) continue # otherwise warning was explicitly set by interactive mode - if (options.interactive & 2 and not fix and not - misspellings[lword].reason): + if ( + options.interactive & 2 + and not fix + and not misspellings[lword].reason + ): continue - cfilename = "%s%s%s" % (colors.FILE, filename, colors.DISABLE) - cline = "%s%d%s" % (colors.FILE, i + 1, colors.DISABLE) - cwrongword = "%s%s%s" % (colors.WWORD, word, colors.DISABLE) - crightword = "%s%s%s" % (colors.FWORD, fixword, colors.DISABLE) + cfilename = f"{colors.FILE}{filename}{colors.DISABLE}" + cline = f"{colors.FILE}{i + 1}{colors.DISABLE}" + cwrongword = f"{colors.WWORD}{word}{colors.DISABLE}" + crightword = f"{colors.FWORD}{fixword}{colors.DISABLE}" - if misspellings[lword].reason: + reason = misspellings[lword].reason + if reason: if options.quiet_level & QuietLevels.DISABLED_FIXES: continue - - creason = " | %s%s%s" % (colors.FILE, - misspellings[lword].reason, - colors.DISABLE) + creason = f" | {colors.FILE}{reason}{colors.DISABLE}" else: if options.quiet_level & QuietLevels.NON_AUTOMATIC_FIXES: continue - - creason = '' + creason = "" # If we get to this point (uncorrected error) we should change # our bad_count and thus return value @@ -734,63 +957,72 @@ def parse_file(filename, colors, summary, misspellings, exclude_lines, if (not context_shown) and (context is not None): print_context(lines, i, context) - if filename != '-': - print("%(FILENAME)s:%(LINE)s: %(WRONGWORD)s " - "==> %(RIGHTWORD)s%(REASON)s" - % {'FILENAME': cfilename, 'LINE': cline, - 'WRONGWORD': cwrongword, - 'RIGHTWORD': crightword, 'REASON': creason}) + if filename != "-": + print( + f"{cfilename}:{cline}: {cwrongword} " + f"==> {crightword}{creason}" + ) else: - print("%(LINE)s: %(STRLINE)s\n\t%(WRONGWORD)s " - "==> %(RIGHTWORD)s%(REASON)s" - % {'LINE': cline, 'STRLINE': line.strip(), - 'WRONGWORD': cwrongword, - 'RIGHTWORD': crightword, 'REASON': creason}) + print( + f"{cline}: {line.strip()}\n\t{cwrongword} " + f"==> {crightword}{creason}" + ) if changed: - if filename == '-': + if filename == "-": print("---") for line in lines: - print(line, end='') + print(line, end="") else: if not options.quiet_level & QuietLevels.FIXES: - print("%sFIXED:%s %s" - % (colors.FWORD, colors.DISABLE, filename), - file=sys.stderr) - with codecs.open(filename, 'w', encoding=encoding) as f: + print( + f"{colors.FWORD}FIXED:{colors.DISABLE} {filename}", + file=sys.stderr, + ) + with open(filename, "w", encoding=encoding, newline="") as f: f.writelines(lines) return bad_count -def _script_main(): +def _script_main() -> int: """Wrap to main() for setuptools.""" return main(*sys.argv[1:]) -def main(*args): +def main(*args: str) -> int: """Contains flow control""" - options, parser = parse_options(args) + options, parser, used_cfg_files = parse_options(args) + + # Report used config files + if not options.quiet_level & QuietLevels.CONFIG_FILES: + if len(used_cfg_files) > 0: + print("Used config files:") + for ifile, cfg_file in enumerate(used_cfg_files, start=1): + print(f" {ifile}: {cfg_file}") if options.regex and options.write_changes: - print("ERROR: --write-changes cannot be used together with " - "--regex", file=sys.stderr) + print( + "ERROR: --write-changes cannot be used together with --regex", + file=sys.stderr, + ) parser.print_help() return EX_USAGE word_regex = options.regex or word_regex_def try: word_regex = re.compile(word_regex) - except re.error as err: - print("ERROR: invalid --regex \"%s\" (%s)" % - (word_regex, err), file=sys.stderr) + except re.error as e: + print(f'ERROR: invalid --regex "{word_regex}" ({e})', file=sys.stderr) parser.print_help() return EX_USAGE if options.ignore_regex: try: ignore_word_regex = re.compile(options.ignore_regex) - except re.error as err: - print("ERROR: invalid --ignore-regex \"%s\" (%s)" % - (options.ignore_regex, err), file=sys.stderr) + except re.error as e: + print( + f'ERROR: invalid --ignore-regex "{options.ignore_regex}" ({e})', + file=sys.stderr, + ) parser.print_help() return EX_USAGE else: @@ -800,8 +1032,10 @@ def main(*args): ignore_words = parse_ignore_words_option(options.ignore_words_list) for ignore_words_file in ignore_words_files: if not os.path.isfile(ignore_words_file): - print("ERROR: cannot find ignore-words file: %s" % - ignore_words_file, file=sys.stderr) + print( + f"ERROR: cannot find ignore-words file: {ignore_words_file}", + file=sys.stderr, + ) parser.print_help() return EX_USAGE build_ignore_words(ignore_words_file, ignore_words) @@ -809,9 +1043,11 @@ def main(*args): uri_regex = options.uri_regex or uri_regex_def try: uri_regex = re.compile(uri_regex) - except re.error as err: - print("ERROR: invalid --uri-regex \"%s\" (%s)" % - (uri_regex, err), file=sys.stderr) + except re.error as e: + print( + f'ERROR: invalid --uri-regex "{uri_regex}" ({e})', + file=sys.stderr, + ) parser.print_help() return EX_USAGE uri_ignore_words = parse_ignore_words_option(options.uri_ignore_words_list) @@ -819,36 +1055,40 @@ def main(*args): if options.dictionary: dictionaries = options.dictionary else: - dictionaries = ['-'] - use_dictionaries = list() + dictionaries = ["-"] + use_dictionaries = [] for dictionary in dictionaries: if dictionary == "-": # figure out which builtin dictionaries to use - use = sorted(set(options.builtin.split(','))) + use = sorted(set(options.builtin.split(","))) for u in use: for builtin in _builtin_dictionaries: if builtin[0] == u: use_dictionaries.append( - os.path.join(_data_root, 'dictionary%s.txt' - % (builtin[2],))) + os.path.join(_data_root, f"dictionary{builtin[2]}.txt") + ) break else: - print("ERROR: Unknown builtin dictionary: %s" % (u,), - file=sys.stderr) + print( + f"ERROR: Unknown builtin dictionary: {u}", + file=sys.stderr, + ) parser.print_help() return EX_USAGE else: if not os.path.isfile(dictionary): - print("ERROR: cannot find dictionary file: %s" % dictionary, - file=sys.stderr) + print( + f"ERROR: cannot find dictionary file: {dictionary}", + file=sys.stderr, + ) parser.print_help() return EX_USAGE use_dictionaries.append(dictionary) - misspellings = dict() + misspellings: Dict[str, Misspelling] = {} for dictionary in use_dictionaries: build_dict(dictionary, misspellings, ignore_words) colors = TermColors() - if not options.colors or sys.platform == 'win32': + if not options.colors or sys.platform == "win32": colors.disable() if options.summary: @@ -858,17 +1098,17 @@ def main(*args): context = None if options.context is not None: - if (options.before_context is not None) or \ - (options.after_context is not None): - print("ERROR: --context/-C cannot be used together with " - "--context-before/-B or --context-after/-A", - file=sys.stderr) + if (options.before_context is not None) or (options.after_context is not None): + print( + "ERROR: --context/-C cannot be used together with " + "--context-before/-B or --context-after/-A", + file=sys.stderr, + ) parser.print_help() return EX_USAGE context_both = max(0, options.context) context = (context_both, context_both) - elif (options.before_context is not None) or \ - (options.after_context is not None): + elif (options.before_context is not None) or (options.after_context is not None): context_before = 0 context_after = 0 if options.before_context is not None: @@ -877,13 +1117,22 @@ def main(*args): context_after = max(0, options.after_context) context = (context_before, context_after) - exclude_lines = set() + exclude_lines: Set[str] = set() if options.exclude_file: build_exclude_hashes(options.exclude_file, exclude_lines) - file_opener = FileOpener(options.hard_encoding_detection, - options.quiet_level) + file_opener = FileOpener(options.hard_encoding_detection, options.quiet_level) + glob_match = GlobMatch(options.skip) + try: + glob_match.match("/random/path") # does not need a real path + except re.error: + print( + "ERROR: --skip/-S has been fed an invalid glob, " + "try escaping special characters", + file=sys.stderr, + ) + return EX_USAGE bad_count = 0 for filename in options.files: @@ -908,18 +1157,38 @@ def main(*args): if glob_match.match(fname): # skip paths continue bad_count += parse_file( - fname, colors, summary, misspellings, exclude_lines, - file_opener, word_regex, ignore_word_regex, uri_regex, - uri_ignore_words, context, options) + fname, + colors, + summary, + misspellings, + exclude_lines, + file_opener, + word_regex, + ignore_word_regex, + uri_regex, + uri_ignore_words, + context, + options, + ) # skip (relative) directories dirs[:] = [dir_ for dir_ in dirs if not glob_match.match(dir_)] elif not glob_match.match(filename): # skip files bad_count += parse_file( - filename, colors, summary, misspellings, exclude_lines, - file_opener, word_regex, ignore_word_regex, uri_regex, - uri_ignore_words, context, options) + filename, + colors, + summary, + misspellings, + exclude_lines, + file_opener, + word_regex, + ignore_word_regex, + uri_regex, + uri_ignore_words, + context, + options, + ) if summary: print("\n-------8<-------\nSUMMARY:") diff --git a/codespell_lib/data/dictionary.txt b/codespell_lib/data/dictionary.txt index 7344e20015..c2ae16045c 100644 --- a/codespell_lib/data/dictionary.txt +++ b/codespell_lib/data/dictionary.txt @@ -2,12 +2,14 @@ 2rd->2nd 2st->2nd 3nd->3rd +3rt->3rd 3st->3rd 4rd->4th a-diaerers->a-diaereses aaccess->access aaccessibility->accessibility aaccession->accession +aache->cache, ache, aack->ack aactual->actual aactually->actually @@ -22,6 +24,9 @@ aaproximately->approximately aaproximates->approximates aaproximating->approximating aare->are +aassign->assign +aassignment->assignment +aassignments->assignments aassociated->associated aassumed->assumed aautomatic->automatic @@ -43,6 +48,7 @@ abborting->aborting abborts->aborts, abbots, abbout->about, abbot, abbrevate->abbreviate +abbrevated->abbreviated abbrevation->abbreviation abbrevations->abbreviations abbreviaton->abbreviation @@ -56,12 +62,14 @@ abiguity->ambiguity abilityes->abilities abilties->abilities abilty->ability +abiove->above abiss->abyss abitrarily->arbitrarily abitrary->arbitrary abitrate->arbitrate abitration->arbitration abizmal->abysmal +abliity->ability abnoramlly->abnormally abnormalty->abnormally abnormaly->abnormally @@ -238,6 +246,8 @@ abtractor->abstractor abtracts->abstracts abudance->abundance abudances->abundances +abundace->abundance +abundaces->abundances abundacies->abundances abundancies->abundances abundand->abundant @@ -291,6 +301,7 @@ accees->access acceess->access accelarate->accelerate accelaration->acceleration +accelarator->accelerator accelarete->accelerate accelearion->acceleration accelearte->accelerate @@ -319,6 +330,7 @@ accepeted->accepted acceppt->accept acceptence->acceptance acceptible->acceptable +acceptibly->acceptably acceptted->accepted acces->access accesed->accessed @@ -351,6 +363,8 @@ accessiiblity->accessibility accessile->accessible accessintg->accessing accessisble->accessible +accessment->assessment +accessments->assessments accessoire->accessory accessoires->accessories, accessorise, accessoirez->accessorize, accessories, @@ -363,6 +377,8 @@ accesssiiblity->accessibility accesssing->accessing accesssor->accessor accesssors->accessors +accestor->ancestor, accessor, +accestors->ancestors, accessors, accet->accept accetable->acceptable accets->accepts @@ -455,6 +471,7 @@ accordeon->accordion accordian->accordion accordign->according accordiingly->accordingly +accordin->according accordinag->according accordind->according accordinly->accordingly @@ -497,7 +514,6 @@ accrdingly->accordingly accrediation->accreditation accredidation->accreditation accress->access -accreting->accrediting accroding->according accrodingly->accordingly accronym->acronym @@ -511,6 +527,7 @@ accss->access accssible->accessible accssor->accessor acctual->actual +accually->actually accuarcy->accuracy accuarte->accurate accuartely->accurately @@ -573,6 +590,14 @@ acessible->accessible acessing->accessing acessor->accessor acessors->accessors, accessor, +acheevable->achievable +acheeve->achieve +acheeved->achieved +acheevement->achievement +acheevements->achievements +acheeves->achieves +acheeving->achieving +acheivable->achievable acheive->achieve acheived->achieved acheivement->achievement @@ -661,18 +686,28 @@ acomplishments->accomplishments acontiguous->a contiguous acoording->according acoordingly->accordingly +acoostic->acoustic +acordian->accordion +acordians->accordions acording->according acordingly->accordingly acordinng->according +acordion->accordion +acordions->accordions acorss->across acorting->according acount->account acounts->accounts acquaintence->acquaintance acquaintences->acquaintances +acqueus->aqueous acquiantence->acquaintance acquiantences->acquaintances acquiesence->acquiescence +acquiess->acquiesce +acquiessed->acquiesced +acquiesses->acquiesces +acquiessing->acquiescing acquisiton->acquisition acquisitons->acquisitions acquited->acquitted @@ -687,8 +722,10 @@ acqusitions->acquisitions acrage->acreage acroos->across acrosss->across +acrost->across acrue->accrue acrued->accrued +acryllic->acrylic acses->cases, access, acssume->assume acssumed->assumed @@ -721,6 +758,7 @@ activete->activate activeted->activated activetes->activates activiate->activate +activies->activities activites->activities activiti->activity, activities, activitis->activities @@ -736,6 +774,7 @@ activties->activities activtion->activation activty->activity activw->active +activy->activity actove->active actuaal->actual actuaally->actually @@ -755,6 +794,7 @@ actural->actual acturally->actually actusally->actually actve->active +actvie->active actzal->actual acual->actual acually->actually @@ -776,6 +816,8 @@ acustommed->accustomed acutal->actual acutally->actually acutual->actual +adament->adamant +adamently->adamantly adapated->adapted adapater->adapter adapaters->adapters @@ -795,6 +837,8 @@ adaptibe->adaptive adaptove->adaptive, adoptive, adaquate->adequate adaquately->adequately +adaquit->adequate +adaquitly->adequately adatper->adapter adatpers->adapters adavance->advance @@ -809,6 +853,7 @@ addapts->adapts addd->add addded->added addding->adding +addditional->additional adddress->address adddresses->addresses addds->adds @@ -862,9 +907,13 @@ addjusting->adjusting addjusts->adjusts addmission->admission addmit->admit +addno->addon, add no, +addnos->addons +addonts->addons addopt->adopt addopted->adopted addoptive->adoptive, adaptive, +addos->addons addpress->address addrass->address addrees->address @@ -883,10 +932,13 @@ addres->address addresable->addressable addresed->addressed addreses->addresses +addresesd->addressed addresess->addresses addresing->addressing addresse->addresses, address, addressess->addresses +addressibility->addressability +addressible->addressable addressings->addressing addresss->address addresssed->addressed @@ -905,9 +957,19 @@ addtitional->additional adecuate->adequate aded->added adequit->adequate +adevnture->adventure +adevntured->adventured +adevnturer->adventurer +adevnturers->adventurers +adevntures->adventures +adevnturing->adventuring +adew->adieu +adfter->after adge->edge, badge, adage, adges->edges, badges, adages, adhearing->adhering +adheasive->adhesive +adheasives->adhesives adherance->adherence adiacent->adjacent adiditon->addition @@ -923,20 +985,30 @@ adivsories->advisories adivsoriy->advisory, advisories, adivsoriyes->advisories adivsory->advisory +adjacancy->adjacency adjacentcy->adjacency, adjacence, adjacentsy->adjacency adjactend->adjacent adjancent->adjacent +adjasant->adjacent +adjasantly->adjacently adjascent->adjacent +adjascently->adjacently adjasence->adjacence adjasencies->adjacencies adjasensy->adjacency adjasent->adjacent adjast->adjust +adjatate->agitate +adjatated->agitated +adjatates->agitates +adjatating->agitating +adjative->adjective adjcence->adjacence adjcencies->adjacencies adjcent->adjacent adjcentcy->adjacency +adjecent->adjacent adjency->agency, adjacency, adjsence->adjacence adjsencies->adjacencies @@ -945,6 +1017,7 @@ adjuscent->adjacent adjusment->adjustment adjustement->adjustment adjustements->adjustments +adjustes->adjusted, adjusts, adjustificat->justification adjustification->justification adjustmant->adjustment @@ -1023,6 +1096,8 @@ advaned->advanced advantagous->advantageous advanved->advanced adventages->advantages +adventagous->advantageous +adventagously->advantageously adventrous->adventurous adverised->advertised advertice->advertise @@ -1036,7 +1111,9 @@ advertized->advertised advertizes->advertises advesary->adversary advetise->advertise +advicable->advisable adviced->advised +advicing->advising adviseable->advisable advisoriy->advisory, advisories, advisoriyes->advisories @@ -1061,6 +1138,7 @@ afetr->after affact->affect, effect, affecfted->affected affekt->affect, effect, +afficianado->aficionado afficianados->aficionados afficionado->aficionado afficionados->aficionados @@ -1083,12 +1161,14 @@ affort->afford, effort, affortable->affordable afforts->affords affraid->afraid +affter->after afinity->affinity afor->for aforememtioned->aforementioned aforementiond->aforementioned aforementionned->aforementioned aformentioned->aforementioned +afrer->after afterall->after all afterw->after afther->after, father, @@ -1109,6 +1189,7 @@ agant->agent agants->agents, against, aggaravates->aggravates aggegate->aggregate +aggenst->against aggessive->aggressive aggessively->aggressively agggregate->aggregate @@ -1133,6 +1214,10 @@ aggresive->aggressive aggresively->aggressively aggrevate->aggravate aggrgate->aggregate +aggrivate->aggravate +aggrivated->aggravated +aggrivates->aggravates +aggrivating->aggravating agian->again agianst->against agin->again @@ -1142,6 +1227,10 @@ aglorithm->algorithm aglorithms->algorithms agorithm->algorithm agrain->again +agrandize->aggrandize +agrandized->aggrandized +agrandizes->aggrandizes +agrandizing->aggrandizing agravate->aggravate agre->agree agred->agreed @@ -1163,6 +1252,9 @@ agressiveness->aggressiveness agressivity->aggressivity agressor->aggressor agresssive->aggressive +agresssively->aggressively +agrgressive->aggressive +agrgressively->aggressively agrgument->argument agrguments->arguments agricultue->agriculture @@ -1172,14 +1264,19 @@ agrieved->aggrieved agrresive->aggressive agrument->argument agruments->arguments +ags->tags, ages, agsinst->against agument->argument agumented->augmented aguments->arguments aheared->adhered +ahed->ahead +ahere->here, adhere, ahev->have ahlpa->alpha ahlpas->alphas +ahmond->almond +ahmonds->almonds ahppen->happen ahve->have aicraft->aircraft @@ -1270,6 +1367,10 @@ aleviate->alleviate aleviates->alleviates aleviating->alleviating alevt->alert +alforithm->algorithm +alforithmic->algorithmic +alforithmically->algorithmically +alforithms->algorithms algebraical->algebraic algebric->algebraic algebrra->algebra @@ -1489,6 +1590,12 @@ alhapetically->alphabetically alhapeticaly->alphabetically alhapets->alphabets alhough->although +alhpa->alpha +alhpabet->alphabet +alhpabetical->alphabetical +alhpabetically->alphabetically +alhpabeticaly->alphabetically +alhpabets->alphabets aliagn->align aliasas->aliases aliase->aliases, alias, @@ -1535,6 +1642,8 @@ alingment->alignment alings->aligns, slings, alinment->alignment alinments->alignments +alis->alias, alas, axis, alms, +alisas->alias, aliases, alising->aliasing aliver->alive, liver, a liver, sliver, allcate->allocate @@ -1584,6 +1693,7 @@ alllow->allow alllowed->allowed alllows->allows allmost->almost +allo->allow alloacate->allocate alloate->allocate, allotted, allot, alloated->allocated, allotted, @@ -1714,6 +1824,7 @@ alphapeticaly->alphabetically alrady->already alraedy->already alread->already +alreadh->already alreadly->already alreadt->already alreasy->already @@ -1729,29 +1840,36 @@ alrteady->already als->also alse->also, else, false, alsmost->almost +alsoneeds->also needs alsot->also alsready->already altenative->alternative alterated->altered alterately->alternately alterative->alternative +alteratively->alternatively alteratives->alternatives alterior->ulterior alternaive->alternative +alternaively->alternatively alternaives->alternatives alternarive->alternative +alternarively->alternatively alternarives->alternatives alternatie->alternative, alternate, alternatiely->alternatively, alternately, alternaties->alternatives, alternates, alternatievly->alternatively alternativey->alternatively +alternativley->alternatively alternativly->alternatively alternatve->alternative alternavtely->alternatively alternavtive->alternative +alternavtively->alternatively alternavtives->alternatives alternetive->alternative +alternetively->alternatively alternetives->alternatives alternitive->alternative alternitively->alternatively @@ -1759,6 +1877,8 @@ alternitiveness->alternativeness alternitives->alternatives alternitivly->alternatively altetnative->alternative +altetnatively->alternatively +altetnatives->alternatives altho->although althogh->although althorithm->algorithm @@ -1794,11 +1914,28 @@ alyways->always amacing->amazing amacingly->amazingly amalgomated->amalgamated +amalgum->amalgam +amalgums->amalgams amatuer->amateur +amatuers->amateurs +amatur->amateur amature->armature, amateur, +amaturs->amateurs amazaing->amazing +ambadexterous->ambidextrous +ambadexterouseness->ambidextrousness +ambadexterously->ambidextrously +ambadexterousness->ambidextrousness +ambadextrous->ambidextrous +ambadextrouseness->ambidextrousness +ambadextrously->ambidextrously +ambadextrousness->ambidextrousness ambedded->embedded ambibuity->ambiguity +ambidexterous->ambidextrous +ambidexterouseness->ambidextrousness +ambidexterously->ambidextrously +ambidexterousness->ambidextrousness ambien->ambient ambigious->ambiguous ambigous->ambiguous @@ -1810,11 +1947,49 @@ ambuguity->ambiguity ambulence->ambulance ambulences->ambulances amdgput->amdgpu +amealearate->ameliorate +amealearated->ameliorated +amealearates->ameliorates +amealearating->ameliorating +amealearative->ameliorative +amealearator->ameliorator +amealiarate->ameliorate +amealiarated->ameliorated +amealiarates->ameliorates +amealiarating->ameliorating +amealiarative->ameliorative +amealiarator->ameliorator +ameba->amoebae +amebae->amoebae +amebas->amoebae +ameelarate->ameliorate +ameelarated->ameliorated +ameelarates->ameliorates +ameelarating->ameliorating +ameelarative->ameliorative +ameelarator->ameliorator +ameeliarate->ameliorate +ameeliarated->ameliorated +ameeliarates->ameliorates +ameeliarating->ameliorating +ameeliarative->ameliorative +ameeliarator->ameliorator +amelearate->ameliorate +amelearated->ameliorated +amelearates->ameliorates +amelearating->ameliorating +amelearative->ameliorative +amelearator->ameliorator amendement->amendment amendmant->amendment amened->amended, amend, Amercia->America amerliorate->ameliorate +amerliorated->ameliorated +amerliorates->ameliorates +amerliorating->ameliorating +amerliorative->ameliorative +amerliorator->ameliorator amgle->angle amgles->angles amiguous->ambiguous @@ -1836,6 +2011,7 @@ ammused->amused amny->many amongs->among amonst->amongst +amont->among, amount, amonut->amount amound->amount amounds->amounts @@ -1845,8 +2021,14 @@ amout->amount amoutn->amount amoutns->amounts amouts->amounts +ampatheater->amphitheater +ampatheaters->amphitheaters amperstands->ampersands amphasis->emphasis +amphatheater->amphitheater +amphatheaters->amphitheaters +ampitheater->amphitheater +ampitheaters->amphitheaters amplifer->amplifier amplifyer->amplifier amplitud->amplitude @@ -1866,6 +2048,7 @@ analiser->analyser analises->analysis, analyses, analising->analysing analisis->analysis +analisys->analysis analitic->analytic analitical->analytical analitically->analytically @@ -1897,6 +2080,8 @@ analyer->analyser, analyzer, analyers->analysers, analyzers, analyes->analyses, analyzes, analyse, analyze, analyis->analysis +analyist->analyst +analyists->analysts analysator->analyser analysies->analyses, analysis, analysus->analysis @@ -1914,15 +2099,26 @@ analzyes->analyzes analzying->analyzing ananlog->analog anarchim->anarchism -anarchistm->anarchism +anarchistm->anarchism, anarchist, +anarchit->anarchist +anarchits->anarchists +anarkist->anarchist +anarkistic->anarchistic +anarkists->anarchists anarquism->anarchism anarquist->anarchist +anarquistic->anarchistic +anarquists->anarchists anaylse->analyse anaylsed->analysed anaylser->analyser anaylses->analyses anaylsis->analysis anaylsises->analysises +anayltic->analytic +anayltical->analytical +anayltically->analytically +anayltics->analytics anaylze->analyze anaylzed->analyzed anaylzer->analyzer @@ -1938,6 +2134,7 @@ ancesetors->ancestors ancester->ancestor ancesteres->ancestors ancesters->ancestors +ancestoral->ancestral ancestore->ancestor ancestores->ancestors ancestory->ancestry @@ -1948,17 +2145,45 @@ ancilliary->ancillary andd->and andlers->handlers, antlers, andoid->android +andoids->androids andorid->android +andorids->androids +andriod->android +andriods->androids androgenous->androgynous androgeny->androgyny androidextra->androidextras -androind->Android +androind->android +androinds->androids andthe->and the ane->and +aneel->anneal +aneeled->annealed +aneeling->annealing +aneels->anneals anevironment->environment anevironments->environments angluar->angular +angshios->anxious +angshiosly->anxiously +angshiosness->anxiousness +angshis->anxious +angshisly->anxiously +angshisness->anxiousness +angshiuos->anxious +angshiuosly->anxiously +angshiuosness->anxiousness +angshus->anxious +angshusly->anxiously +angshusness->anxiousness +anguage->language +anguluar->angular +angziety->anxiety anhoter->another +anialate->annihilate +anialated->annihilated +anialates->annihilates +anialating->annihilating anid->and anihilation->annihilation animaing->animating @@ -1977,6 +2202,7 @@ animeted->animated animetion->animation animetions->animations animets->animates +animonee->anemone animore->anymore aninate->animate anination->animation @@ -1990,10 +2216,27 @@ anitrez->antirez aniversary->anniversary aniway->anyway aniwhere->anywhere +anjanew->ingenue +ankshios->anxious +ankshiosly->anxiously +ankshiosness->anxiousness +ankshis->anxious +ankshisly->anxiously +ankshisness->anxiousness +ankshiuos->anxious +ankshiuosly->anxiously +ankshiuosness->anxiousness +ankshus->anxious +ankshusly->anxiously +ankshusness->anxiousness anlge->angle anly->only, any, anlysis->analysis anlyzing->analyzing +anme->name, anime, +annaverseries->anniversaries +annaversery->anniversary +annaverserys->anniversaries annay->annoy, any, annayed->annoyed annaying->annoying @@ -2016,7 +2259,11 @@ annoncement->announcement annoncements->announcements annonces->announces annoncing->announcing +annonomus->anonymous +annonomusally->anonymously +annonomusly->anonymously annonymous->anonymous +annonymously->anonymously annotaion->annotation annotaions->annotations annoted->annotated @@ -2024,6 +2271,7 @@ annother->another annouce->announce annouced->announced annoucement->announcement +annoucements->announcements annouces->announces annoucing->announcing annouing->annoying @@ -2032,7 +2280,12 @@ announcments->announcements announed->announced announement->announcement announements->announcements +annoyence->annoyance +annoyences->annoyances annoymous->anonymous +annoyn->annoy, annoying, +annoyning->annoying +annoyningly->annoyingly annoyying->annoying annualy->annually annuled->annulled @@ -2040,11 +2293,18 @@ annyoingly->annoyingly anoher->another anohter->another anologon->analogon +anologous->analogous anomally->anomaly +anomolee->anomaly anomolies->anomalies anomolous->anomalous anomoly->anomaly anonimity->anonymity +anonimus->anonymous +anonimusally->anonymously +anonimusly->anonymously +anonomous->anonymous +anonomously->anonymously anononymous->anonymous anonther->another anonymouse->anonymous @@ -2068,11 +2328,27 @@ anounce->announce anounced->announced anouncement->announcement anount->amount +anoy->annoy +anoyed->annoyed anoying->annoying anoymous->anonymous +anoymously->anonymously +anoys->annoys +anpatheater->amphitheater +anpatheaters->amphitheaters +anphatheater->amphitheater +anphatheaters->amphitheaters +anphibian->amphibian +anphibians->amphibians +anphitheater->amphitheater +anphitheaters->amphitheaters +anpitheater->amphitheater +anpitheaters->amphitheaters anroid->android ansalisation->nasalisation ansalization->nasalization +ansamble->ensemble +ansambles->ensembles anser->answer ansester->ancestor ansesters->ancestors @@ -2100,21 +2376,39 @@ anthropolgy->anthropology antialialised->antialiased antialising->antialiasing antiapartheid->anti-apartheid +anticdote->anecdote, antidote, +anticdotes->anecdotes, antidotes, anticpate->anticipate +antripanewer->entrepreneur +antripanewers->entrepreneurs antry->entry antyhing->anything anual->annual anually->annually +anuled->annulled +anuling->annulling +anull->annul anulled->annulled +anulling->annulling +anulls->annulled +anuls->annulls anumber->a number +anurism->aneurysm anuwhere->anywhere anway->anyway anways->anyway +anwee->ennui anwhere->anywhere anwser->answer anwsered->answered anwsering->answering anwsers->answers +anxios->anxious +anxiosly->anxiously +anxiosness->anxiousness +anxiuos->anxious +anxiuosly->anxiously +anxiuosness->anxiousness anyawy->anyway anyhing->anything anyhting->anything @@ -2152,9 +2446,16 @@ apach->apache apapted->adapted aparant->apparent aparantly->apparently +aparatus->apparatus +aparatuses->apparatuses aparent->apparent aparently->apparently aparment->apartment +apartide->apartheid +apaul->appall +apauled->appalled +apauling->appalling +apauls->appalls apdated->updated apeal->appeal apealed->appealed @@ -2179,12 +2480,19 @@ aperure->aperture aperures->apertures apeture->aperture apetures->apertures +apihelion->aphelion +apihelions->aphelions apilogue->epilogue aplha->alpha +aplicabile->applicable +aplicability->applicability +aplicable->applicable aplication->application aplications->applications aplied->applied aplies->applies +aplikay->appliqué +aplikays->appliqués aplitude->amplitude, aptitude, apllicatin->application apllicatins->applications @@ -2197,14 +2505,19 @@ apllying->applying aply->apply aplyed->applied aplying->applying +apocraful->apocryphal apointed->appointed apointing->appointing apointment->appointment apoints->appoints apolegetic->apologetic apolegetics->apologetics +apollstree->upholstery apon->upon, apron, aportionable->apportionable +apostrafes->apostrophes +apostrafies->apostrophes +apostrafy->apostrophe apostrophie->apostrophe apostrophies->apostrophes appar->appear @@ -2220,6 +2533,9 @@ appars->appears appart->apart appartment->apartment appartments->apartments +appathetic->apathetic +appature->aperture +appatures->apertures appealling->appealing, appalling, appearaing->appearing appearantly->apparently @@ -2243,6 +2559,7 @@ appendign->appending appendt->append appened->append, appended, happened, appeneded->appended +appenging->appending appenines->Apennines appens->appends appent->append @@ -2276,6 +2593,8 @@ appies->applies applay->apply applcation->application applcations->applications +applciation->application +applciations->applications appliable->applicable appliacable->applicable appliaction->application @@ -2287,6 +2606,7 @@ applicaion->application applicaions->applications applicaiton->application applicaitons->applications +applicalbe->applicable applicance->appliance applicapility->applicability applicaple->applicable @@ -2306,6 +2626,8 @@ applide->applied applie->apply, applied, applikation->application applikations->applications +applikay->appliqué +applikays->appliqués appling->applying, appalling, appllied->applied applly->apply @@ -2363,6 +2685,8 @@ appplying->applying apppriate->appropriate appproach->approach apppropriate->appropriate +appraent->apparent +appraently->apparently appraoch->approach appraochable->approachable appraoched->approached @@ -2410,6 +2734,7 @@ approched->approached approches->approaches approching->approaching approiate->appropriate +approimation->approximation approopriate->appropriate approoximate->approximate approoximately->approximately @@ -2497,6 +2822,7 @@ apreciating->appreciating apreciation->appreciation apreciative->appreciative aprehensive->apprehensive +apresheation->appreciation apreteate->appreciate apreteated->appreciated apreteating->appreciating @@ -2533,6 +2859,10 @@ aprroximates->approximates aprroximation->approximation aprroximations->approximations aprtment->apartment +apyoon->oppugn +apyooned->oppugned +apyooning->oppugning +apyoons->oppugns aqain->again aqcuire->acquire aqcuired->acquired @@ -2544,7 +2874,12 @@ aquaintance->acquaintance aquainted->acquainted aquainting->acquainting aquaints->acquaints +aqueus->aqueous aquiantance->acquaintance +aquiess->acquiesce +aquiessed->acquiesced +aquiesses->acquiesces +aquiessing->acquiescing aquire->acquire aquired->acquired aquires->acquires @@ -2554,6 +2889,8 @@ aquisitions->acquisitions aquit->acquit aquitted->acquitted aquries->acquires, equerries, +aracnid->arachnid +aracnids->arachnids arameters->parameters aranged->arranged arangement->arrangement @@ -2598,6 +2935,7 @@ arbitralrily->arbitrarily arbitralry->arbitrary arbitraly->arbitrary arbitrarion->arbitration +arbitrarity->arbitrarily arbitrariy->arbitrarily, arbitrary, arbitrarly->arbitrarily, arbitrary, arbitraryily->arbitrarily @@ -2667,7 +3005,10 @@ archictectures->architectures archicture->architecture archiecture->architecture archiectures->architectures +archieve->achieve, archive, archimedian->archimedean +archine->archive +archines->archives architct->architect architcts->architects architcture->architecture @@ -2716,6 +3057,8 @@ arcives->archives arciving->archiving arcticle->article Ardiuno->Arduino +ardvark->aardvark +ardvarks->aardvarks are'nt->aren't aready->already areea->area @@ -2787,11 +3130,19 @@ aritst->artist arival->arrival arive->arrive arlready->already +armagedon->armageddon +armagedons->armageddons armamant->armament armistace->armistice +armistis->armistice +armistises->armistices armonic->harmonic +armorment->armament +armorments->armaments arn't->aren't arne't->aren't +aroara->aurora +aroaras->auroras arogant->arrogant arogent->arrogant aronud->around @@ -2805,6 +3156,7 @@ arquitecture->architecture arquitectures->architectures arraay->array arragement->arrangement +arraies->arrays arraival->arrival arral->array arranable->arrangeable @@ -2858,6 +3210,8 @@ arrengements->arrangements arrity->arity, parity, arriveis->arrives arrivial->arrival +arro->arrow +arros->arrows arround->around arrray->array arrrays->arrays @@ -2869,7 +3223,9 @@ arry->array, carry, arrya->array arryas->arrays arrys->arrays +arsnic->arsenic artcile->article +artic->arctic articaft->artifact articafts->artifacts artical->article @@ -2891,6 +3247,7 @@ artillary->artillery artuments->arguments arugment->argument arugments->arguments +arument->argument aruments->arguments arund->around arvg->argv @@ -2913,6 +3270,8 @@ ascconciated->associated asceding->ascending ascpect->aspect ascpects->aspects +ascript->script, a script, +ascripts->scripts asdignment->assignment asdignments->assignments asemble->assemble @@ -2936,6 +3295,9 @@ asending->ascending asent->ascent aserted->asserted asertion->assertion +asess->assess +asessment->assessment +asessments->assessments asetic->ascetic asfar->as far asign->assign @@ -2967,6 +3329,7 @@ asociated->associated asolute->absolute asorbed->absorbed aspected->expected +aspestus->asbestos asphyxation->asphyxiation assasin->assassin assasinate->assassinate @@ -2984,6 +3347,10 @@ asscociated->associated asscoitaed->associated assebly->assembly assebmly->assembly +assemalate->assimilate +assemalated->assimilated +assemalates->assimilates +assemalating->assimilating assembe->assemble assembed->assembled assembeld->assembled @@ -3001,7 +3368,13 @@ assertio->assertion assertting->asserting assesmenet->assessment assesment->assessment +assesments->assessments assessmant->assessment +assessmants->assessments +assfalt->asphalt +assfalted->asphalted +assfalting->asphalting +assfalts->asphalts assgin->assign assgined->assigned assgining->assigning @@ -3019,6 +3392,7 @@ assiciated->associated assiciates->associates assiciation->association assiciations->associations +assicieted->associated asside->aside assiged->assigned assigend->assigned @@ -3049,6 +3423,7 @@ assignenmentes->assignments assignenments->assignments assignenmet->assignment assignes->assigns +assignmen->assignment, assign men, assignmenet->assignment assignmens->assignments assignmet->assignment @@ -3059,6 +3434,8 @@ assigntment->assignment assihnment->assignment assihnments->assignments assime->assume +assimtote->asymptote +assimtotes->asymptotes assined->assigned assing->assign assinged->assigned @@ -3090,6 +3467,7 @@ assistent->assistant assit->assist assitant->assistant assition->assertion +assma->asthma assmbler->assembler assmeble->assemble assmebler->assembler @@ -3196,6 +3574,7 @@ assumbed->assumed assumbes->assumes assumbing->assuming assumend->assumed +assumimg->assuming assumking->assuming assumme->assume assummed->assumed @@ -3242,7 +3621,15 @@ assymptote->asymptote assymptotes->asymptotes assymptotic->asymptotic assymptotically->asymptotically +assymthotic->asymptotic +assymtote->asymptote +assymtotes->asymptotes +assymtotic->asymptotic +assymtotically->asymptotically +astarisk->asterisk +astarisks->asterisks asterices->asterisks +asterik->asterisk asteriks->asterisk, asterisks, asteriod->asteroid astethic->aesthetic @@ -3255,12 +3642,19 @@ asthetically->aesthetically asthetics->aesthetics astiimate->estimate astiimation->estimation +astrix->asterisk +astrixes->asterisks +astrixs->asterisks +astroid->asteroid +asudo->sudo asume->assume asumed->assumed asumes->assumes asuming->assuming asumption->assumption +asumtotic->asymptotic asure->assure +aswage->assuage aswell->as well asychronize->asynchronize asychronized->asynchronized @@ -3290,6 +3684,7 @@ asynchroneously->asynchronously asynchronious->asynchronous asynchronlous->asynchronous asynchrons->asynchronous +asynchronus->asynchronous asynchroous->asynchronous asynchrounous->asynchronous asynchrounsly->asynchronously @@ -3319,6 +3714,8 @@ atended->attended atendee->attendee atends->attends atention->attention +aternies->attorneys +aterny->attorney atheistical->atheistic athenean->Athenian atheneans->Athenians @@ -3351,6 +3748,7 @@ atribut->attribute atribute->attribute atributed->attributed atributes->attributes +atronomical->astronomical, agronomical, atrribute->attribute atrributes->attributes atrtribute->attribute @@ -3425,6 +3823,7 @@ attitide->attitude attmept->attempt attmpt->attempt attnetion->attention +attornies->attorneys attosencond->attosecond attosenconds->attoseconds attrbiute->attribute @@ -3441,6 +3840,7 @@ attribted->attributed attribtes->attributes, attribute, attribting->attributing attribtue->attribute +attribtues->attributes attribtutes->attributes attribude->attribute attribue->attribute @@ -3510,6 +3910,7 @@ auccess->success auccessive->successive audeince->audience audiance->audience +aufter->after augest->August augmnet->augment augmnetation->augmentation @@ -3535,6 +3936,10 @@ auot->auto auotmatic->automatic auromated->automated aussian->Gaussian, Russian, Austrian, +austair->austere +austeer->austere +austensible->ostensible +austensibly->ostensibly austrailia->Australia austrailian->Australian Australien->Australian @@ -3712,6 +4117,9 @@ authobiographic->autobiographic authobiography->autobiography authoer->author authoratative->authoritative +authoratatively->authoritatively +authoratitative->authoritative +authoratitatively->authoritatively authorative->authoritative authorded->authored authorites->authorities @@ -3729,6 +4137,7 @@ authrorization->authorization authrors->authors autimatic->automatic autimatically->automatically +autio->audio autmatically->automatically auto-dependancies->auto-dependencies auto-destrcut->auto-destruct @@ -3741,6 +4150,7 @@ auto-detets->auto-detects, auto-deletes, auto-genrated->auto-generated auto-genratet->auto-generated auto-genration->auto-generation +auto-identation->auto-indentation auto-negatiotiation->auto-negotiation auto-negatiotiations->auto-negotiations auto-negoatiation->auto-negotiation @@ -3903,6 +4313,8 @@ autosae->autosave autosavegs->autosaves autosaveperodical->autosaveperiodical autosence->autosense +autotorium->auditorium +autotoriums->auditoriums autum->autumn auxialiary->auxiliary auxilaries->auxiliaries @@ -3918,6 +4330,8 @@ auxilliaries->auxiliaries auxilliary->auxiliary auxiluary->auxiliary auxliliary->auxiliary +avacado->avocado +avacados->avocados avaiable->available avaialable->available avaialbale->available @@ -3949,6 +4363,7 @@ availabke->available availabl->available availabled->available availablen->available +availablility->availability availablity->availability availabyl->available availaiable->available @@ -3977,6 +4392,7 @@ availeble->available availiable->available availibility->availability availibilty->availability +availibity->availability availible->available availlable->available avalable->available @@ -3999,6 +4415,7 @@ avaoidable->avoidable avaoided->avoided avarage->average avarageing->averaging +avare->aware avarege->average avary->every, aviary, avation->aviation @@ -4037,6 +4454,8 @@ avoind->avoid avoinded->avoided avoinding->avoiding avoinds->avoids +avoud->avoid +avove->above avriable->variable avriables->variables avriant->variant @@ -4053,6 +4472,8 @@ awnser->answer awnsered->answered awnsers->answers awoid->avoid +awrning->warning, awning, +awrnings->warnings awsome->awesome awya->away axises->axes @@ -4060,14 +4481,24 @@ axissymmetric->axisymmetric axix->axis axixsymmetric->axisymmetric axpressed->expressed +aynchronous->asynchronous aysnc->async +aything->anything ayway->anyway, away, ayways->always +azma->asthma +azmith->azimuth +azmiths->azimuths +baase->base, abase, bable->babel, table, bible, bacause->because baceause->because bacground->background +bachler->bachelor +bachlers->bachelors bacic->basic +backaloriette->baccalaureate +backaloriettes->baccalaureates backards->backwards backbround->background backbrounds->backgrounds @@ -4075,6 +4506,7 @@ backedn->backend backedns->backends backened->backend, blackened, backeneds->backends, blackens, +backets->brackets, baskets, buckets, backgorund->background backgorunds->backgrounds backgound->background @@ -4122,10 +4554,15 @@ backwad->backwards backwardss->backwards backware->backward backwark->backward +backwars->backward, backwards, backwrad->backward bactracking->backtracking bacup->backup +bacward->backward +bacwards->backwards +badmitten->badminton baed->based +bafore->before bage->bag bahaving->behaving bahavior->behavior @@ -4145,8 +4582,13 @@ bakups->backups bakward->backward bakwards->backwards balacing->balancing +balaster->baluster +balasters->balusters balck->black, balk, balence->balance +ballance->balance +balona->bologna +balony->baloney, bologna, baloon->balloon baloons->balloons balse->false @@ -4160,11 +4602,20 @@ bandwidht->bandwidth bandwidthm->bandwidth bandwitdh->bandwidth bandwith->bandwidth +bangquit->banquet +bangquits->banquets bankrupcy->bankruptcy banlance->balance +bannet->bayonet +bannets->bayonets banruptcy->bankruptcy baout->about, bout, +baraches->branches +baray->beret +barays->berets barbedos->barbados +bargin->bargain +bargins->bargains bariier->barrier barnch->branch barnched->branched @@ -4172,6 +4623,8 @@ barncher->brancher barnchers->branchers barnches->branches barnching->branching +baroke->baroque +barrer->barrier, barred, barrel, barren, barriors->barriers barrriers->barriers barycentic->barycentric @@ -4197,10 +4650,17 @@ bastractly->abstractly bastractness->abstractness bastractor->abstractor bastracts->abstracts +batchleur->bachelor +batchleurs->bachelors bateries->batteries batery->battery battaries->batteries battary->battery +battey->battery +bayge->beige +bayliwick->bailiwick +bazare->bizarre, bazaar, +bazerk->berserk bbefore->before bboolean->boolean bbooleans->booleans @@ -4211,20 +4671,33 @@ beacaon->beacon beacause->because beachead->beachhead beacuse->because +beanches->branches, benches, beaon->beacon bearword->bareword beastiality->bestiality +beastiaries->bestiaries +beastiary->bestiary beatiful->beautiful +beauquet->bouquet +beauquets->bouquets beauracracy->bureaucracy +beauracratic->bureaucratic +beauracratical->bureaucratic +beauracratically->bureaucratically beaurocracy->bureaucracy beaurocratic->bureaucratic +beaurocratical->bureaucratic +beaurocratically->bureaucratically beause->because beauti->beauty +beautifull->beautiful, beautifully, beautiy->beauty beautyfied->beautified beautyfull->beautiful beaviour->behaviour +bebefore->before bebongs->belongs +bebore->before becaause->because becacdd->because becahse->because @@ -4260,10 +4733,12 @@ bector->vector bectors->vectors becuase->because becuse->because +becuz->because becxause->because beding->bedding, begging, bedore->before beed->been, bead, beet, beer, bees, +beeen->been beeing->being, been, beeings->beings beetween->between @@ -4316,6 +4791,7 @@ behaivors->behaviors behaivour->behaviour behaivoural->behavioural behaivours->behaviours +behavies->behaves behavious->behaviour, behaviours, behavioutr->behaviour behaviro->behavior @@ -4323,19 +4799,27 @@ behaviuor->behaviour behavoir->behavior behavoirs->behaviors behavor->behavior, behaviour, +behavoral->behavioral, behavioural, behavour->behaviour +behavoural->behavioural behavriour->behaviour behavriours->behaviours behinde->behind behing->behind, being, +behvaior->behaviour behvaiour->behaviour behviour->behaviour beigin->begin beiginning->beginning -beind->behind +beind->behind, being, beinning->beginning bejond->beyond beleagured->beleaguered +beleave->believe +beleaved->believed +beleaver->believer +beleaves->believes +beleaving->believing beleif->belief beleifable->believable beleife->belief, believe, @@ -4375,6 +4859,10 @@ beloning->belonging belove->below, beloved, belown->belong belwo->below +belye->belie +belyed->belied +belyes->belies +belys->belies bemusemnt->bemusement benchamarked->benchmarked benchamarking->benchmarking @@ -4404,6 +4892,11 @@ beneits->benefits benerate->generate, venerate, benetifs->benefits beng->being +benge->binge +benged->binged +bengeing->bingeing +benges->binges +benging->binging benhind->behind benificial->beneficial benifit->benefit @@ -4412,7 +4905,14 @@ benifited->benefited benifitial->beneficial benifits->benefits benig->being +benine->benign +benj->binge +benjed->binged +benjer->binger +benjes->binges +benjing->bingeing beond->beyond +berfore->before berforming->performing bergamont->bergamot Berkley->Berkeley @@ -4444,8 +4944,11 @@ betwene->between betwenn->between betwern->between betwween->between +betwwen->between beucase->because beuracracy->bureaucracy +beuraucratic->bureaucratic +beuraucratically->bureaucratically beutification->beautification beutiful->beautiful beutifully->beautifully @@ -4479,6 +4982,7 @@ bilangual->bilingual bilateraly->bilaterally billingualism->bilingualism billon->billion +bilt->built bimask->bitmask bimillenia->bimillennia bimillenial->bimillennial @@ -4501,6 +5005,8 @@ birghtest->brightest birghtness->brightness biridectionality->bidirectionality bisct->bisect +biscut->biscuit +biscuts->biscuits bisines->business bisiness->business bisnes->business @@ -4515,10 +5021,19 @@ bitfilelds->bitfields bitis->bits bitmast->bitmask bitnaps->bitmaps +bitween->between +bitwiedh->bitwidth bitwise-orring->bitwise-oring biult->built, build, +bivouaced->bivouacked +bivouacing->bivouacking +bivwack->bivouac +biyou->bayou +biyous->bayous bizare->bizarre bizarely->bizarrely +bizness->business +biznesses->businesses bizzare->bizarre bject->object bjects->objects @@ -4581,6 +5096,8 @@ blonging->belonging blongs->belongs bloock->block bloocks->blocks +blosum->blossom +blosums->blossoms bloted->bloated bluestooth->bluetooth bluetooh->bluetooth @@ -4590,6 +5107,7 @@ blured->blurred blurr->blur, blurred, blutooth->bluetooth bnecause->because +bnndler->bundler boads->boards boardcast->broadcast boaut->bout, boat, about, @@ -4603,8 +5121,11 @@ boeleans->booleans boffer->buffer bofore->before bofy->body +boganveelia->bougainvillea +boganveelias->bougainvilleas boggus->bogus bogos->bogus +bogous->bogus bointer->pointer bolean->boolean boleen->boolean @@ -4614,6 +5135,13 @@ bombarment->bombardment bondary->boundary Bonnano->Bonanno bood->boot +booda->Buddha +booe->buoy +booee->buoy +booees->buoys +booes->boos, buoys, booze, +boofay->buffet +boofays->buffets bookeeping->bookkeeping bookkeeing->bookkeeping bookkeeiping->bookkeeping @@ -4637,6 +5165,9 @@ boomarks->bookmarks boook->book booolean->boolean boooleans->booleans +boorjwazee->bourgeoisie +booshelf->bookshelf +booshelves->bookshelves boostrap->bootstrap boostrapped->bootstrapped boostrapping->bootstrapping @@ -4653,9 +5184,12 @@ bootstap->bootstrap bootstapped->bootstrapped bootstapping->bootstrapping bootstaps->bootstraps +bootstraping->bootstrapping booundaries->boundaries booundary->boundary +boounds->bounds boquet->bouquet +boraches->branches borad->board boradcast->broadcast bord->board, bored, border, @@ -4688,7 +5222,9 @@ bottonm->bottom bottons->bottoms, buttons, botttom->bottom bouce->bounce +bouced->bounced bouces->bounces +boucing->bouncing boudaries->boundaries boudary->boundary bouding->bounding @@ -4769,25 +5305,40 @@ bouunds->bounds bouy->buoy bouyancy->buoyancy bouyant->buoyant +bowkay->bouquet +bowkays->bouquets boxe->boxes, box, boxer, boxs->boxes, box, boyant->buoyant boycot->boycott bracese->braces brach->branch +brached->branched, breached, +braches->branches, breaches, +braching->branching, breaching, brackeds->brackets bracketwith->bracket with brackground->background +bracnh->branch +bracnhed->branched +bracnhes->branches +bracnhing->branching bradcast->broadcast braket->bracket, brake, brakets->brackets, brakes, brakpoint->breakpoint brakpoints->breakpoints +branc->branch brance->branch, brace, branches, +branced->branched +brances->branches branchces->branches +branche->branch, branches, branched, +branchesonly->branches only brancheswith->branches with branchs->branches branchsi->branches +brancing->branching branck->branch branckes->branches brancket->bracket @@ -4806,6 +5357,7 @@ breakthroughts->breakthroughs breakthruogh->breakthrough breakthruoghs->breakthroughs breal->break +breanches->branches breating->breathing, beating, breef->brief, beef, breefly->briefly @@ -4867,13 +5419,18 @@ brocken->broken brockend->broken brockened->broken brocolee->broccoli +brocoli->broccoli brodcast->broadcast +broge->brogue +broges->brogues broked->broken brokem->broken brokend->broken brokened->broken brokeness->brokenness bronken->broken +brooz->bruise +broozes->bruises brosable->browsable brose->browse, rose, brosed->browsed, rosed, @@ -4896,6 +5453,9 @@ browswed->browsed browswer->browser browswers->browsers browswing->browsing +bruse->bruise +bruses->bruises +brusk->brusque brutaly->brutally brwosable->browsable brwose->browse @@ -4907,6 +5467,7 @@ btye->byte btyes->bytes buad->baud bubbless->bubbles +buda->Buddha Buddah->Buddha Buddist->Buddhist bufefr->buffer @@ -4914,7 +5475,7 @@ bufer->buffer bufers->buffers buffereed->buffered bufferent->buffered -bufferes->buffers +bufferes->buffers, buffered, bufferred->buffered buffeur->buffer bufffer->buffer @@ -4929,6 +5490,7 @@ buggest->biggest bugous->bogus buguous->bogus bugus->bogus +bui->buoy, buy, buid->build buider->builder buiders->builders @@ -4950,6 +5512,7 @@ buildpackge->buildpackage buildpackges->buildpackages builing->building builings->buildings +builitn->built-in buillt->built built-time->build-time builter->builder @@ -4959,6 +5522,7 @@ buinseses->businesses buinsess->business buinsesses->businesses buipd->build +buis->buoy, buoys, buys, buisness->business buisnessman->businessman buissiness->business @@ -4973,12 +5537,17 @@ buittons->buttons buld->build bulding->building bulds->builds +bulgrian->Bulgarian bulid->build buliding->building bulids->builds bulit->built +bulitin->built-in bulle->bullet bulletted->bulleted +bullevard->boulevard +bullevards->boulevards +bullyan->bouillon bulnerabilities->vulnerabilities bulnerability->vulnerability bulnerable->vulnerable @@ -4987,7 +5556,7 @@ bult-in->built-in bultin->builtin bumb->bump, bomb, bum, bumbed->bumped, bombed, -bumber->bumper, bomber, bummer, +bumber->bumper, bomber, bummer, number, bumbing->bumping, bombing, bumby->bumpy bumpded->bumped @@ -4995,6 +5564,10 @@ bumpt->bump bumpted->bumped bumpter->bumper bumpting->bumping +bunble->bundle +bunbled->bundled +bunbler->bundler +bunbling->bundling bund->bind, bound, bunded->binded, bundled, bounded, bundel->bundle @@ -5002,20 +5575,36 @@ bundeled->bundled bundels->bundles bunding->binding, bundling, bounding, bunds->binds, bounds, +bunji->bungee +bunlde->bundle +bunlder->bundler +bunldes->bundles +bunlding->bundling buoancy->buoyancy +burbon->bourbon bureauracy->bureaucracy buring->burying, burning, burin, during, +burjun->burgeon +burjuns->burgeons +buro->bureau, burro, burocratic->bureaucratic +buros->bureaus, burros, burried->buried burtst->burst +burzwah->bourgeois busines->business busineses->business, businesses, busness->business bussiness->business bussy->busy +butiful->beautiful +butifully->beautifully +butifuly->beautifully buton->button butons->buttons butterly->butterfly +buttin->button +buttins->buttons buttom->button, bottom, buttoms->buttons, bottom, buttong->button @@ -5027,16 +5616,31 @@ butttons->buttons buufers->buffers buuild->build buuilds->builds +buzilla->bugzilla bve->be bwtween->between +byast->biased +bycicle->bicycle +bycicled->bicycled +bycicles->bicycles +bycicling->bicycling +byciclist->bicyclist bypas->bypass bypased->bypassed bypasing->bypassing +byte-comiler->byte-compiler +byte-compilier->byte-compiler +byte-complier->byte-compiler +byte-compliler->byte-compiler +byte-comppiler->byte-compiler +byte-copiler->byte-compiler byteoder->byteorder, byte order, bytetream->bytestream bytetreams->bytestreams cabint->cabinet cabints->cabinets +cabnet->cabinet +cabnets->cabinets cacahe->cache cacahes->caches cace->cache @@ -5046,6 +5650,7 @@ cacheed->cached cacheing->caching cachline->cacheline cachse->cache, caches, +cachup->catchup cacl->calc caclate->calculate cacluate->calculate @@ -5066,6 +5671,8 @@ caclulates->calculates caclulating->calculating caclulation->calculation caclulations->calculations +cacoon->cocoon +cacoons->cocoons caculate->calculate caculated->calculated caculater->calculator @@ -5078,6 +5685,15 @@ cacuses->caucuses cadidate->candidate caefully->carefully Caesarian->Caesarean +caese->cease +caesed->ceased +caeseing->ceasing +caeses->ceases +caf->calf +cafay->cafe +cafays->cafes +cafine->caffeine +cafs->calves cahacter->character cahacters->characters cahange->change @@ -5156,6 +5772,8 @@ calcualates->calculates calcualating->calculating calcualation->calculation calcualations->calculations +calcualion->calculation +calcualions->calculations calcualte->calculate calcualted->calculated calcualter->calculator @@ -5200,9 +5818,15 @@ calcutate->calculate calcutated->calculated calcutates->calculates calcutating->calculating +caldesack->cul-de-sac caleed->called +caleee->callee +calees->callees +calenday->calendar caler->caller calescing->coalescing +calfes->calves +calfs->calves caliased->aliased calibraiton->calibration calibraitons->calibrations @@ -5224,8 +5848,8 @@ callbck->callback callcack->callback callcain->callchain calld->called -calle->called -callef->called +calle->called, caller, +callef->called, caller, calles->calls, called, callers, caller, callibrate->calibrate callibrated->calibrated @@ -5234,11 +5858,17 @@ callibrating->calibrating callibration->calibration callibrations->calibrations callibri->calibri +calliflower->cauliflower +calliflowers->cauliflowers callig->calling callint->calling +callis->callus +calll->call callled->called calllee->callee +calllers->callers calloed->called +callser->caller callsr->calls calss->calls, class, calsses->classes @@ -5273,14 +5903,36 @@ calulation->calculation calulations->calculations caluse->clause, callus, callous, Cambrige->Cambridge +cameleon->chameleon +cameleons->chameleons +camelion->chameleon +camelions->chameleons camoflage->camouflage +camoflaged->camouflaged +camoflages->camouflages +camoflaging->camouflaging camoflague->camouflage +camoflagued->camouflaged +camoflagues->camouflages +camoflaguing->camouflaging campagin->campaign +campagins->campaigns campain->campaign campaing->campaign +campaings->campaigns campains->campaigns camparing->comparing can;t->can't +canabel->cannibal +canabels->cannibals +canabelyse->cannibalise +canabelysed->cannibalised +canabelyses->cannibalises +canabelysing->cannibalising +canabelyze->cannibalize +canabelyzed->cannibalized +canabelyzes->cannibalizes +canabelyzing->cannibalizing canadan->canadian canbe->can be cancelaltion->cancellation @@ -5306,6 +5958,8 @@ candinate->candidate candinates->candidates canditate->candidate canditates->candidates +canew->canoe +canews->canoes cange->change canged->changed canges->changes @@ -5314,6 +5968,16 @@ canidate->candidate canidates->candidates cann't->can't cann->can +cannabile->cannibal +cannabiles->cannibals +cannabilyse->cannibalise +cannabilysed->cannibalised +cannabilyses->cannibalises +cannabilysing->cannibalising +cannabilyze->cannibalize +cannabilyzed->cannibalized +cannabilyzes->cannibalizes +cannabilyzing->cannibalizing cannister->canister cannisters->canisters cannnot->cannot @@ -5326,10 +5990,14 @@ cannotations->connotations cannote->cannot, connote, cannotes->cannot, connotes, cannott->cannot +cannt->cannot +canocical->canonical +canoical->canonical canonalize->canonicalize canonalized->canonicalized canonalizes->canonicalizes canonalizing->canonicalizing +canoncal->canonical canoncial->canonical canonicalizations->canonicalization canonival->canonical @@ -5341,7 +6009,14 @@ cantact->contact cantacted->contacted cantacting->contacting cantacts->contacts +cantain->contain +cantained->contained +cantaining->containing +cantains->contains +cantalope->cantaloupe +cantalopes->cantaloupes canvase->canvas +canye->canaille caost->coast capabable->capable capabicity->capability @@ -5373,11 +6048,21 @@ capela->capella caperbility->capability Capetown->Cape Town capibilities->capabilities +capibility->capability capible->capable capitolize->capitalize cappable->capable captable->capable +capter->captor +capters->captors captial->capital +captialism->capitalism +captialist->capitalist +captialists->capitalists +captian->captain +captians->captains +captin->captain +captins->captains captrure->capture captued->captured capturd->captured @@ -5385,14 +6070,20 @@ caputre->capture caputred->captured caputres->captures caputure->capture +caraboo->caribou +caraboos->caribous carachter->character caracter->character caractere->character caracteristic->characteristic +caracteristics->characteristics caracterized->characterized caracters->characters +caraff->carafe carbus->cardbus carcas->carcass, Caracas, +carcus->carcass +carcuses->carcasses carefull->careful, carefully, carefuly->carefully careing->caring @@ -5400,17 +6091,43 @@ carfull->careful cariage->carriage caridge->carriage cariier->carrier +carimonial->ceremonial +carimonially->ceremonially +carimonies->ceremonies +carimony->ceremony +carinomial->ceremonial +carinomially->ceremonially +carinomies->ceremonies +carinomy->ceremony carismatic->charismatic Carmalite->Carmelite +carmonial->ceremonial +carmonially->ceremonially +carmonies->ceremonies +carmony->ceremony Carnagie->Carnegie Carnagie-Mellon->Carnegie-Mellon +carnavor->carnivore +carnavores->carnivores +carnavors->carnivores carnege->carnage, Carnegie, carnige->carnage, Carnegie, Carnigie->Carnegie Carnigie-Mellon->Carnegie-Mellon carniverous->carnivorous +carnomial->ceremonial +carnomially->ceremonially +carnomies->ceremonies +carnomy->ceremony caronavirus->coronavirus caronaviruses->coronaviruses +carosel->carousel +caroseles->carousels +carosels->carousels +carrage->carriage +carrages->carriages +carrear->career +carrears->careers carreer->career carreid->carried carrers->careers @@ -5431,10 +6148,18 @@ Carthagian->Carthaginian carthesian->cartesian carthographer->cartographer cartiesian->cartesian +cartiladge->cartilage +cartiledge->cartilage cartilege->cartilage cartilidge->cartilage +cartladge->cartilage +cartlage->cartilage +cartledge->cartilage +cartlege->cartilage cartrige->cartridge caryy->carry +casarole->casserole +casaroles->casseroles cascace->cascade case-insensative->case-insensitive case-insensetive->case-insensitive @@ -5479,10 +6204,18 @@ casesentivite->case-sensitive casesesitive->case-sensitive casette->cassette cashe->cache +casim->chasm +casims->chasms casion->caisson caspule->capsule caspules->capsules +cassarole->casserole +cassaroles->casseroles cassawory->cassowary +cassim->chasm +cassims->chasms +cassm->chasm +cassms->chasms cassowarry->cassowary casue->cause casued->caused @@ -5490,6 +6223,11 @@ casues->causes casuing->causing casulaties->casualties casulaty->casualty +cataalogue->catalogue +cataclism->cataclysm +cataclismic->cataclysmic +cataclismical->cataclysmic +catagori->category catagorie->category, categories, catagories->categories catagorization->categorization @@ -5501,6 +6239,8 @@ catapillar->caterpillar catapillars->caterpillars catapiller->caterpillar catapillers->caterpillars +catastrofies->catastrophes +catastrofy->catastrophe catastronphic->catastrophic catastropic->catastrophic catastropically->catastrophically @@ -5508,12 +6248,14 @@ catastrphic->catastrophic catche->catch catched->caught catchi->catch +catchip->ketchup catchs->catches categogical->categorical categogically->categorically categogies->categories categogy->category categorie->category, categories, +categoy->category cateogrical->categorical cateogrically->categorically cateogries->categories @@ -5555,8 +6297,11 @@ causion->caution causioned->cautioned causions->cautions causious->cautious +cautio->caution cavaet->caveat cavaets->caveats +cavren->cavern +cavrens->caverns ccahe->cache ccale->scale ccertificate->certificate @@ -5565,6 +6310,8 @@ ccertificates->certificates ccertification->certification ccessible->accessible cche->cache +ccompiler->compiler, C compiler, +ccompilers->compilers, C compilers, cconfiguration->configuration ccordinate->coordinate ccordinates->coordinates @@ -5577,6 +6324,11 @@ ccustoms->customs cdecompress->decompress ceartype->cleartype Ceasar->Caesar +ceasars->Caesars +ceaser->Caesar +ceasers->Caesars +ceasser->Caesar +ceassers->Caesars ceate->create ceated->created ceates->creates @@ -5595,6 +6347,20 @@ cehcker->checker cehcking->checking cehcks->checks Celcius->Celsius +cellabrate->celebrate +cellabrated->celebrated +cellabrates->celebrates +cellabrating->celebrating +cellabration->celebration +cellabrations->celebrations +cellebrate->celebrate +cellebrated->celebrated +cellebrates->celebrates +cellebrating->celebrating +cellebration->celebration +cellebrations->celebrations +celler->cellar +cellers->cellars celles->cells cellpading->cellpadding cellst->cells @@ -5606,25 +6372,55 @@ cemetaries->cemeteries cemetary->cemetery cenario->scenario cenarios->scenarios +cencrete->concrete +cencretely->concretely cencter->center cencus->census cengter->center +censabilities->sensibilities +censability->sensibility +censable->sensible +censably->sensibly censequence->consequence +censibility->sensibility +censible->sensible +censibly->sensibly censur->censor, censure, centain->certain +centenal->sentinel, centennial, +centenals->sentinels, centennials, cententenial->centennial centerd->centered +centerfuge->centrifuge +centerfuges->centrifuges centisencond->centisecond centisenconds->centiseconds +centrafuge->centrifuge +centrafuges->centrifuges centrifugeable->centrifugable centrigrade->centigrade +centriod->centroid +centriods->centroids centruies->centuries centruy->century centuties->centuries centuty->century +cenvention->convention +cenventions->conventions +cerain->certain +cerainly->certainly +cerainty->certainty cerate->create cerated->created, serrated, ceratin->certain, keratin, +cercomstance->circumstance +cercomstances->circumstances +cercomstancial->circumstantial +cercomstantial->circumstantial +cercumstance->circumstance +cercumstances->circumstances +cercumstancial->circumstantial +cercumstantial->circumstantial cereates->creates cerification->certification, verification, cerifications->certifications, verifications, @@ -5636,11 +6432,26 @@ cerimonial->ceremonial cerimonies->ceremonies cerimonious->ceremonious cerimony->ceremony +cerinomial->ceremonial +cerinomially->ceremonially +cerinomies->ceremonies +cerinomy->ceremony +cermonial->ceremonial +cermonially->ceremonially +cermonies->ceremonies +cermony->ceremony +cernomial->ceremonial +cernomially->ceremonially +cernomies->ceremonies +cernomy->ceremony ceromony->ceremony +cerrebral->cerebral +cerrebrally->cerebrally certaily->certainly certaincy->certainty certainity->certainty certaint->certain +certaintly->certainly certaion->certain certan->certain certficate->certificate @@ -5656,6 +6467,8 @@ certficiations->certifications certfied->certified certfy->certify certi->certificate, certify, +certiain->certain +certiainly->certainly certian->certain certianly->certainly certicate->certificate @@ -5705,12 +6518,18 @@ certiticated->certificated certiticates->certificates certitication->certification cervial->cervical, servile, serval, +cetain->certain +cetainly->certainly +cetainty->certainty cetrainly->certainly cetting->setting Cgywin->Cygwin +chaarcter->character +chaarcters->characters chaarges->charges chacacter->character chacacters->characters +chace->chance, cache, chache->cache chached->cached chacheline->cacheline @@ -5738,6 +6557,8 @@ challanges->challenges challege->challenge chambre->chamber chambres->chambers +champain->Champagne +champane->Champagne Champange->Champagne chanage->change chanaged->changed @@ -5748,6 +6569,12 @@ chanceled->canceled chanceling->canceling chanched->changed chancnel->channel, cancel, +chandaleer->chandelier +chandaleers->chandeliers +chandalier->chandelier +chandaliers->chandeliers +chandeleer->chandelier +chandeleers->chandeliers chane->change, chain, chaned->changed, chained, chaneged->changed @@ -5763,6 +6590,7 @@ changge->change changged->changed changgeling->changeling changges->changes +changin->changing changlog->changelog changuing->changing chanined->chained @@ -5774,6 +6602,10 @@ channael->channel channe->channel channeles->channels channes->channels, chances, changes, +channge->change +channged->changed +channges->changes +channging->changing channl->channel channle->channel channles->channels @@ -5845,6 +6677,9 @@ charactetr->character charactetrs->characters charactets->characters characther->character +charactiristic->characteristic +charactiristically->characteristically +charactiristics->characteristics charactor->character charactors->characters charactristic->characteristic @@ -5862,6 +6697,8 @@ chararcters->characters charas->chars charascter->character charascters->characters +charaset->charset +charasets->charsets charasmatic->charismatic charater->character charaterize->characterize @@ -5870,6 +6707,7 @@ charaters->characters charator->character charators->characters charcater->character +charcaters->characters charcter->character charcteristic->characteristic charcteristics->characteristics @@ -5888,14 +6726,28 @@ chariman->chairman charistics->characteristics charizma->charisma chartroose->chartreuse +chasim->chasm +chasims->chasms chasnge->change, changes, chasr->chaser, chase, +chassim->chasm +chassims->chasms +chassm->chasm +chassms->chasms chassy->chassis chatacter->character chatacters->characters chatch->catch chatched->caught, chatted, +chateao->château +chateaos->châteaux +chateo->château +chateos->châteaux chater->chapter +chatou->château +chatous->châteaux +chatow->château +chatows->châteaux chawk->chalk chcek->check chceked->checked @@ -5908,6 +6760,7 @@ cheatta->cheetah chec->check checbox->checkbox checboxes->checkboxes +checck->check checg->check checged->checked chech->check, czech, @@ -5927,6 +6780,8 @@ checkng->checking checkoslovakia->czechoslovakia checkox->checkbox checkpoing->checkpoint +checksm->checksum +checksms->checksums checkstum->checksum checkstuming->checksumming checkstumming->checksumming @@ -5990,6 +6845,8 @@ childs->children, child's, chiled->child, chilled, chiledren->children chilren->children +chimmenies->chimneys +chimmeny->chimney chineese->Chinese chinense->Chinese chinesse->Chinese @@ -6003,18 +6860,68 @@ chipertexts->ciphertexts chipet->chipset chipslect->chipselect chipstes->chipsets +chisell->chisel +chiselle->chisel +chiselles->chisels +chisil->chisel +chisiled->chiseled +chisiles->chisels +chisiling->chiseling +chisle->chisel +chisled->chiseled +chisles->chisels +chisling->chiseling chiuldren->children +chizell->chisel +chizelle->chisel +chizelled->chiseled +chizelles->chisels +chizelling->chiseling +chizil->chisel +chiziled->chiseled +chiziles->chisels +chiziling->chiseling +chizle->chisel +chizled->chiseled +chizles->chisels +chizling->chiseling +chizzel->chisel +chizzell->chisel +chizzelle->chisel +chizzelled->chiseled +chizzelles->chisels +chizzelling->chiseling +chizzil->chisel +chizziled->chiseled +chizziles->chisels +chizziling->chiseling +chizzle->chisel +chizzled->chiseled +chizzles->chisels +chizzling->chiseling chked->checked +chlid->child +chlids->children chnage->change chnaged->changed chnages->changes chnaging->changing +chnange->change +chnanged->changed +chnanges->changes +chnanging->changing chnge->change chnged->changed chnges->changes chnging->changing chnnel->channel +chochka->tchotchke +chochkas->tchotchkes choclate->chocolate +chocolot->chocolate +chocolote->chocolate +chocolotes->chocolates +chocolots->chocolates choicing->choosing choise->choice choises->choices @@ -6065,6 +6972,21 @@ cicruit->circuit cicruits->circuits cicular->circular ciculars->circulars +cigarete->cigarette +cigaretes->cigarettes +cigarett->cigarette +cigarret->cigarette +cigarrete->cigarette +cigarretes->cigarettes +cigarrets->cigarettes +cigarrett->cigarette +cigarrette->cigarette +cigarrettes->cigarettes +cigarretts->cigarettes +ciguret->cigarette +cigurete->cigarette +ciguretes->cigarettes +cigurets->cigarettes cihpher->cipher cihphers->ciphers cilent->client, silent, @@ -6077,12 +6999,40 @@ cilindrical->cylindrical cilyndre->cylinder cilyndres->cylinders cilyndrs->cylinders +cimetric->symmetric +cimetrical->symmetrical +cimetricaly->symmetrically +cimetriclly->symmetrically +cimetricly->symmetrically +cimmetric->symmetric +cimmetrical->symmetrical +cimmetricaly->symmetrically +cimmetriclly->symmetrically +cimmetricly->symmetrically +cimpiler->compiler +cimpilers->compilers +cimptom->symptom +cimptomatic->symptomatic +cimptomatically->symptomatically +cimptomaticaly->symptomatically +cimptomaticlly->symptomatically +cimptomaticly->symptomatically +cimptoms->symptoms +cimptum->symptom +cimptumatic->symptomatic +cimptumatically->symptomatically +cimptumaticaly->symptomatically +cimptumaticlly->symptomatically +cimptumaticly->symptomatically +cimptums->symptoms Cincinatti->Cincinnati Cincinnatti->Cincinnati cinfiguration->configuration cinfigurations->configurations cintaner->container ciontrol->control +ciotee->coyote +ciotees->coyotes ciper->cipher cipers->ciphers cipersuite->ciphersuite @@ -6102,9 +7052,13 @@ ciphes->ciphers ciphr->cipher ciphrs->ciphers cips->chips +circit->circuit +circits->circuits circluar->circular circluarly->circularly circluars->circulars +circomstance->circumstance +circomstances->circumstances circomvent->circumvent circomvented->circumvented circomvents->circumvents @@ -6170,6 +7124,34 @@ ciruits->circuits cirumflex->circumflex cirumstance->circumstance cirumstances->circumstances +civalasation->civilisation +civalasations->civilisations +civalazation->civilization +civalazations->civilizations +civalesation->civilisation +civalesations->civilisations +civalezation->civilization +civalezations->civilizations +civalisation->civilisation +civalisations->civilisations +civalization->civilization +civalizations->civilizations +civelesation->civilisation +civelesations->civilisations +civelezation->civilization +civelezations->civilizations +civelisation->civilisation +civelisations->civilisations +civelization->civilization +civelizations->civilizations +civilasation->civilisation +civilasations->civilisations +civilazation->civilization +civilazations->civilizations +civilesation->civilisation +civilesations->civilisations +civilezation->civilization +civilezations->civilizations civillian->civilian civillians->civilians cjange->change @@ -6187,7 +7169,14 @@ claerly->clearly claibscale->calibscale claime->claim claimes->claims +clairvoiant->clairvoyant +clairvoiantes->clairvoyants +clairvoiants->clairvoyants clame->claim +clammer->clamber, clamor, +claravoyant->clairvoyant +claravoyantes->clairvoyants +claravoyants->clairvoyants claread->cleared clared->cleared clarety->clarity @@ -6201,14 +7190,19 @@ clasified->classified clasifies->classifies clasify->classify clasifying->classifying +clasroom->classroom +clasrooms->classrooms classe->class, classes, classess->classes classesss->classes +classied->classified classifcation->classification classifed->classified classifer->classifier classifers->classifiers classificaion->classification +classrom->classroom +classroms->classrooms classs->class classses->classes clatified->clarified @@ -6219,6 +7213,7 @@ clea->clean cleaer->clear, clearer, cleaner, cleaered->cleared cleaing->cleaning +clealy->clearly, cleanly, cleancacne->cleancache cleand->cleaned, cleans, clean, cleaness->cleanness @@ -6239,6 +7234,9 @@ clearling->clearing clearnance->clearance clearnances->clearances clearouput->clearoutput +clearstories->clerestories +clearstory->clerestory +clearstorys->clerestories clearted->cleared cleary->clearly cleaup->cleanup @@ -6248,6 +7246,10 @@ cleean->clean cleen->clean cleened->cleaned cleens->cleans +cleeshay->cliché +cleeshays->clichés +cleeshey->cliché +cleesheys->clichés cleff->clef cleint's->client's cleint->client @@ -6278,6 +7280,7 @@ climer->climber climers->climbers climing->climbing clincial->clinical +clinet->client clinets->clients clinicaly->clinically clipboad->clipboard @@ -6285,6 +7288,10 @@ clipboads->clipboards clipoard->clipboard clipoards->clipboards clipoing->clipping +clishay->cliché +clishays->clichés +clishey->cliché +clisheys->clichés cliuent->client cliuents->clients clloud->cloud @@ -6304,8 +7311,11 @@ cloes->close cloesd->closed cloesed->closed cloesing->closing +cloisonay->cloisonné +cloisonays->cloisonnés clonez->clones, cloner, clonning->cloning +cloreen->chlorine clory->glory clos->close closeing->closing @@ -6320,8 +7330,11 @@ cloude->cloud cloudes->clouds cloumn->column cloumns->columns +cloure->closure, clojure, clousre->closure clsoe->close +clssroom->classroom +clssrooms->classrooms cluase->clause clude->clued, clue, clumn->column @@ -6329,6 +7342,8 @@ clumsly->clumsily cluser->cluster clusetr->cluster clustred->clustered +clutser->cluster, clutter, +clutsers->clusters cmak->cmake cmmand->command cmmanded->commanded @@ -6379,6 +7394,10 @@ coalesc->coalesce coalescsing->coalescing coalesed->coalesced coalesence->coalescence +coaless->coalesce +coalessed->coalesced +coalessense->coalescence +coalesses->coalesces coalessing->coalescing coallate->collate coallates->collates @@ -6425,11 +7444,14 @@ coaslescing->coalescing cobining->combining cobvers->covers coccinele->coccinelle +cockateel->cockatiel +cockateels->cockatiels coctail->cocktail cocument->document cocumentation->documentation cocuments->document codde->code, coded, coddle, +codeen->codeine codeing->coding codepoitn->codepoint codesc->codecs @@ -6504,7 +7526,9 @@ cofrimations->confirmations cofrimed->confirmed cofriming->confirming cofrims->confirms -cognizent->cognizant +cogniscent->cognizant, cognisant, +cognizent->cognizant, cognisant, +cohabitating->cohabiting coherance->coherence coherancy->coherency coherant->coherent @@ -6527,16 +7551,29 @@ colaboration->collaboration colaborations->collaborations colateral->collateral coldplg->coldplug +colectable->collectable colected->collected +colecting->collecting colection->collection colections->collections +colective->collective +colector->collector +colectors->collectors +colects->collects +coleeg->colleague +coleeges->colleagues +coleegs->colleagues colelction->collection colelctive->collective +colera->cholera colerscheme->colorscheme colescing->coalescing colision->collision colission->collision collaberative->collaborative +collaberatively->collaboratively +collaboritave->collaborative +collaboritavely->collaboratively collaction->collection collaobrative->collaborative collaps->collapse @@ -6550,6 +7587,8 @@ collaspible->collapsible collasping->collapsing collationg->collation collborative->collaborative +colleage->colleague +colleages->colleagues collecing->collecting collecion->collection collecions->collections @@ -6559,9 +7598,12 @@ collectin->collection collecton->collection collectons->collections colleection->collection +collegate->collegiate collegue->colleague collegues->colleagues collektion->collection +collender->colander +collenders->colanders colletion->collection collidies->collides collisin->collision, collusion, @@ -6574,7 +7616,10 @@ collistion->collision collistions->collisions colllapses->collapses collocalized->colocalized +collocweall->colloquial +collocweally->colloquially collonade->colonnade +collone->cologne collonies->colonies collony->colony collorscheme->colorscheme @@ -6614,6 +7659,7 @@ colourfull->colourful, colourfully, colourpsace->colourspace colourpsaces->colourspaces colsed->closed +colud->could, cloud, colum->column columm->column colummn->column @@ -6659,6 +7705,8 @@ comaptibelities->compatibilities comaptibelity->compatibility comaptible->compatible comarators->comparators +comatibility->compatibility +comatible->compatible comback->comeback combained->combined combanations->combinations @@ -6678,6 +7726,8 @@ combinatorical->combinatorial combinbe->combined combind->combined combinded->combined +combiniation->combination +combiniations->combinations combinine->combine combintaion->combination combintaions->combinations @@ -6695,13 +7745,20 @@ coment->comment comented->commented comenting->commenting coments->comments +comerant->cormorant +comerants->cormorants cometed->commented, competed, comfirm->confirm comflicting->conflicting comformance->conformance +comfterble->comfortable +comfterbly->comfortably comiled->compiled +comiler->compiler comilers->compilers comination->combination +comipler->compiler +comiplers->compilers comision->commission comisioned->commissioned comisioner->commissioner @@ -6739,6 +7796,7 @@ comletly->completely comlex->complex comlexity->complexity comlpeter->completer +comlpex->complex comma-separeted->comma-separated commad->command commadn->command @@ -6746,7 +7804,7 @@ commadn-line->command-line commadnline->commandline commadns->commands commads->commands -comman->command, common, comma, +comman->command, common, comma, commas, commandi->command commandoes->commandos commannd->command @@ -6760,6 +7818,8 @@ commect->connect commected->connected commecting->connecting commectivity->connectivity +commedian->comedian +commedians->comedians commedic->comedic commemerative->commemorative commemmorate->commemorate @@ -6776,9 +7836,13 @@ commericial->commercial commericially->commercially commerorative->commemorative commeted->commented, competed, +commets->comments, comets, commig->commit, coming, comming->coming comminication->communication +comminism->communism +comminist->communist +comminists->communists comminity->community comminucating->communicating comminucation->communication @@ -6923,6 +7987,11 @@ communiation->communication communicaion->communication communicatie->communication communicaton->communication +communikay->communiqué +communikays->communiqués +communisim->communism +communisit->communist +communisits->communists communitcate->communicate communitcated->communicated communitcates->communicates @@ -6931,6 +8000,9 @@ communitcations->communications communites->communities communiy->community communiyt->community +communsim->communism +communsit->communist +communsits->communists communuication->communication commutated->commuted commutating->commuting @@ -6944,7 +8016,11 @@ comnpress->compress comobobox->combo-box comon->common comonent->component +comonents->components +comopnent->component +comopnents->components comor->color +comotion->commotion compability->compatibility compabillity->compatibility compabitiliby->compatibility @@ -6952,6 +8028,7 @@ compabitility->compatibility compagnion->companion compagny->company compaibility->compatibility +compaigns->campaigns compain->complain compair->compare compaire->compare @@ -7062,6 +8139,7 @@ compatiable->compatible compatiablity->compatibility compatibel->compatible compatibile->compatible +compatibililty->compatibility compatibiliy->compatibility compatibiltiy->compatibility compatibilty->compatibility @@ -7074,12 +8152,25 @@ compation->compaction compatitbility->compatibility compativle->compatible compaytibility->compatibility +compeare->compare +compeared->compared +compeares->compares +compearing->comparing +compears->compares +compeat->compete +compeated->competed +compeates->competes +compeating->competing compeitions->competitions compeletely->completely compelte->complete compeltelyt->completely compeltion->completion compeltly->completely +compelx->complex +compelxes->complexes +compelxities->complexities +compelxity->complexity compenent->component, competent, compenents->components, competence, compensantion->compensation @@ -7089,6 +8180,7 @@ compenstates->compensates competance->competence competant->competent competative->competitive +competely->completely competetive->competitive competion->competition, completion, competions->completions @@ -7102,7 +8194,11 @@ compiant->compliant compicated->complicated compications->complications compied->compiled +compieler->compiler +compielers->compilers compilability->compatibility +compilaiton->compilation +compilaitons->compilations compilant->compliant compilaton->compilation compilatons->compilations @@ -7115,10 +8211,18 @@ compilcation->complication compilcations->complications compileable->compilable compiletime->compile time +compilger->compiler +compilgers->compilers compiliant->compliant compiliation->compilation +compilicated->complicated compilier->compiler compiliers->compilers +compiller->compiler +compillers->compilers +compilter->compiler +compilters->compilers +compination->combination, compilation, compitability->compatibility compitable->compatible compitent->competent @@ -7138,7 +8242,10 @@ compleate->complete compleated->completed compleates->completes compleating->completing +compleation->completion, compilation, compleatly->completely +complection->completion +complections->completions compleete->complete compleeted->completed compleetly->completely @@ -7155,6 +8262,7 @@ completeion->completion completelly->completely completelty->completely completelyl->completely +completess->completes, completeness, completetion->completion completetly->completely completiom->completion @@ -7166,10 +8274,13 @@ complette->complete complettly->completely complety->completely complext->complexity +complextion->complexion +complextions->complexions compliace->compliance complianse->compliance compliation->compilation compliations->compilations +complie->compile, complice, complied, complied-in->compiled-in complience->compliance complient->compliant @@ -7179,6 +8290,8 @@ compliler->compiler compliles->compiles compliling->compiling compling->compiling +complitation->compilation, complication, +complitations->compilations, complications, complitely->completely complmenet->complement complted->completed @@ -7199,6 +8312,8 @@ componeent->component componeents->components componemt->component componemts->components +componenent->component +componenents->components componenet->component componenete->component, components, componenets->components @@ -7207,6 +8322,8 @@ componentes->components componet->component componets->components componnents->components +componoent->component +componoents->components componsites->composites compontent->component compontents->components @@ -7253,6 +8370,8 @@ comptible->compatible comptue->compute compuatation->computation compuation->computation +compuler->compiler, computer, +compulers->compilers, computers, compulsary->compulsory compulsery->compulsory compund->compound @@ -7286,6 +8405,9 @@ comtainer->container comtains->contains comunicate->communicate comunication->communication +comunism->communism +comunist->communist +comunists->communists comunity->community comute->commute, compute, comuted->commuted, computed, @@ -7313,6 +8435,8 @@ conatining->containing conatins->contains conbination->combination conbinations->combinations +conbine->combine, confine, +conbined->combined, confined, conbtrols->controls concaneted->concatenated concantenated->concatenated @@ -7338,6 +8462,8 @@ concatonates->concatenates concatonating->concatenating conceed->concede conceedd->conceded +conceet->conceit +conceeted->conceited concensors->consensus concensus->consensus concentate->concentrate @@ -7347,10 +8473,21 @@ concentating->concentrating concentation->concentration concentic->concentric concentraze->concentrate +conceous->conscious +conceousally->consciously +conceously->consciously +conceptification->conceptualization, conceptualisation, +concequence->consequence +concequences->consequences concered->concerned concerened->concerned concering->concerning concerntrating->concentrating +conchance->conscience +conchances->consciences +conchus->conscious +conchusally->consciously +conchusly->consciously concicely->concisely concider->consider concidered->considered @@ -7362,12 +8499,18 @@ concieved->conceived concious->conscious conciously->consciously conciousness->consciousness +concrets->concrete, concerts, +concured->concurred, conquered, concurence->concurrence concurency->concurrency concurent->concurrent concurently->concurrently concurents->concurrents, concurrence, +concurer->conqueror +concures->concurs, conquers, +concuring->concurring, conquering, concurrect->concurrent +concurrectly->concurrently condamned->condemned condem->condemn condemmed->condemned @@ -7817,6 +8960,8 @@ conpleted->completed conpletes->completes conpleting->completing conpletion->completion +conpress->compress +conpressed->compressed conquerd->conquered conquerer->conqueror conquerers->conquerors @@ -7872,6 +9017,8 @@ conseeded->conceded conseeds->concedes consenquently->consequently consensis->consensus +consentious->conscientious +consentiously->conscientiously consentrate->concentrate consentrated->concentrated consentrates->concentrates @@ -7997,6 +9144,7 @@ constarint->constraint constarints->constraints constarnation->consternation constatn->constant +constatns->constants constatnt->constant constatnts->constants constcurts->constructs @@ -8017,9 +9165,13 @@ constitutents->constituents constly->costly constract->construct constracted->constructed +constraction->constriction, construction, contraction, +constractions->constrictions, constructions, contractions, constractor->constructor constractors->constructors constraing->constraining, constraint, +constrainst->constraint, constraints, +constrainsts->constraints constrainted->constrained constraintes->constraints constrainting->constraining @@ -8045,6 +9197,7 @@ constrcution->construction constrcutor->constructor constrcutors->constructors constrcuts->constructs +constriant->constraint constriants->constraints constrint->constraint constrints->constraints @@ -8061,6 +9214,7 @@ constructcor->constructor constructer->constructor constructers->constructors constructes->constructs +constructiong->constructing, construction, constructred->constructed constructt->construct constructted->constructed @@ -8109,13 +9263,16 @@ consultunt->consultant consumate->consummate consumated->consummated consumating->consummating +consumation->consumption, consummation, consummed->consumed consummer->consumer consummers->consumers consumtion->consumption contacentaion->concatenation contagen->contagion +contaied->contained contaienr->container +contaienrs->containers contaier->container contails->contains contaiminate->contaminate @@ -8129,8 +9286,10 @@ containes->contains, container, contained, containg->containing containging->containing containig->containing +containined->contained containings->containing containining->containing +containinng->containing containint->containing containn->contain containner->container @@ -8152,6 +9311,8 @@ contamporaries->contemporaries contamporary->contemporary contan->contain contaned->contained +contaner->container +contaners->containers contanined->contained contaning->containing contanins->contains @@ -8241,18 +9402,23 @@ contination->continuation contine->continue, contain, contined->continued continential->continental +contineous->continuous +contineously->continuously continging->containing contingous->contiguous continguous->contiguous +contining->containing, continuing, continious->continuous continiously->continuously continoue->continue continouos->continuous continous->continuous continously->continuously +contins->contains continueing->continuing continuely->continually continuem->continuum +continuesly->continuously continuos->continuous continuosly->continuously continure->continue @@ -8262,6 +9428,8 @@ continusly->continuously continuting->continuing contious->continuous contiously->continuously +contition->condition +contitions->conditions contiuation->continuation contiue->continue contiuguous->contiguous @@ -8303,6 +9471,8 @@ contraveining->contravening contravercial->controversial contraversy->controversy contrbution->contribution +contrete->concrete +contretely->concretely contribte->contribute contribted->contributed contribtes->contributes @@ -8370,10 +9540,19 @@ contsructor->constructor contstant->constant contstants->constants contstraint->constraint +contstruct->construct +contstructed->constructed contstructing->constructing contstruction->construction contstructor->constructor contstructors->constructors +contstructs->constructs +conttribute->contribute +conttributed->contributed +conttributes->contributes +conttributing->contributing +conttribution->contribution +conttributions->contributions contur->contour contzains->contains conuntry->country @@ -8389,7 +9568,12 @@ conveinent->convenient conveinience->convenience conveinient->convenient convenant->covenant +convencion->convention +convencional->conventional +convencionally->conventionally convenction->convention, convection, +convenctional->conventional +convenctionally->conventionally conveneince->convenience conveniance->convenience conveniant->convenient @@ -8425,9 +9609,20 @@ convertable->convertible convertables->convertibles convertation->conversation, conversion, convertations->conversations, conversions, +converterd->converted, converter, convertet->converted convertion->conversion convertions->conversions +convervable->conservable +convervation->conservation, conversation, +convervative->conservative +convervatives->conservatives +converve->conserve, converse, +converved->conserved, conversed, +converver->conserver, converter, +conververs->conservers +converves->conserves, converses, +converving->conserving, conversing, convery->convert convesion->conversion convesions->conversions @@ -8442,6 +9637,7 @@ convets->converts convexe->convex, convexes, conveyer->conveyor conviced->convinced +convienant->convenient convience->convince, convenience, conviencece->convenience convienence->convenience @@ -8449,6 +9645,7 @@ convienent->convenient convienience->convenience convienient->convenient convieniently->conveniently +convient->convenient, convent, conviently->conveniently conviguration->configuration convigure->configure @@ -8579,6 +9776,7 @@ copmonent->component copmutations->computations copntroller->controller coponent->component +coponents->components copoying->copying coppermines->coppermine coppied->copied @@ -8610,6 +9808,9 @@ copyeight->copyright copyeighted->copyrighted copyeights->copyrights copyied->copied +copyirght->copyright +copyirghted->copyrighted +copyirghts->copyrights copyrigth->copyright copyrigthed->copyrighted copyrigths->copyrights @@ -8656,6 +9857,8 @@ coresponds->corresponds corfirms->confirms coridal->cordial corispond->correspond +cornel->colonel +cornels->colonels cornmitted->committed corordinate->coordinate corordinates->coordinates @@ -8671,6 +9874,8 @@ corosponds->corresponds corousel->carousel corparate->corporate corperations->corporations +corporatoin->corporation +corporatoins->corporations corpration->corporation corproration->corporation corprorations->corporations @@ -8697,6 +9902,8 @@ correctlly->correctly correctnes->correctness correcton->correction correctons->corrections +correctt->correct +correcttly->correctly correcttness->correctness correctures->correctors correcty->correctly @@ -8738,6 +9945,7 @@ corresond->correspond corresonded->corresponded corresonding->corresponding corresonds->corresponds +corresopnding->corresponding correspdoning->corresponding correspending->corresponding correspinding->corresponding @@ -8799,6 +10007,7 @@ corrolated->correlated corrolates->correlates corrolation->correlation corrolations->correlations +corrollary->corollary corrrect->correct corrrected->corrected corrrecting->correcting @@ -8815,16 +10024,19 @@ corrruption->corruption corrseponding->corresponding corrspond->correspond corrsponded->corresponded +corrspondence->correspondence corrsponding->corresponding corrsponds->corresponds corrupeted->corrupted corruptable->corruptible corruptiuon->corruption +corruput->corrupt cors-site->cross-site cors-sute->cross-site -corse->course +corse->course, coarse, core, curse, horse, norse, worse, corpse, CORS, torse, corset, corsor->cursor corss->cross, course, +corss-compiling->cross-compiling corss-site->cross-site corss-sute->cross-site corsses->crosses, courses, @@ -8864,6 +10076,8 @@ costexpr->constexpr costitution->constitution costruct->construct costructer->constructor +costruction->construction +costructions->constructions costructor->constructor costum->custom, costume, costumary->customary @@ -8904,6 +10118,7 @@ could'nt->couldn't could't->couldn't couldent->couldn't coulden`t->couldn't +couldn->could, couldn't, couldn;t->couldn't couldnt'->couldn't couldnt->couldn't @@ -8918,9 +10133,15 @@ coummunities->communities coummunity->community coumpound->compound coumpounds->compounds +councel->council, counsel, +councelled->counselled +councelling->counselling councellor->councillor, counselor, councilor, councellors->councillors, counselors, councilors, -cound->could, count, +councels->councils, counsels, +counciler->councilor +councilers->councilors +cound->could, count, found, counded->counted counding->counting coundition->condition @@ -8929,10 +10150,14 @@ counld->could counpound->compound counpounds->compounds counries->countries, counties, +counsil->counsel +counsils->counsels countain->contain countainer->container countainers->containers countains->contains +countere->counter +counteres->counters counterfit->counterfeit counterfits->counterfeits counterintuive->counter intuitive @@ -8984,7 +10209,10 @@ coverges->coverages, converges, coverred->covered coversion->conversion coversions->conversions +coversity->coverity coverted->converted, covered, coveted, +coverter->converter +coverters->converters coverting->converting covnersion->conversion covnert->convert @@ -8993,7 +10221,8 @@ covnerter->converter covnerters->converters covnertible->convertible covnerting->converting -covnertor->convertor +covnertor->converter +covnertors->converters covnerts->converts covriance->covariance covriate->covariate @@ -9033,12 +10262,15 @@ crahed->crashed crahes->crashes crahs->crash, crass, crahses->crashes +cramugin->curmudgeon +cramugins->curmudgeons crashaes->crashes crasheed->crashed crashees->crashes crashess->crashes crashign->crashing crashs->crashes +cratashous->cretaceous cration->creation, ration, nation, crationalism->rationalism, nationalism, crationalist->rationalist, nationalist, @@ -9080,6 +10312,7 @@ credists->credits creditted->credited creedence->credence cresent->crescent +cresh->crèche cresits->credits cretae->create cretaed->created @@ -9097,6 +10330,8 @@ crewsant->croissant cricital->critical cricitally->critically cricitals->criticals +cript->script, crypt, +cripts->scripts, crypts, crirical->critical crirically->critically criricals->criticals @@ -9130,11 +10365,19 @@ critisizes->criticises, criticizes, critisizing->criticising, criticizing, critized->criticized critizing->criticizing +critque->critique +critqued->critiqued +critquing->critiquing croch->crotch crockadile->crocodile crockodiles->crocodiles cronological->chronological cronologically->chronologically +crooz->cruise +croozed->cruised +croozer->cruiser +croozes->cruises +croozing->cruising croppped->cropped cros->cross cros-site->cross-site @@ -9157,6 +10400,8 @@ crossute->cross-site crowdsigna->crowdsignal crowkay->croquet crowm->crown +crowshay->crochet +crowshays->crochets crrespond->correspond crsytal->crystal crsytalline->crystalline @@ -9179,8 +10424,14 @@ crusor->cursor crutial->crucial crutially->crucially crutialy->crucially +cruze->cruise +cruzed->cruised +cruzer->cruiser +cruzes->cruises +cruzing->cruising crypted->encrypted cryptocraphic->cryptographic +cryptograhic->cryptographic cryptograpic->cryptographic crystalisation->crystallisation cryto->crypto @@ -9205,6 +10456,8 @@ cuase->cause cuased->caused cuases->causes cuasing->causing +cubburd->cupboard +cubburds->cupboards cuestion->question cuestioned->questioned cuestions->questions @@ -9215,12 +10468,20 @@ cummand->command cummulated->cumulated cummulative->cumulative cummunicate->communicate +cumpus->compass +cumpuses->compasses cumulatative->cumulative cumulattive->cumulative cuncurency->concurrency cunted->counted, hunted, cunter->counter, hunter, +cunterpart->counterpart +cunters->counters, hunters, cunting->counting, hunting, +cuple->couple +cuples->couples +curage->courage +curageous->courageous curce->curse, curve, course, curch->church curcuit->circuit @@ -9238,9 +10499,13 @@ curerntly->currently curev->curve curevd->curved curevs->curves +curiocity->curiosity +curiosly->curiously curiousities->curiosities curiousity's->curiosity's curiousity->curiosity +curnel->colonel +curnels->colonels curnilinear->curvilinear currecnies->currencies currecny->currency @@ -9249,6 +10514,7 @@ currected->corrected currecting->correcting currectly->correctly, currently, currects->corrects, currents, +currecy->currency curreent->current curreents->currents curremt->current @@ -9267,6 +10533,7 @@ currentry->currently currenty->currently curresponding->corresponding curretly->currently +curretn->current curretnly->currently curriculem->curriculum currious->curious @@ -9291,9 +10558,18 @@ cursos->cursors, cursor, cursot->cursor cursro->cursor curtesy->courtesy, curtsy, +curteus->courteous +curteusly->courteously +curvasious->curvaceous curvatrue->curvature curvatrues->curvatures curvelinear->curvilinear +cushin->cushion +cushins->cushions +cusine->cuisine +cusines->cuisines +cusom->custom +cussess->success cusstom->custom cusstomer->customer cusstomers->customers @@ -9302,6 +10578,10 @@ cusstomization->customization cusstomize->customize cusstomized->customized cusstoms->customs +custamizable->customizable +custamized->customized +custamizes->customizes +custamizing->customizing custoisable->customisable custoisation->customisation custoise->customise @@ -9325,6 +10605,7 @@ customisaton->customisation customisatons->customisations customizaton->customization customizatons->customizations +customizeable->customizable customizeble->customizable customn->custom customns->customs @@ -9357,7 +10638,7 @@ custumized->customized custums->customs cuted->cut, cute, cuter, cutom->custom -cutted->cut +cutted->cutter, gutted, cut, cuurently->currently cuurrent->current cuurrents->currents @@ -9365,6 +10646,15 @@ cuve->curve, cube, cave, cuves->curves, cubes, caves, cuvre->curve, cover, cuvres->curves, covers, +cuztomizable->customizable +cuztomization->customization +cuztomizations->customizations +cuztomize->customize +cuztomized->customized +cuztomizer->customizer +cuztomizers->customizers +cuztomizes->customizes +cuztomizing->customizing cvignore->cvsignore cxan->cyan cycic->cyclic @@ -9386,6 +10676,13 @@ cylnder->cylinder cylnders->cylinders cylynders->cylinders cymk->CMYK +cymptum->symptom +cymptumatic->symptomatic +cymptumatically->symptomatically +cymptumaticaly->symptomatically +cymptumaticlly->symptomatically +cymptumaticly->symptomatically +cymptums->symptoms cyphersuite->ciphersuite cyphersuites->ciphersuites cyphertext->ciphertext @@ -9408,6 +10705,9 @@ cyrto->crypto cywgin->Cygwin daa->data dabase->database +dabree->debris +dabue->debut +dackery->daiquiri daclaration->declaration dacquiri->daiquiri dadlock->deadlock @@ -9432,24 +10732,35 @@ damange->damage damanged->damaged damanges->damages damanging->damaging +damed->damped, damned, gamed, domed, damenor->demeanor dameon->daemon, demon, Damien, damge->damage +daming->damning, damping, gaming, doming, dammage->damage dammages->damages damon->daemon, demon, damons->daemons, demons, danceing->dancing dandidates->candidates +dangereous->dangerous daplicating->duplicating Dardenelles->Dardanelles +darma->dharma +dasboard->dashboard +dasboards->dashboards dasdot->dashdot dashbaord->dashboard +dashbaords->dashboards +dashboad->dashboard +dashboads->dashboards dashboar->dashboard dashboars->dashboards dashbord->dashboard dashbords->dashboards dashs->dashes +daspora->diaspora +dasporas->diasporas dasy->days, dash, daisy, easy, data-strcuture->data-structure data-strcutures->data-structures @@ -9513,6 +10824,7 @@ daty->data, date, daugher->daughter daugther->daughter daugthers->daughters +daybue->debut dbeian->Debian DCHP->DHCP dcok->dock @@ -9526,6 +10838,7 @@ dcumented->documented dcumenting->documenting dcuments->documents ddelete->delete +ddons->addons de-actived->deactivated de-duplacate->de-duplicate de-duplacated->de-duplicated @@ -9604,6 +10917,8 @@ deamonized->daemonized deamonizes->daemonizes deamonizing->daemonizing deamons->daemons +deapth->depth +deapths->depths deassering->deasserting deatch->detach deatched->detached @@ -9639,6 +10954,10 @@ debians->Debian's debina->Debian debloking->deblocking debnia->Debian +debouce->debounce +debouced->debounced +debouces->debounces +deboucing->debouncing debth->depth debths->depths debudg->debug @@ -9657,6 +10976,7 @@ debugggee->debuggee debuggger->debugger debuggging->debugging debugggs->debugs +debuggin->debugging debugginf->debugging debuggs->debugs debuging->debugging @@ -9678,7 +10998,9 @@ decceleration->deceleration deccrement->decrement deccremented->decremented deccrements->decrements -decelaration->declaration +deceber->December +decelaration->declaration, deceleration, +decelarations->declarations, decelerations, Decemer->December decend->descend decendant->descendant @@ -9689,6 +11011,10 @@ decendentant->descendant decendentants->descendants decendents->descendents, descendants, decending->descending +decern->discern +decerned->discerned +decerning->discerning +decerns->discerns deciaml->decimal deciamls->decimals decices->decides @@ -9712,6 +11038,8 @@ decieved->deceived decieves->deceives decieving->deceiving decimials->decimals +deciple->disciple +deciples->disciples decison->decision decission->decision declar->declare @@ -9815,6 +11143,7 @@ decording->decoding decordings->decodings decorrellation->decorrelation decortator->decorator +decortive->decorative decose->decode decosed->decoded decoser->decoder @@ -9827,6 +11156,12 @@ decrasing->decreasing, deceasing, decration->decoration decreace->decrease decreas->decrease +decreate->decrease, discrete, destroy, desecrate, +decremeant->decrement +decremeantal->decremental +decremeanted->decremented +decremeanting->decrementing +decremeants->decrements decremenet->decrement decremenetd->decremented decremeneted->decremented @@ -9853,6 +11188,7 @@ decroation->decoration decrpt->decrypt decrpted->decrypted decrption->decryption +decryped->decrypted decrytion->decryption decscription->description decsion->decision @@ -9882,7 +11218,6 @@ dedected->detected, deducted, dedection->detection, deduction, dedections->detections dedects->detects, deducts, -dedented->indented dedfined->defined dedidate->dedicate dedidated->dedicated @@ -9913,6 +11248,10 @@ deeep->deep deelte->delete deendencies->dependencies deendency->dependency +deepo->depot +deepos->depots +deesil->diesel +deezil->diesel defail->detail defailt->default defalt->default @@ -9990,6 +11329,9 @@ deferencing->dereferencing deferentiating->differentiating defering->deferring deferreal->deferral +deffault->default +deffaulted->defaulted +deffaults->defaults deffensively->defensively deffered->differed, deferred, defference->difference, deference, @@ -10021,6 +11363,7 @@ defind->defined, defund, definde->defined, defines, define, definded->defined, defunded, definding->defining +defineable->definable defineas->defines defineed->defined definend->defined @@ -10038,10 +11381,11 @@ defininitions->definitions definintion->definition definit->definite definitian->definition +definitiely->definitely definitiion->definition definitiions->definitions definitio->definition -definitios->definitions +definitios->definition, definitions, definitivly->definitively definitly->definitely definitoin->definition @@ -10059,6 +11403,8 @@ defintion->definition defintions->definitions defintition->definition defintivly->definitively +defishant->deficient +defishantly->deficiently defition->definition defitions->definitions deflaut->default @@ -10127,6 +11473,10 @@ deivatives->derivatives deivce->device deivces->devices deivices->devices +dekete->delete +deketed->deleted +deketes->deletes +deketing->deleting deklaration->declaration dekstop->desktop dekstops->desktops @@ -10154,12 +11504,17 @@ delclaration->declaration delection->detection, deletion, selection, delections->detections, deletions, selections, delele->delete +delelete->delete +deleleted->deleted +deleletes->deletes +deleleting->deleting delelte->delete delemeter->delimiter delemiter->delimiter delerious->delirious delet->delete deletd->deleted +deleteable->deletable deleteed->deleted deleteing->deleting deleteion->deletion @@ -10181,9 +11536,14 @@ deliberatly->deliberately deliberite->deliberate deliberitely->deliberately delibery->delivery +delibirate->deliberate +delibirately->deliberately delibrate->deliberate delibrately->deliberately +deliever->deliver +delievered->delivered delievering->delivering +delievers->delivers delievery->delivery delievred->delivered delievries->deliveries @@ -10217,6 +11577,7 @@ delimitors->delimiters delimitted->delimited delimma->dilemma delimted->delimited +delimter->delimiter delimters->delimiter delink->unlink delivared->delivered @@ -10226,6 +11587,10 @@ deliverate->deliberate delivermode->deliverymode deliverying->delivering deliverys->deliveries, delivers, +delpoy->deploy +delpoyed->deployed +delpoying->deploying +delt->dealt delte->delete delted->deleted deltes->deletes @@ -10233,6 +11598,8 @@ delting->deleting deltion->deletion delusionally->delusively delvery->delivery +demagog->demagogue +demagogs->demagogues demaind->demand demaned->demand, demeaned, demenor->demeanor @@ -10248,6 +11615,8 @@ demoninator->denominator demoninators->denominators demonstates->demonstrates demonstrat->demonstrate +demonstratable->demonstrable +demonstratably->demonstrably demonstrats->demonstrates demorcracy->democracy demostrate->demonstrate @@ -10263,6 +11632,11 @@ denomitators->denominators densitity->density densly->densely denstiy->density +dentified->identified +dentifier->identifier +dentifiers->identifiers +dentifies->identifies +dentifying->identifying deocde->decode deocded->decoded deocder->decoder @@ -10385,6 +11759,7 @@ depenently->dependently depening->depending, deepening, depennding->depending depent->depend +depercated->deprecated deperecate->deprecate deperecated->deprecated deperecates->deprecates @@ -10392,13 +11767,18 @@ deperecating->deprecating deploied->deployed deploiment->deployment deploiments->deployments +deployd->deploy, deployed, deployement->deployment deploymenet->deployment deploymenets->deployments +deply->deploy, deeply, depndant->dependent depnds->depends deporarily->temporarily deposint->deposing +depoy->deploy +depoyed->deployed +depoying->deploying depracated->deprecated depreacte->deprecate depreacted->deprecated @@ -10470,6 +11850,12 @@ deregistrated->deregistered deregistred->deregistered deregiter->deregister deregiters->deregisters +dereivative->derivative +dereivatives->derivatives +dereive->derive +dereived->derived +dereives->derives +dereiving->deriving derevative->derivative derevatives->derivatives derference->dereference, deference, @@ -10528,6 +11914,8 @@ descchedules->deschedules desccription->description descencing->descending descendands->descendants +descendat->descendant +descendats->descendants descendend->descended, descendent, descendant, descentences->descendants, descendents, descibe->describe @@ -10567,11 +11955,13 @@ descreased->decreased descreases->decreases descreasing->decreasing descrementing->decrementing +descrepancy->discrepancy descrete->discrete describ->describe describbed->described describibg->describing describng->describing +describs->describes, describe, describtion->description describtions->descriptions descrice->describe @@ -10610,6 +12000,8 @@ descriptot->descriptor descriptoy->descriptor descriptuve->descriptive descrition->description +descritor->descriptor +descritors->descriptors descritpion->description descritpions->descriptions descritpiton->description @@ -10837,6 +12229,9 @@ destuction->destruction destuctive->destructive destuctor->destructor destuctors->destructors +desturb->disturb +desturbed->disturbed +desturbing->disturbing desturcted->destructed desturtor->destructor desturtors->destructors @@ -10860,6 +12255,7 @@ detaults->defaults detction->detection detctions->detections deteced->detected +detech->detect, detach, deteched->detached, detected, detecing->detecting detecion->detection @@ -10872,6 +12268,7 @@ detectetd->detected detectiona->detection, detections, detectsion->detection detectsions->detections +detectt->detect detemine->determine detemined->determined detemines->determines @@ -10881,6 +12278,7 @@ deterant->deterrent deteremine->determine deteremined->determined deteriate->deteriorate +deterimine->determine deterimined->determined deterine->determine deterioriating->deteriorating @@ -10924,6 +12322,7 @@ detination->destination detinations->destinations detremental->detrimental detremining->determining +detrmination->determination detrmine->determine detrmined->determined detrmines->determines @@ -10996,11 +12395,11 @@ deviceremoveable->deviceremovable devicesr->devices devicess->devices devicest->devices -devide->divide +devide->divide, device, devided->divided devider->divider deviders->dividers -devides->divides +devides->divides, devices, deviding->dividing deviece->device devied->device @@ -11010,8 +12409,11 @@ deviiates->deviates deviiating->deviating deviiation->deviation deviiations->deviations +devine->define, divine, devined->defined devired->derived +devirtualiation->devirtualization, devirtualisation, +devirtualied->devirtualized, devirtualised, devirtualisaion->devirtualisation devirtualisaiton->devirtualisation devirtualizaion->devirtualization @@ -11050,6 +12452,7 @@ devritualisation->devirtualisation devritualization->devirtualization devuce->device dewrapping->unwrapping +dezember->December dezert->dessert dezibel->decibel dezine->design @@ -11089,6 +12492,8 @@ dialgos->dialogs dialig->dialog dialigs->dialogs dialoge->dialog, dialogue, +dialouge->dialogue +dialouges->dialogues diamater->diameter diamaters->diameters diamon->diamond @@ -11122,15 +12527,23 @@ dicationaries->dictionaries dicationary->dictionary dicergence->divergence dichtomy->dichotomy +dicide->decide +dicided->decided +dicides->decides +diciding->deciding dicionaries->dictionaries dicionary->dictionary dicipline->discipline +dicision->decision +dicisions->decisions dicitonaries->dictionaries dicitonary->dictionary dicline->decline diconnected->disconnected diconnection->disconnection diconnects->disconnects +dicotomies->dichotomies +dicotomy->dichotomy dicover->discover dicovered->discovered dicovering->discovering @@ -11199,6 +12612,8 @@ diffence->difference diffenet->different diffenrence->difference diffenrences->differences +diffent->different +diffentiating->differentiating differance->difference differances->differences differant->different @@ -11232,6 +12647,7 @@ differentl->differently differents->different, difference, differernt->different differes->differs +differet->different differetnt->different differnce->difference differnces->differences @@ -11328,6 +12744,8 @@ dilligence->diligence dilligent->diligent dilligently->diligently dillimport->dllimport +dimand->demand, diamond, +dimands->demands, diamonds, dimansion->dimension dimansional->dimensional dimansions->dimensions @@ -11368,15 +12786,21 @@ dimmensioning->dimensioning dimmensions->dimensions dimnension->dimension dimnention->dimension +dimond->diamond +dimonds->diamonds dimunitive->diminutive dinamic->dynamic dinamically->dynamically dinamicaly->dynamically dinamiclly->dynamically dinamicly->dynamically +dingee->dinghy +dingees->dinghies +dinghys->dinghies dinmaic->dynamic dinteractively->interactively diong->doing +dioreha->diarrhea diosese->diocese diphtong->diphthong diphtongs->diphthongs @@ -11389,6 +12813,7 @@ diplomancy->diplomacy dipose->dispose, depose, diposed->disposed, deposed, diposing->disposing, deposing, +diptheria->diphtheria dipthong->diphthong dipthongs->diphthongs dircet->direct @@ -11405,6 +12830,8 @@ direcctries->directories direcdories->directories direcdory->directory direcdorys->directories +direcetories->directories +direcetory->directory direcion->direction direcions->directions direciton->direction @@ -11433,6 +12860,7 @@ directon->direction directoories->directories directoory->directory directores->directories +directoriei->directories directoris->directories directort->directory directorty->directory @@ -11476,6 +12904,7 @@ dirtyed->dirtied dirtyness->dirtiness dirver->driver disabe->disable +disabed->disabled disabeling->disabling disabels->disables disabes->disables @@ -11499,6 +12928,14 @@ disalow->disallow disambigouate->disambiguate disambiguaiton->disambiguation disambiguiation->disambiguation +disapait->dissipate +disapaited->dissipated +disapaiting->dissipating +disapaits->dissipates +disapat->dissipate +disapated->dissipated +disapating->dissipating +disapats->dissipates disapear->disappear disapeard->disappeared disapeared->disappeared @@ -11520,6 +12957,11 @@ disapperars->disappears disappered->disappeared disappering->disappearing disappers->disappears +disappline->discipline +disapplined->disciplined +disapplines->disciplines +disapplining->disciplining +disapplins->disciplines disapporval->disapproval disapporve->disapprove disapporved->disapproved @@ -11533,6 +12975,7 @@ disapprouving->disapproving disaproval->disapproval disard->discard disariable->desirable +disasembler->disassembler disassebled->disassembled disassocate->disassociate disassocation->disassociation @@ -11626,10 +13069,13 @@ disconnnect->disconnect discontigious->discontiguous discontigous->discontiguous discontiguities->discontinuities +discontiguos->discontiguous discontinous->discontinuous discontinuos->discontinuous discontinus->discontinue, discontinuous, discoraged->discouraged +discotek->discotheque +discoteque->discotheque discouranged->discouraged discourarged->discouraged discourrage->discourage @@ -11688,6 +13134,7 @@ disertation->dissertation disfunctional->dysfunctional disfunctionality->dysfunctionality disgarded->discarded, discarted, +disgest->digest disgn->design disgned->designed disgner->designer @@ -11699,6 +13146,8 @@ disguisting->disgusting disharge->discharge disign->design disignated->designated +disingenous->disingenuous +disingenously->disingenuously disinguish->distinguish disiplined->disciplined disired->desired @@ -11751,6 +13200,7 @@ dispathing->dispatching dispay->display dispayed->displayed dispayes->displays +dispaying->displaying dispayport->displayport dispays->displays dispbibute->distribute @@ -11793,6 +13243,8 @@ disproportiate->disproportionate disproportionatly->disproportionately disputandem->disputandum disregrad->disregard +disrepectful->disrespectful +disrepectfully->disrespectfully disrete->discrete disretion->discretion disribution->distribution @@ -12034,6 +13486,8 @@ distrbutes->distributes distrbuting->distributing distrbution->distribution distrbutions->distributions +distrct->district +distrcts->districts distrebuted->distributed distribtion->distribution distribtions->distributions @@ -12084,6 +13538,7 @@ disussion->discussion disussions->discussions disutils->distutils ditance->distance +ditial->digital ditinguishes->distinguishes ditorconfig->editorconfig ditribute->distribute @@ -12098,6 +13553,7 @@ diversed->diverse, diverged, divertion->diversion divertions->diversions divet->divot +diviation->deviation, divination, divice->device divicer->divider dividor->divider, divisor, @@ -12123,7 +13579,6 @@ doalog->dialog doamin->domain, dopamine, doamine->dopamine, domain, doamins->domains -doas->does doasn't->doesn't doble->double dobled->doubled @@ -12184,6 +13639,7 @@ documentataion->documentation documentataions->documentations documentaton->documentation documentes->documents +documentiation->documentation documention->documentation documetation->documentation documetnation->documentation @@ -12303,6 +13759,8 @@ dosn't->doesn't dosn;t->doesn't dosnt->doesn't dosposing->disposing +dosseay->dossier +dosseays->dossiers dosument->document dosuments->documents dota->data @@ -12349,6 +13807,7 @@ doucments->documents douible->double douibled->doubled doulbe->double +doumentation->documentation doumentc->document dout->doubt dowgrade->downgrade @@ -12471,6 +13930,11 @@ driagram->diagram driagrammed->diagrammed driagramming->diagramming driagrams->diagrams +dribbel->dribble +dribbeld->dribbled +dribbeled->dribbled +dribbeling->dribbling +dribbels->dribbles driectly->directly drity->dirty driveing->driving @@ -12485,6 +13949,8 @@ droppend->dropped droppped->dropped dropse->drops droput->dropout +drowt->drought +drowts->droughts druing->during druming->drumming drummless->drumless @@ -12503,14 +13969,20 @@ dstinations->destinations dthe->the dtoring->storing dubios->dubious +duble->double +dubled->doubled +dubley->doubly dublicade->duplicate dublicat->duplicate dublicate->duplicate dublicated->duplicated dublicates->duplicates dublication->duplication +dubling->doubling, Dublin, +dubly->doubly ducment->document ducument->document +dudo->sudo dueing->doing, during, dueling, duirng->during dulicate->duplicate @@ -12556,6 +14028,10 @@ dupliations->duplications duplicat->duplicate duplicatd->duplicated duplicats->duplicates +duplicte->duplicate +duplicted->duplicated +duplictes->duplicates +dupliction->duplication dupplicate->duplicate dupplicated->duplicated dupplicates->duplicates @@ -12606,11 +14082,14 @@ eailier->earlier eaiser->easier ealier->earlier ealiest->earliest +eamcs->emacs eample->example eamples->examples eanable->enable eanble->enable earch->search, each, +eariler->earlier +earily->eerily earleir->earlier earler->earlier earliear->earlier @@ -12619,17 +14098,23 @@ earlist->earliest earlyer->earlier earnt->earned earpeice->earpiece +eary->eerie +earyly->eerily easely->easily easer->easier, eraser, easili->easily easiliy->easily easilly->easily +easilty->easily easist->easiest easiy->easily easly->easily easyer->easier eaturn->return, eaten, Saturn, eaxct->exact +eazier->easier +eaziest->easiest +eazy->easy ebale->enable ebaled->enabled EBCIDC->EBCDIC @@ -12661,11 +14146,19 @@ ecxited->excited ecxites->excites ecxiting->exciting ecxtracted->extracted +eczecute->execute +eczecuted->executed +eczecutes->executes +eczecuting->executing +eczecutive->executive +eczecutives->executives EDCDIC->EBCDIC eddge->edge eddges->edges edditable->editable ede->edge +edeycat->etiquette +edeycats->etiquettes ediable->editable edige->edge ediges->edges @@ -12690,6 +14183,9 @@ edning->ending, edging, edxpected->expected eearly->early eeeprom->EEPROM +eeger->eager +eegerly->eagerly +eejus->aegis eescription->description eevery->every eeverything->everything @@ -12706,12 +14202,17 @@ efel->evil eferences->references efetivity->effectivity effciency->efficiency +effcient->efficient +effciently->efficiently effctive->effective effctively->effectively +effeceively->effectively effeciency->efficiency effecient->efficient effeciently->efficiently effecitvely->effectively +effecive->effective +effecively->effectively effeck->effect effecked->effected effecks->effects @@ -12722,6 +14223,8 @@ effectiviness->effectiveness effectivness->effectiveness effectly->effectively effedts->effects +effeect->effect +effeects->effects effekt->effect effexts->effects efficcient->efficient @@ -12737,6 +14240,7 @@ efford->effort, afford, effords->efforts, affords, effulence->effluence eforceable->enforceable +efore->before, afore, egal->equal egals->equals egde->edge @@ -12750,6 +14254,7 @@ egenralize->generalize egenralized->generalized egenralizes->generalizes egenrally->generally +egregrious->egregious ehance->enhance ehanced->enhanced ehancement->enhancement @@ -12769,6 +14274,13 @@ einstance->instance eisntance->instance eiter->either eith->with +elagance->elegant +elagant->elegant +elagantly->elegantly +elamentaries->elementaries +elamentary->elementary +elamentries->elementaries +elamentry->elementary elaspe->elapse elasped->elapsed elaspes->elapses @@ -12784,6 +14296,7 @@ electical->electrical electirc->electric electircal->electrical electon->election, electron, +electorial->electoral electrial->electrical electricly->electrically electricty->electricity @@ -12814,6 +14327,7 @@ elemens->elements elemenst->elements elementay->elementary elemente->element, elements, +elementries->elementaries elementry->elementary elemet->element elemetal->elemental @@ -12885,12 +14399,28 @@ elsiof->elseif elsof->elseif emabaroged->embargoed emable->enable +emabled->enabled +emables->enables +emabling->enabling +emai->email emailling->emailing +emasc->emacs +embalance->imbalance +embaras->embarrass +embarased->embarrassed +embarases->embarrasses +embarasing->embarrassing +embarasingly->embarrassingly embarass->embarrass embarassed->embarrassed embarasses->embarrasses embarassing->embarrassing +embarassingly->embarrassingly embarassment->embarrassment +embaress->embarrass +embaressed->embarrassed +embaresses->embarrasses +embaressing->embarrassing embargos->embargoes embarras->embarrass embarrased->embarrassed @@ -12908,11 +14438,15 @@ embeddeding->embedding embedds->embeds embeded->embedded embededded->embedded +embeding->embedding embeed->embed embezelled->embezzled emblamatic->emblematic embold->embolden +embrio->embryo +embrios->embryos embrodery->embroidery +emcas->emacs emcompass->encompass emcompassed->encompassed emcompassing->encompassing @@ -12920,6 +14454,8 @@ emedded->embedded emegrency->emergency emenet->element emenets->elements +emense->immense +emensely->immensely emiited->emitted eminate->emanate eminated->emanated @@ -12950,6 +14486,10 @@ emnity->enmity emoty->empty emough->enough emought->enough +empass->impasse +empasses->impasses +emperial->imperial +emperially->imperially emperical->empirical emperically->empirically emphaised->emphasised @@ -12968,6 +14508,10 @@ emplying->employing emplyment->employment emplyments->employments emporer->emperor +empressed->impressed +empressing->impressing +empressive->impressive +empressively->impressively emprically->empirically emprisoned->imprisoned emprove->improve @@ -12976,6 +14520,7 @@ emprovement->improvement emprovements->improvements emproves->improves emproving->improving +empted->emptied emptniess->emptiness emptry->empty emptyed->emptied @@ -13011,6 +14556,11 @@ enbales->enables enbaling->enabling enbedding->embedding enble->enable +enbrace->embrace +enbraced->embraced +enbracer->embracer +enbraces->embraces +enbracing->embracing encapsualtes->encapsulates encapsulatzion->encapsulation encapsultion->encapsulation @@ -13041,6 +14591,10 @@ encompas->encompass encompased->encompassed encompases->encompasses encompasing->encompassing +encompus->encompass +encompused->encompassed +encompuses->encompasses +encompusing->encompassing enconde->encode enconded->encoded enconder->encoder @@ -13069,8 +14623,13 @@ encounterd->encountered encountre->encounter, encountered, encountres->encounters encouraing->encouraging +encourge->encourage +encourged->encouraged +encourges->encourages +encourging->encouraging encouter->encounter encoutered->encountered +encoutering->encountering encouters->encounters encoutner->encounter encoutners->encounters @@ -13091,6 +14650,7 @@ encrption->encryption encrptions->encryptions encrpts->encrypts encrupted->encrypted +encryped->encrypted encrypiton->encryption encrypte->encrypted, encrypt, encryptiion->encryption @@ -13111,6 +14671,11 @@ endcoding->encoding endcodings->encodings endding->ending ende->end +endever->endeavor +endevered->endeavored +endeveres->endeavors +endevering->endeavoring +endevers->endeavors endevors->endeavors endevour->endeavour endfi->endif @@ -13122,6 +14687,7 @@ endiannes->endianness endien->endian, indian, endiens->endians, indians, endig->ending +endiif->endif endiness->endianness endnoden->endnode endoint->endpoint @@ -13133,6 +14699,7 @@ endpont->endpoint endponts->endpoints endsup->ends up enduce->induce +endur->endure eneables->enables enebale->enable enebaled->enabled @@ -13207,6 +14774,9 @@ Enlish->English, enlist, enlose->enclose enmpty->empty enmum->enum +enmvironment->environment +enmvironmental->environmental +enmvironments->environments ennpoint->endpoint enntries->entries enocde->encode @@ -13219,6 +14789,8 @@ enocdings->encodings enogh->enough enoght->enough enoguh->enough +enormass->enormous +enormassly->enormously enouch->enough enoucnter->encounter enoucntered->encountered @@ -13260,10 +14832,15 @@ enrtry->entry enrty->entry ensconsed->ensconced entaglements->entanglements +entend->intend entended->intended +entending->intending +entends->intends entension->extension entensions->extensions +entent->intent ententries->entries +entents->intents enterance->entrance enteratinment->entertainment entereing->entering @@ -13275,7 +14852,12 @@ enterprices->enterprises entery->entry enteties->entities entety->entity +enthaplies->enthalpies +enthaply->enthalpy enthousiasm->enthusiasm +enthuseastic->enthusiastic +enthuseastically->enthusiastically +enthuseasticly->enthusiastically enthusiam->enthusiasm enthusiatic->enthusiastic entierly->entirely @@ -13298,6 +14880,7 @@ entitiy->entity entitiys->entities entitlied->entitled entitys->entities +entiy->entity entoties->entities entoty->entity entquire->enquire, inquire, @@ -13308,6 +14891,9 @@ entquiry->enquiry, inquiry, entrace->entrance entraced->entranced entraces->entrances +entrapeneur->entrepreneur +entrapeneurs->entrepreneur +entreis->entries entrepeneur->entrepreneur entrepeneurs->entrepreneurs entrie->entry, entries, @@ -13317,7 +14903,10 @@ entrophy->entropy entrys->entries, entry, enttries->entries enttry->entry +entusiastic->enthusiastic +entusiastically->enthusiastically enty->entry, entity, +enuf->enough enulation->emulation enumarate->enumerate enumarated->enumerated @@ -13326,6 +14915,8 @@ enumarating->enumerating enumation->enumeration enumearate->enumerate enumearation->enumeration +enumeratior->enumerator +enumeratiors->enumerators enumerble->enumerable enumertaion->enumeration enusre->ensure @@ -13335,6 +14926,8 @@ envelopped->enveloped enveloppes->envelopes envelopping->enveloping enver->never +envinronment->environment +envinronments->environments envioment->environment enviomental->environmental envioments->environments @@ -13383,6 +14976,9 @@ environement->environment environemnt->environment environemntal->environmental environemnts->environments +environemt->environment +environemtal->environmental +environemts->environments environent->environment environmane->environment environmenet->environment @@ -13394,6 +14990,10 @@ environmont->environment environnement->environment environtment->environment envoke->invoke, evoke, +envoked->invoked, evoked, +envoker->invoker, evoker, +envokes->invokes, evokes, +envoking->invoking, evoking, envolutionary->evolutionary envolved->involved envorce->enforce @@ -13419,9 +15019,14 @@ epecting->expecting epects->expects ephememeral->ephemeral ephememeris->ephemeris +ephemereal->ephemeral +ephemereally->ephemerally epidsodes->episodes epigramic->epigrammatic epilgoue->epilogue +episdoe->episode +episdoes->episodes +epitamy->epitome eploit->exploit eploits->exploits epmty->empty @@ -13488,6 +15093,7 @@ eqution->equation equtions->equations equvalent->equivalent equvivalent->equivalent +eralier->earlier erally->orally, really, erasablocks->eraseblocks erasuer->erasure, eraser, @@ -13511,11 +15117,13 @@ erraneously->erroneously erro->error erroneus->erroneous erroneusly->erroneously +erronoeus->erroneous erronous->erroneous erronously->erroneously errorneous->erroneous errorneously->erroneously errorneus->erroneous +errornoeus->erroneous errornous->erroneous errornously->erroneously errorprone->error-prone @@ -13534,6 +15142,7 @@ ertor->error, terror, ertors->errors, terrors, ervery->every erverything->everything +ervices->services esacpe->escape esacped->escaped esacpes->escapes @@ -13544,6 +15153,8 @@ escalting->escalating escaltion->escalation escapeable->escapable escapemant->escapement +escartment->escarpment +escartments->escarpments escased->escaped escate->escalate, escape, escated->escalated, escaped, @@ -13552,6 +15163,12 @@ escating->escalating, escaping, escation->escalation esccape->escape esccaped->escaped +esclude->exclude +escluded->excluded +escludes->excludes +escluding->excluding +esclusion->exclusion +esclusions->exclusions escpae->escape escpaed->escaped esecute->execute @@ -13563,6 +15180,7 @@ esgers->edgers esges->edges esging->edging esiest->easiest +esily->easily esimate->estimate esimated->estimated esimates->estimates @@ -13599,6 +15217,11 @@ especifically->specifically, especially, especiially->especially espect->expect espeically->especially +espisode->episode +espisodes->episodes +espisodic->episodic +espisodical->episodical +espisodically->episodically esponding->desponding, responding, esseintially->essentially essencial->essential @@ -13634,11 +15257,16 @@ estimage->estimate estimages->estimates estiomator->estimator estiomators->estimators +estuwarries->estuaries +estuwarry->estuary +esudo->sudo esy->easy etablish->establish etablishd->established etablished->established etablishing->establishing +etamologies->etymologies +etamology->etymology etcc->etc etcp->etc etend->extend, attend, @@ -13657,6 +15285,7 @@ ethose->those, ethos, etiher->either etroneous->erroneous etroneously->erroneously +etropy->entropy etror->error, terror, etrors->errors, terrors, etsablishment->establishment @@ -13675,12 +15304,17 @@ Europian->European Europians->Europeans Eurpean->European Eurpoean->European +evailable->available evalation->evaluation evalite->evaluate evalited->evaluated evalites->evaluates evaluataion->evaluation evaluataions->evaluations +evaluatate->evaluate +evaluatated->evaluated +evaluatates->evaluates +evaluatating->evaluating evalueate->evaluate evalueated->evaluated evaluete->evaluate @@ -13705,6 +15339,10 @@ evaluted->evaluated evalutes->evaluates evaluting->evaluating evalution->evaluation, evolution, +evalutions->evaluations +evalutive->evaluative +evalutor->evaluator +evalutors->evaluators evaulate->evaluate evaulated->evaluated evaulates->evaluates @@ -13761,12 +15399,22 @@ everythings->everything everytime->every time everyting->everything everytone->everyone +everywher->everywhere +evesdrop->eavesdrop +evesdropped->eavesdropped +evesdropper->eavesdropper +evesdropping->eavesdropping +evesdrops->eavesdrops evey->every eveyone->everyone eveyr->every evidentally->evidently evironment->environment evironments->environments +eviserate->eviscerate +eviserated->eviscerated +eviserates->eviscerates +eviserating->eviscerating evition->eviction evluate->evaluate evluated->evaluated @@ -13783,6 +15431,7 @@ evoluate->evaluate evoluated->evaluated evoluates->evaluates evoluation->evaluations +evoluton->evolution evovler->evolver evovling->evolving evrithing->everything @@ -13801,6 +15450,8 @@ exagerate->exaggerate exagerated->exaggerated exagerates->exaggerates exagerating->exaggerating +exageration->exaggeration +exagerations->exaggerations exagerrate->exaggerate exagerrated->exaggerated exagerrates->exaggerates @@ -13848,6 +15499,7 @@ exatcly->exactly exatctly->exactly exatly->exactly exausted->exhausted +exaustive->exhaustive excact->exact excactly->exactly excahcnge->exchange @@ -13905,6 +15557,7 @@ exceded->exceeded excedeed->exceeded excedes->exceeds exceding->exceeding +exceds->exceeds exceeed->exceed exceirpt->excerpt exceirpts->excerpts @@ -13945,6 +15598,13 @@ excerciser->exerciser excercises->exercises excercising->exercising excerise->exercise +excerised->exercised +excerises->exercises +excerising->exercising +excersize->exercise +excersized->exercised +excersizes->exercises +excersizing->exercising exces->excess excesed->exceeded excesive->excessive @@ -14060,8 +15720,13 @@ excisted->existed excisting->existing excitment->excitement exclamantion->exclamation +excliude->exclude +excliuded->excluded +excliudes->excludes +excliuding->excluding excludde->exclude excludind->excluding +exclue->exclude excluse->exclude, excuse, exclusive, exclusiv->exclusive exclusivelly->exclusively @@ -14111,6 +15776,9 @@ execeeded->exceeded execeeds->exceeds exeception->exception execeptions->exceptions +execise->excise, exercise, +execised->excised, exercised, +execises->excises, exercises, execising->exercising execption->exception execptions->exceptions @@ -14289,15 +15957,32 @@ exerciesed->exercised exercieses->exercises exerciesing->exercising exercize->exercise +exercized->exercised +exercizes->exercises +exercizing->exercising exerimental->experimental +exernal->external exerpt->excerpt exerpts->excerpts +exersice->exercise +exersiced->exercised +exersices->exercises +exersicing->exercising +exersise->exercise +exersised->exercised +exersises->exercises +exersising->exercising exersize->exercise +exersized->exercised exersizes->exercises +exersizing->exercising exerternal->external exeucte->execute exeucted->executed exeuctes->executes +exeuction->execution +exeuctioner->executioner +exeuctions->executions exeution->execution exexutable->executable exhalted->exalted @@ -14310,17 +15995,27 @@ exhautivity->exhaustivity exhcuast->exhaust exhcuasted->exhausted exhibtion->exhibition +exhilerate->exhilarate +exhilerated->exhilarated +exhilerates->exhilarates +exhilerating->exhilarating exhist->exist exhistance->existence exhisted->existed exhistence->existence exhisting->existing exhists->exists +exhorbitent->exorbitant +exhorbitently->exorbitantly exhostive->exhaustive exhustiveness->exhaustiveness exibition->exhibition exibitions->exhibitions exicting->exciting +exilerate->exhilarate +exilerated->exhilarated +exilerates->exhilarates +exilerating->exhilarating exinct->extinct exipration->expiration exipre->expire @@ -14337,7 +16032,7 @@ existance->existence existant->existent existatus->exitstatus existencd->existence -existend->existed +existend->existed, existent, existense->existence existin->existing existince->existence @@ -14352,6 +16047,7 @@ exitation->excitation exitations->excitations exite->exit, excite, exits, exitsing->existing, exiting, +exitss->exists, exits, exitt->exit exitted->exited exitting->exiting @@ -14361,6 +16057,8 @@ exixt->exist exlamation->exclamation exlcude->exclude exlcuding->excluding +exlcusion->exclusion +exlcusions->exclusions exlcusive->exclusive exlicit->explicit exlicite->explicit @@ -14394,12 +16092,13 @@ exntry->entry exolicit->explicit exolicitly->explicitly exonorate->exonerate -exort->export +exort->export, exhort, exorted->exported, extorted, exerted, exoskelaton->exoskeleton expalin->explain expanation->explanation, expansion, expanations->explanations, expansions, +expanble->expandable expaned->expand, expanded, explained, expaning->expanding expanion->expansion @@ -14431,8 +16130,9 @@ expectatons->expectations expectd->expected expecte->expected expectes->expects -expection->exception -expections->exceptions +expection->exception, expectation, +expections->exceptions, expectations, +expediated->expedited expeditonary->expeditionary expeect->expect expeected->expected @@ -14995,7 +16695,11 @@ explecitely->explicitly explecitily->explicitly explecitly->explicitly explenation->explanation +explian->explain explicat->explicate +explicete->explicit, explicitly, +explicetely->explicitly +explicetly->explicitly explicilt->explicit explicilty->explicitly explicite->explicit, explicitly, @@ -15003,9 +16707,11 @@ explicited->explicit, explicitly, explicitelly->explicitly explicitely->explicitly explicitily->explicitly +explicits->explicit explicity->explicitly explicityly->explicitly explict->explicit +explicte->explicit, explicate, explictely->explicitly explictily->explicitly explictly->explicitly @@ -15019,6 +16725,7 @@ explit->explicit explitictly->explicitly explitit->explicit explitly->explicitly +explixitely->explicitly explizit->explicit explizitly->explicitly exploition->explosion, exploitation, exploit, @@ -15054,7 +16761,10 @@ expors->exports exportet->exported, exporter, expport->export exppressed->expressed +expres->express +expresed->expressed expreses->expresses, express, +expresing->expressing expresion->expression expresions->expressions expressable->expressible @@ -15068,7 +16778,10 @@ exprience->experience exprienced->experienced expriences->experiences exprimental->experimental +expropiate->expropriate expropiated->expropriated +expropiates->expropriates +expropiating->expropriating expropiation->expropriation exprot->export exproted->exported @@ -15086,6 +16799,8 @@ exsistent->existent exsisting->existing exsists->exists exsit->exist, exit, +exsited->excited, existed, +exsitence->existence exsiting->existing exsits->exists, exist, exspect->expect @@ -15108,6 +16823,10 @@ extacy->ecstasy extarnal->external extarnally->externally extatic->ecstatic +exted->extend +exteded->extended +exteder->extender +exteders->extenders extedn->extend extedned->extended extedner->extender @@ -15142,6 +16861,7 @@ extepects->expects exteral->external extered->exerted extereme->extreme +extermal->external, extremal, exterme->extreme extermest->extremest extermist->extremist @@ -15182,6 +16902,7 @@ extractins->extractions extradiction->extradition extraenous->extraneous extranous->extraneous +extraordinarly->extraordinarily extrapoliate->extrapolate extrat->extract extrated->extracted @@ -15194,9 +16915,6 @@ extrator->extractor extrators->extractors extrats->extracts extravagent->extravagant -extraversion->extroversion -extravert->extrovert -extraverts->extroverts extraxt->extract extraxted->extracted extraxting->extracting @@ -15238,6 +16956,8 @@ exturdes->extrudes exturding->extruding exuberent->exuberant exucuted->executed +exurpt->excerpt +exurpts->excerpts eyar->year, eyas, eyars->years, eyas, eyasr->years, eyas, @@ -15286,7 +17006,7 @@ faied->failed, fade, faield->failed faild->failed failded->failed -faile->failed +faile->fail, failed, failer->failure failes->fails failicies->facilities @@ -15305,12 +17025,16 @@ failsave->fail-safe, failsafe, failsaves->fail-safes, failsafes, failt->fail, failed, failture->failure +failtures->failures failue->failure failuer->failure +failuers->failures failues->failures failured->failed faireness->fairness fairoh->pharaoh +faiulre->failure +faiulres->failures faiway->fairway faiways->fairways faktor->factor @@ -15323,6 +17047,7 @@ falied->failed faliure->failure faliures->failures fallabck->fallback +fallbacl->fallback fallbck->fallback fallhrough->fallthrough fallthruogh->fallthrough @@ -15332,9 +17057,10 @@ falshed->flashed falshes->flashes falshing->flashing falsly->falsely -falsy->falsely, false, +falso->false falt->fault falure->failure +falures->failures familar->familiar familes->families familiies->families @@ -15343,22 +17069,48 @@ familliar->familiar familly->family famlilies->families famlily->family +famly->family famoust->famous fanatism->fanaticism fancyness->fanciness +fane->fan, feign, farction->fraction, faction, Farenheight->Fahrenheit Farenheit->Fahrenheit farest->fairest, farthest, +fariar->farrier faries->fairies +farmasudic->pharmaceutic +farmasudical->pharmaceutical +farmasudics->pharmaceutics farmework->framework +farse->farce +farses->farces +farsical->farcical fasade->facade -fase->faze, phase, +fase->faze, phase, false, fased->fazed, phased, +faseeshus->facetious +faseeshusly->facetiously +fasen->fasten +fasend->fastened +fasened->fastened +fasening->fastening +fasens->fastens, fasels, fases->fazes, phases, +fashism->fascism +fashist->fascist +fashists->fascists +fashon->fashion +fashonable->fashionable +fashoned->fashioned +fashoning->fashioning +fashons->fashions fasing->fazing, phasing, fasion->fashion fasle->false +fasodd->facade +fasodds->facades fassade->facade fassinate->fascinate fasterner->fastener @@ -15374,12 +17126,17 @@ fature->feature faught->fought fauilure->failure fauilures->failures +faulsure->failure +faulsures->failures +faulure->failure +faulures->failures faund->found, fund, fauture->feature fautured->featured fautures->features fauturing->featuring favoutrable->favourable +favritt->favorite favuourites->favourites faymus->famous fcound->found @@ -15502,6 +17259,7 @@ filetests->file tests fileystem->filesystem fileystems->filesystems filiament->filament +filies->files fillay->fillet filld->filled, filed, fill, fille->file, fill, filled, @@ -15558,6 +17316,7 @@ finelly->finally finess->finesse finge->finger, fringe, fingeprint->fingerprint +fingerpint->fingerprint finialization->finalization finializing->finalizing finilizes->finalizes @@ -15598,6 +17357,7 @@ firmwear->firmware firmwqre->firmware firmwre->firmware firmwware->firmware +firrst->first firsname->firstname, first name, firsr->first firstest->firsttest, first test, @@ -15616,6 +17376,8 @@ fitering->filtering fiters->filters, fighters, fitters, fivers, fith->fifth, filth, fitler->filter +fitlered->filtered +fitlering->filtering fitlers->filters fivety->fifty fixe->fixed, fixes, fix, fixme, fixer, @@ -15646,6 +17408,7 @@ flakyness->flakiness flamable->flammable flaot->float flaoting->floating +flase->false, flake, flame, flare, flash, flask, flashflame->flashframe flashig->flashing flasing->flashing @@ -15666,6 +17429,7 @@ flexibel->flexible flexibele->flexible flexibilty->flexibility flexibily->flexibly, flexibility, +flexiblity->flexibility flext->flex flie->file fliter->filter @@ -15692,6 +17456,8 @@ fluroescent->fluorescent flushs->flushes flusing->flushing flyes->flies, flyers, +fnction->function +fnctions->functions fo->of, for, to, do, go, focu->focus focued->focused @@ -15699,8 +17465,6 @@ focument->document focuse->focus focusf->focus focuss->focus -focussed->focused -focusses->focuses fof->for foget->forget fogot->forgot @@ -15896,7 +17660,7 @@ folwoiwng->following folwoong->following folwos->follows folx->folks -fom->from +fom->from, form, fomat->format fomated->formatted fomater->formatter @@ -15932,6 +17696,7 @@ fonetic->phonetic fontain->fountain, contain, fontains->fountains, contains, fontier->frontier +fontisizing->fontifying fontonfig->fontconfig fontrier->frontier fonud->found @@ -15939,6 +17704,7 @@ foontnotes->footnotes foootball->football foorter->footer footnoes->footnotes +footprinst->footprints foound->found foppy->floppy foppys->floppies @@ -15946,6 +17712,7 @@ foramatting->formatting foramt->format forat->format forbad->forbade +forbatum->verbatim forbbiden->forbidden forbiden->forbidden forbit->forbid @@ -15958,7 +17725,10 @@ forcaster->forecaster forcasters->forecasters forcasting->forecasting forcasts->forecasts +forceably->forcibly forcot->forgot +forece->force +foreced->forced foreces->forces foregrond->foreground foregronds->foregrounds @@ -15967,11 +17737,19 @@ forementionned->aforementioned forermly->formerly foreward->foreword, forward, forfiet->forfeit +forfit->forfeit +forfited->forfeited +forfiting->forfeiting +forfits->forfeits forgeround->foreground forgoten->forgotten +forgotton->forgotten forground->foreground forhead->forehead foriegn->foreign +forin->foreign +foriner->foreigner +foriners->foreigners forld->fold forlder->folder forlders->folders @@ -15986,9 +17764,11 @@ formaters->formatters formates->formats formath->format formaths->formats +formatiing->formatting formating->formatting formatteded->formatted formattgin->formatting +formattied->formatted formattind->formatting formattings->formatting formattring->formatting @@ -15996,6 +17776,7 @@ formattted->formatted formattting->formatting formelly->formerly formely->formerly +formen->foremen formend->formed formes->forms, formed, formidible->formidable @@ -16006,6 +17787,8 @@ formua->formula formual->formula formuale->formulae formuals->formulas +formulaical->formulaic +formulayic->formulaic fornat->format fornated->formatted fornater->formatter @@ -16067,6 +17850,7 @@ foults->faults foundaries->foundries foundary->foundry Foundland->Newfoundland +fourh->fourth fourties->forties fourty->forty fouth->fourth @@ -16075,8 +17859,11 @@ foward->forward fowarded->forwarded fowarding->forwarding fowards->forwards +fowll->follow, foul, +fowlling->following fpr->for, far, fps, fprmat->format +fpt->ftp fracional->fractional fragement->fragment fragementation->fragmentation @@ -16089,6 +17876,7 @@ fragmenetd->fragmented fragmeneted->fragmented fragmeneting->fragmenting fragmenets->fragments +fragmentization->fragmentation fragmnet->fragment frambuffer->framebuffer framebufer->framebuffer @@ -16099,12 +17887,16 @@ framents->fragments frametyp->frametype framewoek->framework framewoeks->frameworks +frameword->framework frameworkk->framework framlayout->framelayout framming->framing +framw->frame +framwd->framed framwework->framework framwork->framework framworks->frameworks +framws->frames frane->frame frankin->franklin Fransiscan->Franciscan @@ -16148,6 +17940,7 @@ frequentily->frequently frequeny->frequency, frequently, frequent, frequncies->frequencies frequncy->frequency +frew-frew->frou-frou freze->freeze frezes->freezes frgament->fragment @@ -16159,6 +17952,8 @@ frist->first frition->friction fritional->frictional fritions->frictions +frivilous->frivolous +frivilously->frivolously frmat->format frmo->from froce->force @@ -16174,7 +17969,7 @@ frome->from fromed->formed fromm->from froms->forms -fromt->from +fromt->from, front, fromthe->from the fron->from, front, fronat->front, format, @@ -16193,6 +17988,7 @@ frowrads->forwards frozee->frozen fschk->fsck FTBS->FTBFS +fter->after ftrunacate->ftruncate fualt->fault fualts->faults @@ -16246,6 +18042,8 @@ funchtionning->functioning funchtionns->functions funchtions->functions funcion->function +funcional->functional +funcionality->functionality funcions->functions funciotn->function funciotns->functions @@ -16301,6 +18099,11 @@ functonality->functionality functoning->functioning functons->functions functtion->function +functtional->functional +functtionalities->functionalities +functtioned->functioned +functtioning->functioning +functtions->functions funczion->function fundametal->fundamental fundametals->fundamentals @@ -16312,6 +18115,8 @@ fundementals->fundamentals funguses->fungi funktion->function funnnily->funnily +funrel->funeral +funrels->funerals funtion->function funtional->functional funtionalities->functionalities @@ -16359,10 +18164,13 @@ furst->first fursther->further fursthermore->furthermore fursthest->furthest +furtehr->further furter->further furthemore->furthermore furthermor->furthermore furtherst->furthest +furthher->further +furthremore->furthermore furthrest->furthest furthur->further furture->future @@ -16372,8 +18180,11 @@ furuther->further furutre->future furzzer->fuzzer fuschia->fuchsia +fusha->fuchsia +fushas->fuchsias fushed->flushed fushing->flushing +futal->futile futer->further, future, futher->further futherize->further @@ -16390,6 +18201,10 @@ fysisist->physicist fysisit->physicist gabage->garbage gadged->gadget, gauged, +gage->gauge +gages->gauges +gagit->gadget +gagits->gadgets galatic->galactic Galations->Galatians gallaries->galleries @@ -16409,7 +18224,9 @@ garantee->guarantee garanteed->guaranteed garanteeed->guaranteed garantees->guarantees +garantie->guarantee garantied->guaranteed +garanties->guarantees garanty->guarantee garbadge->garbage garbage-dollected->garbage-collected @@ -16419,11 +18236,16 @@ gard->guard gardai->gardaí garentee->guarantee gargage->garbage, garage, +gargoil->gargoyle +gargoils->gargoyles +garilla->guerrilla +garillas->guerrillas garnison->garrison garuantee->guarantee garuanteed->guaranteed garuantees->guarantees garuantied->guaranteed +gastly->ghastly, vastly, gatable->gateable gateing->gating gatherig->gathering @@ -16446,6 +18268,9 @@ gaus'->Gauss' gaus's->Gauss' gaus->Gauss, gauze, gausian->gaussian +gayity->gaiety +gaysha->geisha +gayshas->geishas geeneric->generic geenrate->generate geenrated->generated @@ -16475,6 +18300,7 @@ geneological->genealogical geneologies->genealogies geneology->genealogy generaates->generates +generaing->generating generall->generally, general, generaly->generally generalyl->generally @@ -16516,6 +18342,7 @@ genertion->generation genertor->generator genertors->generators genialia->genitalia +geniune->genuine genral->general genralisation->generalisation genralisations->generalisations @@ -16570,6 +18397,9 @@ geomitrically->geometrically geomoetric->geometric geomoetrically->geometrically geomoetry->geometry +geomteric->geometric +geomterically->geometrically +geomteries->geometries geomtery->geometry geomtries->geometries geomtry->geometry @@ -16615,6 +18445,7 @@ getlael->getlabel getoe->ghetto getoject->getobject gettetx->gettext +gettign->getting gettitem->getitem, get item, gettitems->getitems, get items, gettter->getter @@ -16628,6 +18459,7 @@ ggogled->Googled ggogles->goggles, Googles, Ghandi->Gandhi ghostcript->ghostscript +ghostscipt->ghostscript ghostscritp->ghostscript ghraphic->graphic gien->given @@ -16648,6 +18480,7 @@ gitatributes->gitattributes gived->given, gave, giveing->giving givem->given, give them, give 'em, +givne->given givveing->giving givven->given givving->giving @@ -16658,10 +18491,14 @@ gloabal->global gloabl->global gloassaries->glossaries gloassary->glossary +globa->global globablly->globally globaly->globally +globas->globals globbal->global globel->global +globlal->global +globlaly->globally glorfied->glorified glpyh->glyph glpyhs->glyphs @@ -16708,7 +18545,12 @@ gorup->group goruped->grouped goruping->grouping gorups->groups +gorw->grow, gore, +gorwing->growing +gorws->grows gost->ghost +gotee->goatee +gotees->goatees Gothenberg->Gothenburg Gottleib->Gottlieb goup->group @@ -16725,6 +18567,8 @@ govermental->governmental govermnment->government governer->governor governmnet->government +govoner->governor +govoners->governors govorment->government govormental->governmental govornment->government @@ -16745,6 +18589,8 @@ grahics->graphics grahpic->graphic grahpical->graphical grahpics->graphics +graineries->granaries +grainery->granary gramar->grammar gramatically->grammatically grammartical->grammatical @@ -16752,9 +18598,24 @@ grammaticaly->grammatically grammer->grammar grammers->grammars granchildren->grandchildren +grandeeos->grandiose +grandise->aggrandise +grandised->aggrandised +grandisement->aggrandisement +grandiser->aggrandiser +grandises->aggrandises +grandising->aggrandising +grandize->aggrandize +grandized->aggrandized +grandizement->aggrandizement +grandizer->aggrandizer +grandizes->aggrandizes +grandizing->aggrandizing granilarity->granularity +granjure->grandeur granuality->granularity granualtiry->granularity +granularty->granularity granulatiry->granularity grapgics->graphics graphcis->graphics @@ -16765,6 +18626,9 @@ grapics->graphics grat->great gratefull->grateful gratuitious->gratuitous +gratutious->gratuitous +gratutiously->gratuitously +gravitiation->gravitation grbber->grabber greate->greater, create, grate, great, greated->greater, grated, graded, @@ -16781,19 +18645,30 @@ grigorian->Gregorian grobal->global grobally->globally grometry->geometry +groosome->gruesome +groosomely->gruesomely +groosum->gruesome +groosumly->gruesome grooup->group groouped->grouped groouping->grouping grooups->groups grop->group, drop, gropu->group +gropuing->grouping gropus->groups, gropes, +groshuries->groceries +groshury->grocery +groth->growth groubpy->groupby groupd->grouped groupe->grouped, group, groupes->groups, grouped, +groupped->grouped groupping->grouping groupt->grouped +growtesk->grotesque +growteskly->grotesquely grranted->granted gruop->group gruopd->grouped @@ -16943,12 +18818,14 @@ guass->Gauss guassian->Gaussian Guatamala->Guatemala Guatamalan->Guatemalan +gubnatorial->gubernatorial gud->good gude->guide, good, guerrila->guerrilla guerrilas->guerrillas guesss->guess, guesses, gueswork->guesswork +guideded->guided guidence->guidance guidline->guideline guidlines->guidelines @@ -16964,7 +18841,16 @@ gurantees->guarantees gurrantee->guarantee guttaral->guttural gutteral->guttural +guyser->geyser +guysers->geysers +guyzer->geyser +guyzers->geysers +gwava->guava gylph->glyph +gymnist->gymnast +gymnistic->gymnastic +gymnistics->gymnastics +gymnists->gymnasts gziniflate->gzinflate gziped->gzipped haa->has @@ -16983,10 +18869,15 @@ hadnler->handler haeder->header haemorrage->haemorrhage haev->have, heave, +hagas->haggis +hagases->haggises +hagasses->haggises hahve->have, halve, half, halarious->hilarious -hald->held +hald->held, hold, half, hall, halfs->halves +hallaluja->hallelujah +hallaluya->hallelujah Hallowean->Hallowe'en, Halloween, halp->help halpoints->halfpoints @@ -17004,6 +18895,8 @@ hander->handler handfull->handful handhake->handshake handker->handler +handkerchif->handkerchief +handkerchifs->handkerchiefs handleer->handler handleing->handling handlig->handling @@ -17037,6 +18930,8 @@ handskake->handshake handwirting->handwriting hanel->handle hangig->hanging +hankerchif->handkerchief +hankerchifs->handkerchiefs hanlde->handle hanlded->handled hanlder->handler @@ -17048,6 +18943,7 @@ hanle->handle hanled->handled hanles->handles hanling->handling +hannging->hanging hanshake->handshake hanshakes->handshakes hansome->handsome @@ -17064,6 +18960,7 @@ hapens->happens happaned->happened happend->happened, happens, happen, happended->happened +happends->happens happenned->happened happenning->happening happennings->happenings @@ -17093,6 +18990,12 @@ hardward->hardware hardwdare->hardware hardwirted->hardwired harge->charge +harrang->harangue +harrange->harangue, arrange, +harranged->harangued, arranged, +harranger->haranguer, arranger, +harranges->harangues, arranges, +harranging->haranguing, arranging, harras->harass harrased->harassed harrases->harasses @@ -17114,6 +19017,7 @@ hashi->hash hashreference->hash reference hashs->hashes hashses->hashes +hasing->hashing hask->hash hasn;t->hasn't hasnt'->hasn't @@ -17135,6 +19039,7 @@ havent't->haven't havent->haven't havew->have haviest->heaviest +havind->having havn't->haven't havnt->haven't hax->hex @@ -17143,6 +19048,7 @@ hazzle->hassle hda->had headder->header headders->headers +heade->header, head, headerr->header headerrs->headers headle->handle @@ -17159,6 +19065,7 @@ hearbeating->heartbeating, heart beating, hear beating, hearbeats->heartbeats, heart beats, hear beats, heared->heard, header, heathy->healthy +heders->headers hefer->heifer Heidelburg->Heidelberg heigest->highest @@ -17187,12 +19094,21 @@ helpe->helper helpfull->helpful helpfuly->helpfully helpped->helped +helpying->helping hemipshere->hemisphere hemipsheres->hemispheres hemishpere->hemisphere hemishperes->hemispheres -hemmorhage->hemorrhage -hemorage->haemorrhage +hemmorhage->haemorrhage, hemorrhage, +hemmorhaged->haemorrhaged, hemorrhaged, +hemmorhages->haemorrhages, hemorrhages, +hemmorhagic->haemorrhagic, hemorrhagic, +hemmorhaging->haemorrhaging, hemorrhaging, +hemorage->haemorrhage, hemorrhage, +hemoraged->haemorrhaged, hemorrhaged, +hemorages->haemorrhages, hemorrhages, +hemoragic->haemorrhagic, hemorrhagic, +hemoraging->haemorrhaging, hemorrhaging, henc->hence henderence->hindrance hendler->handler @@ -17224,6 +19140,7 @@ hetrogenous->heterogenous, heterogeneous, heuristc->heuristic heuristcs->heuristics heursitics->heuristics +heusitic->heuristic hevy->heavy hexademical->hexadecimal hexdecimal->hexadecimal @@ -17231,8 +19148,11 @@ hexgaon->hexagon hexgaonal->hexagonal hexgaons->hexagons hexidecimal->hexadecimal +hexidecimals->hexadecimals hge->he +hhttp->http hiarchical->hierarchical +hiarchically->hierarchically hiarchy->hierarchy hiddden->hidden hidded->hidden @@ -17249,6 +19169,7 @@ hierachies->hierarchies hierachries->hierarchies hierachry->hierarchy hierachy->hierarchy +hierachycal->hierarchical hierarachical->hierarchical hierarachy->hierarchy hierarchichal->hierarchical @@ -17264,9 +19185,12 @@ hierchy->hierarchy hieroglph->hieroglyph hieroglphs->hieroglyphs hietus->hiatus +hig-resolution->high-resolution higeine->hygiene higer->higher +higer-resolution->higher-resolution higest->highest +higest-resolution->highest-resolution high-affort->high-effort highe->high, higher, highs, highes->highest, highs, @@ -17301,7 +19225,7 @@ hightlight->highlight hightlighted->highlighted hightlighting->highlighting hightlights->highlights -hights->height +hights->heights higlight->highlight higlighted->highlighted higlighting->highlighting @@ -17332,11 +19256,13 @@ hirearchy->hierarchy hirearcy->hierarchy hismelf->himself hisory->history +histerical->historical, hysterical, histgram->histogram histocompatability->histocompatibility historgram->histogram historgrams->histograms histori->history, historic, +historial->historical historicians->historians historyan->historian historyans->historians @@ -17358,6 +19284,7 @@ hitory->history hitsingles->hit singles hiygeine->hygiene hmdi->hdmi +hmtl->html hnalder->handler hoeks->hoax hoever->however @@ -17436,7 +19363,9 @@ howeever->however howerver->however howeverm->however howewer->however +howover->However howver->however +howvere->however hradware->hardware hradwares->hardwares hrlp->help @@ -17466,6 +19395,8 @@ htink->think htis->this htmp->html htose->those, these, +htpt->http +htpts->https htting->hitting hueristic->heuristic humber->number @@ -17528,6 +19459,8 @@ hyposesis->hypothesis hypoteses->hypotheses hypotesis->hypothesis hypotethically->hypothetically +hypothenuse->hypotenuse +hypothenuses->hypotenuses hypter->hyper hyptothetical->hypothetical hyptothetically->hypothetically @@ -17603,13 +19536,18 @@ identifing->identifying identifiy->identify identifyable->identifiable identifyed->identified +identitiy->identity identiviert->identifiers identiy->identify, identity, identtation->indentation identties->identities identtifier->identifier identty->identity -ideosyncracies->ideosyncrasies +ideosincracies->idiosyncrasies +ideosincracy->idiosyncrasy +ideosincratic->idiosyncratic +ideosyncracies->idiosyncrasies +ideosyncracy->idiosyncrasy ideosyncratic->idiosyncratic idesa->ideas, ides, idetifier->identifier @@ -17620,6 +19558,12 @@ idicated->indicated idicates->indicates idicating->indicating idices->indices +idiosincracies->idiosyncrasies +idiosincracy->idiosyncrasy +idiosincratic->idiosyncratic +idiosynchrasies->idiosyncrasies +idiosynchrasy->idiosyncrasy +idiosynchratic->idiosyncratic idiosyncracies->idiosyncrasies idiosyncracy->idiosyncrasy idividual->individual @@ -17628,7 +19572,6 @@ idividuals->individuals idons->icons iechart->piechart ifself->itself -ifset->if set ignest->ingest ignested->ingested ignesting->ingesting @@ -17692,6 +19635,11 @@ igored->ignored igores->ignores igoring->ignoring igrnore->ignore +igzort->exhort +igzorted->exhorted +igzorter->exhorter +igzorting->exhorting +igzorts->exhorts Ihaca->Ithaca ihs->his iif->if @@ -17739,7 +19687,16 @@ imbed->embed imbedded->embedded imbedding->embedding imblance->imbalance +imbrace->embrace +imbraced->embraced +imbracer->embracer +imbraces->embraces +imbracing->embracing imbrase->embrace +imbrased->embraced +imbraser->embracer +imbrases->embraces +imbrasing->embracing imcoming->incoming imcomming->incoming imcompatibility->incompatibility @@ -17920,7 +19877,9 @@ implementates->implements implementatin->implementation, implementing, implementating->implementing implementatins->implementations +implementatio->implementation implementation-spacific->implementation-specific +implementatios->implementations implementatition->implementation implementatoin->implementation implementatoins->implementations @@ -17945,8 +19904,14 @@ implemets->implements implemnt->implement implemntation->implementation implemntations->implementations +implemt->implement implemtation->implementation +implemtations->implementations +implemted->implemented implemtentation->implementation +implemtentations->implementations +implemting->implementing +implemts->implements impleneted->implemented implenment->implement implenmentation->implementation @@ -18001,6 +19966,7 @@ implmented->implemented implmenting->implementing implments->implements imploys->employs +imporant->important imporing->importing imporot->import imporoted->imported @@ -18014,8 +19980,10 @@ imporoves->improves imporoving->improving imporsts->imports importamt->important +importanly->importantly importat->important importd->imported +importen->important, importance, importent->important importnt->important imporv->improve, improv, @@ -18045,6 +20013,7 @@ impremented->implemented impres->impress impresive->impressive impressario->impresario +impreve->improve imprioned->imprisoned imprisonned->imprisoned improbe->improve @@ -18089,10 +20058,21 @@ improvmenet->improvement improvmenets->improvements improvment->improvement improvments->improvements +impune->impugn +impuned->impugned +impuner->impugner +impunes->impugns +impuning->impugning +impuns->impugns imput->input imrovement->improvement +imsensitive->insensitive in-memeory->in-memory +inable->enable, unable, +inabled->enabled +inables->enables inablility->inability +inabling->enabling inacccessible->inaccessible inaccesible->inaccessible inaccessable->inaccessible @@ -18120,10 +20100,24 @@ inaugures->inaugurates inavlid->invalid inbalance->imbalance inbalanced->imbalanced +inbankment->embankment +inbankments->embankments inbed->embed inbedded->embedded inbetween->between, in between, inbility->inability +inbrace->embrace +inbraced->embraced +inbracer->embracer +inbraces->embraces +inbracing->embracing +inbrase->embrace +inbrased->embraced +inbraser->embracer +inbrases->embraces +inbrasing->embracing +inbrio->embryo +inbrios->embryos inbulit->inbuilt, built-in, incalid->invalid incarcirated->incarcerated @@ -18147,10 +20141,15 @@ incldue->include incldued->included incldues->includes inclinaison->inclination +incliude->include +incliuded->included +incliudes->includes +incliuding->including inclode->include inclreased->increased includ->include includea->include +includeds->includes, included, includee->include includeing->including includied->included @@ -18185,7 +20184,14 @@ incomfort->discomfort, uncomfortable, in comfort, incomfortable->uncomfortable incomming->incoming incommplete->incomplete +incompaitible->incompatible +incompaitiblity->incompatibility incomparible->incompatible, incomparable, +incompartible->incompatible +incompasitate->incapacitate +incompasitated->incapacitated +incompasitates->incapacitates +incompasitating->incapacitating incompatabable->incompatible incompatabiity->incompatibility incompatabile->incompatible @@ -18298,6 +20304,7 @@ incorported->incorporated incorprates->incorporates incorreclty->incorrectly incorrecly->incorrectly +incorrecty->incorrectly incorreect->incorrect incorreectly->incorrectly incorrent->incorrect @@ -18317,7 +20324,11 @@ increament->increment increas->increase incredable->incredible incremantal->incremental +incremeant->increment incremeantal->incremental +incremeanted->incremented +incremeanting->incrementing +incremeants->increments incremenet->increment incremenetd->incremented incremeneted->incremented @@ -18326,6 +20337,7 @@ incrementaly->incrementally incremet->increment incremetal->incremental incremeted->incremented +incremeting->incrementing incremnet->increment increse->increase incresed->increased @@ -18446,8 +20458,14 @@ indepently->independently inderect->indirect inderts->inserts indes->index +indescriminent->indiscriminate indespensable->indispensable indespensible->indispensable +indever->endeavour, endeavor, +indevered->endeavoured, endeavored, +indeveres->endeavours, endeavors, +indevering->endeavouring, endeavoring, +indevers->endeavours, endeavors, indexig->indexing indexs->indexes, indices, indext->index, indent, @@ -18460,7 +20478,10 @@ indicaite->indicate indicat->indicate indicateds->indicated, indicates, indicatee->indicates, indicated, +indicaters->indicators, indicates, indicationg->indicating, indication, +indicatior->indicator +indicatiors->indicators indicats->indicates, indicate, indicees->indices indiciate->indicate @@ -18502,6 +20523,10 @@ individualy->individually individuel->individual individuelly->individually individuely->individually +individul->individual +individule->individual +individules->individuals +individuls->individuals indivisual->individual indivisuality->individuality indivisually->individually @@ -18523,6 +20548,9 @@ indvidual->individual indviduals->individuals indxes->indexes inearisation->linearisation +ineffciency->inefficiency +ineffcient->inefficient +ineffciently->inefficiently inefficency->inefficiency inefficent->inefficient inefficently->inefficiently @@ -18597,7 +20625,6 @@ infite->infinite inflamation->inflammation inflatoin->inflation inflexable->inflexible -inflight->in-flight influece->influence influeced->influenced influeces->influences @@ -18620,6 +20647,7 @@ inforce->enforce inforced->enforced informacion->information informaion->information +informaional->informational informaiton->information informatation->information informatations->information @@ -18696,6 +20724,7 @@ inhertig->inheriting, inherited, inherting->inheriting inherts->inherits inhomogenous->inhomogeneous +inialize->initialize inialized->initialized iniate->initiate inidicate->indicate @@ -18710,6 +20739,7 @@ inifinite->infinite inifinity->infinity inifinte->infinite inifite->infinite +iniitalize->initialize iniitial->initial iniitialization->initialization iniitializations->initializations @@ -18763,6 +20793,7 @@ initalization->initialization initalize->initialize initalized->initialized initalizer->initializer +initalizers->initializers initalizes->initializes initalizing->initializing initally->initially @@ -18775,6 +20806,10 @@ initation->initiation, imitation, initations->initiations, imitations, initator->initiator, imitator, initators->initiators, imitators, +initiailize->initialize +initiailized->initialized +initiailizes->initializes +initiailizing->initializing initiaitive->initiative initiaitives->initiatives initiales->initialize, initializes, initials, initialise, initialises, @@ -18844,6 +20879,7 @@ initialyzing->initializing initialzation->initialization initialze->initialize initialzed->initialized +initialzer->initializer initialzes->initializes initialzing->initializing initiatiate->initiate @@ -18857,6 +20893,7 @@ initiatied->initiated initiaties->initiates initiialise->initialise initiialize->initialize +initilalize->initialize initilialised->initialised initilialization->initialization initilializations->initializations @@ -18946,6 +20983,8 @@ innactive->inactive innacurate->inaccurate innacurately->inaccurately innappropriate->inappropriate +inncrement->increment +inncrements->increments innecesarily->unnecessarily innecesary->unnecessary innecessarily->unnecessarily @@ -19013,8 +21052,10 @@ inrerface->interface inresponsive->unresponsive inro->into ins't->isn't +insall->install insallation->installation insalled->installed +insalling->installing insance->instance, insane, inscpeting->inspecting insctuction->instruction @@ -19042,6 +21083,8 @@ insepects->inspects insependent->independent inseperable->inseparable insepsion->inception +inser->insert +insered->inserted insering->inserting insersect->intersect insersected->intersected @@ -19062,10 +21105,12 @@ insesitivity->insensitivity insetad->instead insetead->instead inseted->inserted +insetion->insertion, insection, insid->inside insidde->inside insiddes->insides insided->inside +insignifacnt->insignificant insignificat->insignificant insignificatly->insignificantly insigt->insight @@ -19090,8 +21135,10 @@ instaed->instead instal->install instalation->installation instalations->installations +instale->install instaled->installed instaler->installer +instales->installs instaling->installing installaion->installation installaiton->installation @@ -19102,6 +21149,7 @@ installatation->installation installationa->installation installe->installer, installed, install, installes->installs +installion->installation, installing, installtion->installation instals->installs instancd->instance @@ -19126,8 +21174,10 @@ instantiaties->instantiates instanze->instance instatance->instance instatiate->instantiate +instatiating->instantiating instatiation->instantiation instatiations->instantiations +instealled->installed insteance->instance insted->instead insteead->instead @@ -19136,7 +21186,11 @@ insterad->instead insterrupts->interrupts instersction->intersection instersctions->intersections +instersection->intersection +instersectional->intersectional +instersectionality->intersectionality instersectioned->intersection +instersections->intersections instert->insert insterted->inserted instertion->insertion @@ -19171,7 +21225,10 @@ instnsiations->instantiations instnt->instant instntly->instantly instrace->instance +instrall->install instralled->installed +instralling->installing +instralls->installs instrction->instruction instrctional->instructional instrctions->instructions @@ -19184,7 +21241,9 @@ instrcutional->instructional instrcutions->instructions instrcuts->instructs instread->instead +instrinics->intrinsics instrinsic->intrinsic +instrospection->introspection instruccion->instruction instruccional->instructional instruccions->instructions @@ -19199,8 +21258,11 @@ instrumenetation->instrumentation instrumenetd->instrumented instrumeneted->instrumented instrumentaion->instrumentation +instrumentaiton->instrumentation instrumnet->instrument instrumnets->instruments +instrution->instruction +instrutions->instructions instsall->install instsallation->installation instsallations->installations @@ -19213,10 +21275,19 @@ instuments->instruments insturment->instrument insturments->instruments instutionalized->institutionalized -instutions->intuitions +instutions->intuitions, institutions, insue->ensue, insure, +insuffciency->insufficiency +insuffcient->insufficient +insuffciently->insufficiently +insufficency->insufficiency insufficent->insufficient +insufficently->insufficiently insuffiency->insufficiency +insuffient->insufficient +insuffiently->insufficiently +insuficiency->insufficiency +insuficient->insufficient insurasnce->insurance insurence->insurance intaces->instance @@ -19254,6 +21325,7 @@ integation->integration integations->integrations integeral->integral integere->integer +integrat->integrate, integral, integreated->integrated integrety->integrity integrey->integrity @@ -19272,6 +21344,10 @@ intelligable->intelligible intemediary->intermediary intenal->internal intenational->international +intenationalism->internationalism +intenationalist->internationalist +intenationalists->internationalists +intenationally->internationally intendet->intended inteneded->intended intenisty->intensity @@ -19312,6 +21388,8 @@ interacive->interactive interacively->interactively interacsion->interaction interacsions->interactions +interacteve->interactive +interactevely->interactively interactionn->interaction interactionns->interactions interactiv->interactive @@ -19336,11 +21414,19 @@ interates->iterates, interacts, integrated, interating->iterating, interacting, integrating, interation->iteration, interaction, integration, interational->international +interationalism->internationalism +interationalist->internationalist +interationalists->internationalists +interationally->internationally interations->iterations, interactions, interative->interactive interatively->interactively interator->iterator interators->iterators +interaxction->interaction +interaxctions->interactions +interaxtion->interaction +interaxtions->interactions interbread->interbreed, interbred, intercahnge->interchange intercahnged->interchanged @@ -19367,6 +21453,11 @@ intereference->interference intereferences->interferences interelated->interrelated interelaved->interleaved +interepolate->interpolate +interepolated->interpolated +interepolates->interpolates +interepolating->interpolating +interepolation->interpolation interepret->interpret interepretation->interpretation interepretations->interpretations @@ -19396,6 +21487,7 @@ interesst->interest interessted->interested interessting->interesting intereview->interview +interfact->interact, interface, interfal->interval interfals->intervals interfave->interface @@ -19441,7 +21533,15 @@ intermperance->intemperance internall->internal, internally, internaly->internally internatinal->international +internatinalism->internationalism +internatinalist->internationalist +internatinalists->internationalists +internatinally->internationally internatioanl->international +internatioanlism->internationalism +internatioanlist->internationalist +internatioanlists->internationalists +internatioanlly->internationally internation->international internel->internal internels->internals @@ -19476,6 +21576,12 @@ interpolaion->interpolation interpolaiton->interpolation interpolar->interpolator interpolayed->interpolated +interpoloate->interpolate +interpoloated->interpolated +interpoloates->interpolates +interpoloating->interpolating +interpoloation->interpolation +interpoloations->interpolations interporated->interpolated, interpreted, interporation->interpolation interporations->interpolations @@ -19484,6 +21590,8 @@ interprated->interpreted interpreation->interpretation interprerter->interpreter interpretated->interpreted +interpretaton->interpretation +interpretatons->interpretations interprete->interpret interpretes->interprets interpretet->interpreted @@ -19549,6 +21657,7 @@ intervall->interval intervalls->intervals interveening->intervening intervines->intervenes +intesection->intersection intesity->intensity inteval->interval intevals->intervals @@ -19614,6 +21723,7 @@ intiialise->initialise intiialize->initialize intilising->initialising intilizing->initializing +intimitading->intimidating intimite->intimate intinite->infinite intitial->initial @@ -19623,6 +21733,7 @@ intitialized->initialized intitials->initials intity->entity intot->into +intoto->into intpreter->interpreter intput->input intputs->inputs @@ -19668,6 +21779,7 @@ intrrupted->interrupted intrrupting->interrupting intrrupts->interrupts intruction->instruction +intructional->instructional intructions->instructions intruduced->introduced intruducing->introducing @@ -19677,11 +21789,18 @@ intrumented->instrumented intrumenting->instrumenting intruments->instruments intrusted->entrusted +intsall->install +intsalled->installed +intsalling->installing +intsalls->installs intstead->instead intstruct->instruct, in struct, intstructed->instructed intstructer->instructor intstructing->instructing +intstruction->instruction +intstructional->instructional +intstructions->instructions intstructor->instructor intstructs->instructs intterrupt->interrupt @@ -19721,6 +21840,8 @@ invarients->invariants invarinat->invariant invarinats->invariants inventer->inventor +inveral->interval +inverals->intervals inverded->inverted inverion->inversion inverions->inversions @@ -19735,6 +21856,8 @@ invesitgated->investigated invesitgating->investigating invesitgation->investigation invesitgations->investigations +invesre->inverse +invesrse->inverse investingate->investigate inveting->inverting invetory->inventory @@ -19763,6 +21886,10 @@ invokve->invoke invokved->invoked invokves->invokes invokving->invoking +involed->involved +involtue->involute +involtued->involuted +involtues->involutes involvment->involvement invovle->involve invovled->involved @@ -19820,14 +21947,19 @@ isimilar->similar isloation->isolation ismas->isthmus isn;t->isn't +ISNB->ISBN isnpiron->inspiron isnt'->isn't isnt->isn't isnt;->isn't isntalation->installation isntalations->installations +isntall->install, isn't all, isntallation->installation isntallations->installations +isntalled->installed +isntalling->installing +isntalls->installs isntance->instance isntances->instances isntead->instead, isn't read, @@ -19841,8 +21973,10 @@ isssue->issue isssued->issued isssues->issues issueing->issuing +issus->issues ist->is, it, its, it's, sit, list, istalling->installing +Istambul->Istanbul istance->instance istead->instead istened->listened @@ -19851,6 +21985,7 @@ isteners->listeners istening->listening ists->its, lists, isue->issue +isues->issues iteartor->iterator iteator->iterator iteger->integer @@ -19897,6 +22032,7 @@ itialize->initialize itialized->initialized itializes->initializes itializing->initializing +itmes->items, times, itnerest->interest itnerface->interface itnerfaces->interfaces @@ -19943,7 +22079,8 @@ jagwar->jaguar jalusey->jealousy, jalousie, januar->January janurary->January -Januray->January +januray->January +janury->January japanease->japanese japaneese->Japanese Japanes->Japanese @@ -19958,6 +22095,7 @@ javasript->javascript javasrript->javascript jave->java, have, javescript->javascript +javscript->javascript javsscript->javascript jeapardy->jeopardy jeffies->jiffies @@ -19975,6 +22113,7 @@ jhondoe->johndoe jist->gist jitterr->jitter jitterring->jittering +jkd->jdk jodpers->jodhpurs Johanine->Johannine joineable->joinable @@ -19988,7 +22127,14 @@ jossle->jostle jouney->journey journied->journeyed journies->journeys +journing->journeying +journy->journey +journyed->journeyed +journyes->journeys, journeyed, +journying->journeying +journys->journeys joystik->joystick +jpin->join jpng->png, jpg, jpeg, jscipt->jscript jstu->just @@ -20000,13 +22146,27 @@ judisuary->judiciary juducial->judicial juge->judge juipter->Jupiter +juli->July jumo->jump jumoed->jumped jumpimng->jumping jumpt->jumped, jump, +juni->June jupyther->Jupyter juristiction->jurisdiction juristictions->jurisdictions +jurnal->journal +jurnaled->journaled +jurnaler->journaler +jurnales->journals +jurnaling->journaling +jurnals->journals +jurnied->journeyed +jurnies->journeys +jurny->journey +jurnyed->journeyed +jurnyes->journeys +jurnys->journeys jus->just juse->just, juice, Jude, June, justfied->justified @@ -20019,10 +22179,19 @@ juxtifications->justifications juxtified->justified juxtifies->justifies juxtifying->justifying +kackie->khaki +kackies->khakis kake->cake, take, +kakfa->Kafka +kalidescope->kaleidoscope +kalidescopes->kaleidoscopes +karisma->charisma +karismatic->charismatic +karismatically->charismatically kazakstan->Kazakhstan keep-alives->keep-alive keept->kept +keesh->quiche kenel->kernel, kennel, kenels->kernels, kennels, kenerl->kernel @@ -20037,6 +22206,8 @@ kernal->kernel kernals->kernels kernerl->kernel kernerls->kernels +kernul->kernel, colonel, +kernuls->kernels, colonels, ket->key, kept, keword->keyword kewords->keywords @@ -20059,33 +22230,73 @@ keybroad->keyboard keybroads->keyboards keyevente->keyevent keyords->keywords +keyosk->kiosk +keyosks->kiosks keyoutch->keytouch keyowrd->keyword -keypair->key pair -keypairs->key pairs -keyservers->key servers keystokes->keystrokes keyward->keyword keywoards->keywords -keywork->keyword +keywork->keyword, key work, keyworkd->keyword keyworkds->keywords +keyworks->keywords, key works, keywors->keywords keywprd->keyword +kibutz->kibbutz +kibutzes->kibbutzim +kibutzim->kibbutzim +kidknap->kidnap +kidknapped->kidnapped +kidknappee->kidnappee +kidknappees->kidnappees +kidknapper->kidnapper +kidknappers->kidnappers +kidknapping->kidnapping +kidknaps->kidnaps +kighbosh->kibosh +kighboshed->kiboshed +kighboshes->kiboshes +kighboshing->kiboshing +kimera->chimera +kimeric->chimeric +kimerical->chimerical +kimerically->chimerically +kimerra->chimera +kimerric->chimeric +kimerrical->chimerical +kimerrically->chimerically kindergarden->kindergarten +kindgergarden->kindergarten +kindgergarten->kindergarten kinf->kind kinfs->kinds kinnect->Kinect +kiyack->kayak +kiyacked->kayaked +kiyacker->kayaker +kiyackers->kayakers +kiyacking->kayaking +kiyacks->kayaks klenex->kleenex klick->click klicked->clicked klicks->clicks klunky->clunky +knarl->gnarl +knarled->gnarled +knarling->gnarling +knarls->gnarls +knarly->gnarly knive->knife kno->know +knockous->noxious +knockously->noxiously knowladge->knowledge knowlage->knowledge knowlageable->knowledgeable +knowledgable->knowledgeable +knowlegable->knowledgeable knowlegde->knowledge knowlege->knowledge knowlegeabel->knowledgeable @@ -20103,9 +22314,20 @@ konstants->constants konw->know konwn->known konws->knows +kookoo->cuckoo +kookoos->cuckoos +koolot->culotte +koolots->culottes koordinate->coordinate koordinates->coordinates kown->known +kresh->crèche +kronicle->chronicle +kronicled->chronicled +kronicler->chronicler +kroniclers->chroniclers +kronicles->chronicles +kronicling->chronicling kubenates->Kubernetes kubenernetes->Kubernetes kubenertes->Kubernetes @@ -20119,14 +22341,21 @@ kubernates->Kubernetes kubernests->Kubernetes kubernete->Kubernetes kuberntes->Kubernetes +Kwanza->Kwanzaa kwno->know kwoledgebase->knowledge base +kwuzine->cuisine +kwuzines->cuisines +kyebosh->kibosh +kyeboshed->kiboshed +kyeboshes->kiboshes +kyeboshing->kiboshing kyrillic->cyrillic labatory->lavatory, laboratory, labbel->label -labbeled->labeled +labbeled->labeled, labelled, labbels->labels -labed->labeled +labed->labeled, labelled, labeld->labelled labirinth->labyrinth lable->label @@ -20137,13 +22366,26 @@ lables->labels labling->labeling, labelling, labouriously->laboriously labratory->laboratory +labrynth->labyrinth +labrynths->labyrinths +lacker->lacquer +lackered->lacquered +lackeres->lacquers +lackering->lacquering +lackers->lacquers +lackrimose->lachrymose +lackrimosity->lachrymosity +lackrimosly->lachrymosely laer->later, layer, +laf->laugh, leaf, loaf, lad, lag, lac, kaf, kaph, lagacies->legacies lagacy->legacy laguage->language laguages->languages laguague->language laguagues->languages +laguange->language +laguanges->languages laiter->later lamda->lambda lamdas->lambdas @@ -20151,22 +22393,38 @@ lanaguage->language lanaguge->language lanaguges->languages lanagugs->languages +lanauage->language +lanauages->languages lanauge->language langage->language +langages->languages +langague->language +langagues->languages langauage->language langauge->language langauges->languages +langerie->lingerie +langerray->lingerie langeuage->language langeuagesection->languagesection langht->length langhts->lengths +langiage->language +langiages->languages +langnguage->language +langnguages->languages langth->length langths->lengths languace->language languaces->languages languae->language languaes->languages +languag->language language-spacific->language-specific +languagee->language +languagees->languages +languague->language +languagues->languages languahe->language languahes->languages languaje->language @@ -20176,14 +22434,20 @@ languale->language languales->languages langualge->language langualges->languages +languanage->language +languanages->languages languange->language languanges->languages languaqe->language languaqes->languages +languare->language +languares->languages languate->language languates->languages languauge->language languauges->languages +langueage->language +langueages->languages languege->language langueges->languages langugae->language @@ -20194,7 +22458,17 @@ languge->language languges->languages langugue->language langugues->languages +langulage->language +langulages->languages +languqge->language +languqges->languages +langurage->language +langurages->languages +langyage->language +langyages->languages lanich->launch +lannguage->language +lannguages->languages lanuage->language lanuch->launch lanuched->launched @@ -20214,8 +22488,16 @@ larg->large larget->larger, largest, target, largets->largest, targets, largst->largest +laringes->larynxes +larinx->larynx +larinxes->larynxes larrry->larry +larvas->larvae +larvay->larvae +larvays->larvae +larvy->larvae laso->also, lasso, +lasonya->lasagna lastes->latest lastest->latest, last, lastr->last @@ -20233,9 +22515,15 @@ lauched->launched laucher->launcher lauches->launches lauching->launching +laugnage->language +laugnages->languages lauguage->language launchs->launch, launches, launck->launch +laungage->language +laungages->languages +launguage->language +launguages->languages launhed->launched lavae->larvae lavel->level, label, laravel, @@ -20246,6 +22534,10 @@ lavelling->levelling, labelling, lavels->levels, labels, layed->laid layou->layout +layringes->larynges +layrinks->larynx +layrinx->larynx +layrinxes->larynxes layser->layer, laser, laysered->layered, lasered, laysering->layering, lasering, @@ -20276,17 +22568,29 @@ leagl->legal leaglise->legalise leaglity->legality leaglize->legalize +leaneant->lenient +leaneantly->leniently leanr->lean, learn, leaner, leapyear->leap year leapyears->leap years leary->leery leaset->least +leasure->leisure +leasurely->leisurely +leasures->leisures leasy->least leat->lead, leak, least, leaf, leathal->lethal leats->least leaveing->leaving leavong->leaving +leeg->league +leegs->leagues +leegun->legion +leeguns->legions +leesure->leisure +leesurely->leisurely +leesures->leisures lefted->left legac->legacy legact->legacy @@ -20297,6 +22601,9 @@ leggacies->legacies leggacy->legacy leght->length leghts->lengths +legionair->legionnaire +legionaires->legionnaires +legionairs->legionnaires legitamate->legitimate legitimiately->legitimately legitmate->legitimate @@ -20305,6 +22612,8 @@ legth->length legths->lengths leibnitz->leibniz leightweight->lightweight +lemosine->limousine +lemosines->limousines lene->lens lenggth->length lengh->length @@ -20327,18 +22636,29 @@ lengtext->longtext lengthes->lengths lengthh->length lengts->lengths +lenguage->language +lenguages->languages leniant->lenient leninent->lenient lentgh->length lentghs->lengths lenth->length lenths->lengths +lepard->leopard +lepards->leopards +lepracan->leprechaun +lepracans->leprechauns +leprachan->leprechaun +leprachans->leprechauns +lepracy->leprosy leran->learn leraned->learned lerans->learns lern->learn, lean, lerned->learned, learnt, leaned, lerning->learning, leaning, +lessson->lesson +lesssons->lessons lesstiff->LessTif letgitimate->legitimate letmost->leftmost @@ -20353,7 +22673,16 @@ levetates->levitates levetating->levitating levl->level levle->level +lew->lieu, hew, sew, dew, +lewchemia->leukaemia, leukemia, +lewow->luau +lewows->luaus +lewtenant->lieutenant +lewtenants->lieutenants lexial->lexical +lexigraphic->lexicographic +lexigraphical->lexicographical +lexigraphically->lexicographically leyer->layer leyered->layered leyering->layering @@ -20366,6 +22695,8 @@ libarary->library libaries->libraries libary->library libell->libel +liberaries->libraries +liberary->library liberoffice->libreoffice liberry->library libgng->libpng @@ -20397,9 +22728,11 @@ libralie->library libralies->libraries libraly->library libraray->library +librarie->libraries, library, libraris->libraries librarries->libraries librarry->library +libraryes->libraries libratie->library libraties->libraries libraty->library @@ -20419,9 +22752,22 @@ licate->locate licated->located lication->location lications->locations +licemse->license +licemses->licenses licenceing->licencing licencse->license, licenses, +licens->license licese->license +licesne->license +licesnes->licenses +licesning->licensing +licesnse->license +licesnses->licenses +licesnsing->licensing +licker->liquor +licsense->license +licsenses->licenses +licsensing->licensing lieing->lying liek->like liekd->liked @@ -20446,6 +22792,10 @@ lightwieght->lightweight lightwight->lightweight lightyear->light year lightyears->light years +ligitamacy->legitimacy +ligitamassy->legitimacy +ligitamate->legitimate +ligitamately->legitimately ligth->light ligthing->lighting ligths->lights @@ -20464,8 +22814,12 @@ likly->likely lileral->literal limiation->limitation limiations->limitations +limination->limitation, lamination, liminted->limited limitaion->limitation +limitaions->limitations +limitaiton->limitation +limitaitons->limitations limite->limit limitiaion->limitation limitiaions->limitations @@ -20490,6 +22844,8 @@ limitter->limiter limitting->limiting limitts->limits limk->link +limosine->limousine +limosines->limousines limted->limited limti->limit limts->limits @@ -20510,6 +22866,7 @@ linewdith->linewidth linez->lines lingth->length linheight->lineheight +Linix->Linux linke->linked, like, linkfy->linkify linnaena->linnaean @@ -20517,6 +22874,7 @@ lintain->lintian linz->lines lippizaner->lipizzaner liquify->liquefy +liquour->liquor liscense->license, licence, lisence->license, licence, lisense->license, licence, @@ -20528,6 +22886,7 @@ listeing->listening listeneing->listening listeneres->listeners listenes->listens +listenning->listening listensers->listeners listenter->listener listenters->listeners @@ -20555,6 +22914,7 @@ litterally->literally litterals->literals litterate->literate litterature->literature +liturature->literature liuke->like liveing->living livel->level @@ -20566,6 +22926,8 @@ lizensing->licensing lke->like llinear->linear lmits->limits +lnguage->language +lnguages->languages loaader->loader loacal->local loacality->locality @@ -20609,6 +22971,8 @@ locatins->locations loccked->locked locgical->logical lockingf->locking +locla->local +loclas->locals lodable->loadable loded->loaded loder->loader @@ -20669,13 +23033,14 @@ loock->look, lock, loockdown->lockdown loocking->looking, locking, loockup->lookup, lockup, +lood->lewd, blood, flood, mood, look, loom, lookes->looks looknig->looking looop->loop loopup->lookup loosley->loosely loosly->loosely -loosy->lossy, lousy, +loosy->lossy, lousy, loose, losd->lost, loss, lose, load, losely->loosely losen->loosen @@ -20684,18 +23049,29 @@ losted->listed, lost, lasted, lotation->rotation, flotation, lotharingen->Lothringen lowd->load, low, loud, +lozonya->lasagna lpatform->platform lsat->last, slat, sat, +lsip->lisp lsit->list, slit, sit, lsits->lists, slits, sits, luckly->luckily +lugage->luggage +lugages->luggage lukid->lucid, Likud, luminose->luminous luminousity->luminosity +lunguage->language +lunguages->languages +lushis->luscious +lushisly->lusciously lveo->love lvoe->love Lybia->Libya maake->make +maangement->management +maanger->manager +maangers->managers mabe->maybe mabye->maybe macack->macaque @@ -20723,6 +23099,7 @@ macthing->matching madantory->mandatory madatory->mandatory maddness->madness +maeaningless->meaningless maesure->measure maesured->measured maesurement->measurement @@ -20759,6 +23136,7 @@ maintan->maintain maintanance->maintenance maintance->maintenance maintane->maintain +maintaned->maintained maintanence->maintenance maintaner->maintainer maintaners->maintainers @@ -20788,6 +23166,7 @@ makrs->makes, makers, macros, maks->mask, masks, makes, make, makse->makes, masks, makss->masks, makes, +makwfile->makefile Malcom->Malcolm maliciousally->maliciously malicius->malicious @@ -20818,6 +23197,9 @@ managament->management manageed->managed managemenet->management managenment->management +managerment->management +managet->manager +managets->managers managmenet->management managment->management manaise->mayonnaise @@ -20903,6 +23285,7 @@ manualyl->manually manualyy->manually manuell->manual manuelly->manually +manues->menus manuever->maneuver, manoeuvre, manuevers->maneuvers, manoeuvres, manufactuer->manufacture, manufacturer, @@ -20935,6 +23318,7 @@ maped->mapped maping->mapping mapings->mappings mapp->map +mappble->mappable mappeds->mapped mappeed->mapped mappping->mapping @@ -20945,7 +23329,11 @@ marging->margin, merging, margings->margins mariabd->MariaDB mariage->marriage +marixsm->marxism +marixst->marxist +marixsts->marxists marjority->majority +markaup->markup markes->marks, marked, markers, marketting->marketing markey->marquee @@ -20958,6 +23346,10 @@ marryied->married marshmellow->marshmallow marshmellows->marshmallows marter->martyr +marxisim->marxism +marxisit->marxist +marxisits->marxists +marz->March, Mars, masakist->masochist mashetty->machete mashine->machine @@ -20994,6 +23386,7 @@ matc->match matchies->matches matchign->matching matchin->matching +matchine->matching, machine, matchs->matches matchter->matcher matcing->matching @@ -21015,6 +23408,10 @@ materils->materials materla->material materlas->materials mathamatics->mathematics +mathc->match +mathced->matched +mathcer->matcher +mathcers->matchers mathces->matches mathch->match mathched->matched @@ -21040,7 +23437,9 @@ mathmatically->mathematically mathmatician->mathematician mathmaticians->mathematicians mathod->method +mathods->methods matinay->matinee +matirx->matrix matix->matrix matreial->material matreials->materials @@ -21048,6 +23447,8 @@ matresses->mattresses matrial->material matrials->materials matricess->matrices, mattresses, +matrie->matrix +matris->matrix matser->master mattern->pattern, matter, matterns->patterns, matters, @@ -21117,6 +23518,7 @@ meachnisms->mechanisms meading->meaning meaing->meaning mealflur->millefleur +meaned->meant meanigfull->meaningful meanign->meaning meanin->meaning @@ -21125,13 +23527,22 @@ meaningfull->meaningful meanining->meaning meaninless->meaningless meaninng->meaning +meanting->meaning mear->wear, mere, mare, mearly->merely, nearly, +meassurable->measurable +meassurably->measurably +meassure->measure +meassured->measured +meassurement->measurement +meassurements->measurements +meassures->measures +meassuring->measuring measue->measure measued->measured measuement->measurement measuements->measurements -measuer->measurer +measuer->measurer, measure, measues->measures measuing->measuring measurd->measured, measure, @@ -21177,6 +23588,7 @@ mechandise->merchandise mechanim->mechanism mechanims->mechanisms mechanis->mechanism +mechanismn->mechanism mechansim->mechanism mechansims->mechanisms mechine->machine @@ -21211,6 +23623,9 @@ meeds->needs meens->means meerkrat->meerkat meerly->merely +meethod->method +meethodology->methodology +meethods->methods meetign->meeting meganism->mechanism mege->merge @@ -21272,6 +23687,7 @@ memmicked->mimicked memmicking->mimicking memmics->mimics memmory->memory +memner->member memoery->memory memomry->memory memor->memory @@ -21285,6 +23701,7 @@ memwoir->memoir memwoirs->memoirs menally->mentally menas->means +menber->member menetion->mention menetioned->mentioned menetioning->mentioning @@ -21384,6 +23801,7 @@ metapackges->metapackages metaphore->metaphor metaphoricial->metaphorical metaprogamming->metaprogramming +metatadata->metadata metatdata->metadata metdata->metadata meterial->material @@ -21408,6 +23826,7 @@ methons->methods methos->methods, method, methot->method methots->methods +metics->metrics metifor->metaphor metifors->metaphors metion->mention @@ -21622,6 +24041,7 @@ minium->minimum miniums->minimums miniumum->minimum minmal->minimal +minmize->minimize minmum->minimum minnimum->minimum minnimums->minimums @@ -21637,6 +24057,7 @@ minue->minute, minus, menu, minues->minutes, minus, minuses, menus, minum->minimum minumum->minimum +minumun->minimum minuscle->minuscule minusculy->minusculely, minuscule, minuts->minutes @@ -21671,9 +24092,13 @@ mis-alignment->misalignment mis-intepret->mis-interpret mis-intepreted->mis-interpreted mis-match->mismatch +misake->mistake +misaken->mistaken +misakes->mistakes misalignement->misalignment misalinged->misaligned misbehaive->misbehave +miscallenaous->miscellaneous miscallenous->miscellaneous misceancellous->miscellaneous miscelaneous->miscellaneous @@ -21740,6 +24165,7 @@ missingassignement->missingassignment missings->missing Missisipi->Mississippi Missisippi->Mississippi +Mississipi->Mississippi missle->missile missleading->misleading missletow->mistletoe @@ -21769,6 +24195,7 @@ mistatching->mismatching misteek->mystique misteeks->mystiques misterious->mysterious +misteriously->mysteriously mistery->mystery misteryous->mysterious mistic->mystic @@ -21806,6 +24233,7 @@ mmatching->matching mmbers->members mmnemonic->mnemonic mnay->many +mnemnonic->mnemonic moast->most, moat, mobify->modify mocrochip->microchip @@ -21824,6 +24252,8 @@ Mocrosoft->Microsoft mocule->module mocules->modules moddel->model +moddeled->modeled +moddelled->modelled moddels->models modee->mode modelinng->modeling @@ -21928,9 +24358,19 @@ modifuable->modifiable modifued->modified modifx->modify modifyable->modifiable +modifyed->modified +modifyer->modifier +modifyers->modifiers +modifyes->modifies +modiifier->modifier +modiifiers->modifiers +modile->module, mobile, +modiles->modules, mobiles, modiration->moderation -modle->model +modle->model, module, +modles->models, modules, modlue->module +modlues->modules modprobbing->modprobing modprobeing->modprobing modtified->modified @@ -21956,6 +24396,8 @@ mofifies->modifies mofify->modify mohammedan->muslim mohammedans->muslims +moible->mobile +moibles->mobiles moint->mount mointor->monitor mointored->monitored @@ -21990,7 +24432,10 @@ monickers->monikers monitary->monetary moniter->monitor monitoing->monitoring +monitring->monitoring monkies->monkeys +monnth->month +monnths->months monochorome->monochrome monochromo->monochrome monocrome->monochrome @@ -22039,11 +24484,12 @@ morrocco->morocco morroco->morocco mortage->mortgage morter->mortar -mose->more, mouse, +mose->more, mouse, mode, moslty->mostly mostlky->mostly mosture->moisture mosty->mostly +mosue->mouse, mosque, motation->notation, rotation, motivation, moteef->motif moteefs->motifs @@ -22052,12 +24498,15 @@ moteured->motored moteuring->motoring moteurs->motors mothing->nothing +motivaiton->motivation motiviated->motivated motiviation->motivation motononic->monotonic motoroloa->motorola moudle->module +moudles->modules moudule->module +moudules->modules mounth->month, mouth, mounths->months, mouths, mountian->mountain @@ -22102,7 +24551,6 @@ msbuld->MSBuild msbulds->MSBuild's msbulid->MSBuild msbulids->MSBuild's -MSDOS->MS-DOS mssing->missing msssge->message mthod->method @@ -22118,6 +24566,7 @@ muiltiples->multiples muliple->multiple muliples->multiples mulithread->multithread +mulitiple->multiple mulitiplier->multiplier mulitipliers->multipliers mulitpart->multipart @@ -22225,6 +24674,7 @@ mutches->matches mutecies->mutexes mutexs->mutexes muti->multi +muti-statement->multi-statement muticast->multicast mutices->mutexes mutiindex->multi index, multi-index, multiindex, @@ -22279,7 +24729,18 @@ nagative->negative nagatively->negatively nagatives->negatives nagivation->navigation +naibhor->neighbor, neighbour, +naibhorhood->neighborhood, neighbourhood, +naibhorhoods->neighborhoods, neighbourhoods, +naibhorly->neighborly, neighbourly, +naibhors->neighbors, neighbour, +naibor->neighbor, neighbour, +naiborhood->neighborhood, neighbourhood, +naiborhoods->neighborhoods, neighbourhoods, +naiborly->neighborly, neighbourly, +naibors->neighbors, neighbours, naieve->naive +naivity->naivety nam->name namaed->named namaes->names @@ -22302,7 +24763,11 @@ namnes->names namnespace->namespace namnespaces->namespaces nams->names +namspace->namespace +namspaces->namespaces nane->name +nanosecod->nanosecond +nanosecods->nanoseconds nanosencond->nanosecond nanosenconds->nanoseconds nanoseond->nanosecond @@ -22310,14 +24775,57 @@ nanoseonds->nanoseconds Naploeon->Napoleon Napolean->Napoleon Napoleonian->Napoleonic -nast->nest, mast, +napom->napalm +napomed->napalmed +napomes->napalms +napoming->napalming +napommed->napalmed +napommes->napalms +napomming->napalming +napomms->napalms +napoms->napalms +narl->gnarl, snarl, earl, farl, marl, nail, nark, nary, +narled->gnarled, snarled, nailed, narked, +narling->gnarling, snarling, nailing, narking, +narls->gnarls, snarls, earls, farls, marls, nails, narks, +narly->gnarly +nast->nest, mast, nasty, +nastalgea->nostalgia nasted->nested +nastershem->nasturtium +nastershems->nasturtiums +nastershum->nasturtium +nastershums->nasturtiums +nastersiem->nasturtium +nastersiems->nasturtiums +nastersium->nasturtium +nastersiums->nasturtiums +nastertiem->nasturtium +nastertiems->nasturtiums +nastertium->nasturtium +nastertiums->nasturtiums nasting->nesting nastly->nasty nasts->nests, masts, +nasturshem->nasturtium +nasturshems->nasturtiums +nasturshum->nasturtium +nasturshums->nasturtiums nastyness->nastiness natched->matched natches->matches +natinal->matinal, national, +natinalism->nationalism +natinalist->nationalist +natinalists->nationalists +natinally->nationally +natinals->nationals +natioanl->national +natioanlism->nationalism +natioanlist->nationalist +natioanlists->nationalists +natioanlly->nationally +natioanls->nationals nativelyx->natively natrual->natural naturaly->naturally @@ -22330,6 +24838,7 @@ navagate->navigate navagating->navigating navagation->navigation navagitation->navigation +navgiation->navigation naviagte->navigate naviagted->navigated naviagtes->navigates @@ -22338,14 +24847,38 @@ naviagtion->navigation navitvely->natively navtive->native navtives->natives +nawsea->nausea +nawseous->nauseous +nawseously->nauseously +nawshea->nausea +nawshes->nauseous +nawshesly->nauseously +nawshus->nauseous +nawshusly->nauseously nax->max, nad, naxima->maxima naximal->maximal naximum->maximum +naybhor->neighbor +naybhorhood->neighborhood +naybhorhoods->neighborhoods +naybhorly->neighborly +naybhors->neighbors +naybor->neighbor +nayborhood->neighborhood +nayborhoods->neighborhoods +nayborly->neighborly +naybors->neighbors +naybour->neighbour +naybourhood->neighbourhood +naybourhoods->neighbourhoods +naybourly->neighbourly +naybours->neighbours Nazereth->Nazareth nce->once, nice, nclude->include nd->and, 2nd, +ndefined->undefined ndoe->node ndoes->nodes nead->need, knead, head, @@ -22381,9 +24914,12 @@ necesary->necessary necessaery->necessary necessairly->necessarily necessar->necessary +necessarally->necessarily +necessaraly->necessarily necessarilly->necessarily +necessarilyn->necessarily necessariy->necessary, necessarily, -necessarly->necessarily +necessarly->necessary, necessarily, necessarry->necessary necessaryly->necessarily necessay->necessary @@ -22406,7 +24942,7 @@ nedless->needless, needles, neds->needs neede->needed, need, needeed->needed -neeed->need +neeed->need, needed, neeeded->needed neeeding->needing neeedle->needle @@ -22422,6 +24958,7 @@ neesds->needs neested->nested neesting->nesting neet->need, neat, +neether->neither negaive->negative negarive->negative negatiotiable->negotiable @@ -22446,6 +24983,7 @@ negitiations->negotiations negitiator->negotiator negitiators->negotiators negitive->negative +neglibible->negligible neglible->negligible negligable->negligible negligble->negligible @@ -22861,6 +25399,14 @@ neiter->neither nelink->netlink nenviroment->environment neolitic->neolithic +neral->neural +nerally->neurally +neraly->neurally +nerative->narrative, negative, +neratively->narratively, negatively, +neratives->narratives, negatives, +nervana->nirvana +nervanic->nirvanic nerver->never nescesaries->necessaries nescesarily->necessarily @@ -22882,7 +25428,15 @@ nessesarily->necessarily nessesary->necessary nessessarily->necessarily nessessary->necessary +nestalgia->nostalgia +nestalgic->nostalgic +nestalgically->nostalgically +nestalgicly->nostalgically nestin->nesting +nestolgia->nostalgia +nestolgic->nostalgic +nestolgically->nostalgically +nestolgicly->nostalgically nestwork->network netacpe->netscape netcape->netscape @@ -22898,17 +25452,43 @@ netwroked->networked netwroks->networks netwrork->network neumeric->numeric -nevelope->envelope +neumonectomies->pneumonectomies +neumonectomy->pneumonectomy +neumonia->pneumonia +neumonic->mnemonic, pneumonic, +neumonically->mnemonically +neumonicly->mnemonically +neumonics->mnemonics +neumonitis->pneumonitis +nevelop->envelop +nevelope->envelope, envelop, +neveloped->enveloped nevelopes->envelopes +neveloping->enveloping +nevelops->envelops nevere->never neveretheless->nevertheless nevers->never neverthless->nevertheless +newance->nuance +newanced->nuanced +newances->nuances +newancing->nuancing newine->newline newines->newlines newletters->newsletters +newmatic->pneumatic +newmatically->pneumatically +newmaticly->pneumatically +newmonectomies->pneumonectomies +newmonectomy->pneumonectomy +newmonia->pneumonia +newmonic->pneumonic +newmonitis->pneumonitis nework->network neworks->networks +newsans->nuisance +newsanses->nuisances newslines->newlines newthon->newton newtork->network @@ -22917,46 +25497,81 @@ nexting->nesting, texting, niear->near niearest->nearest niether->neither +nieve->naive +nieveatay->naivete +nievely->naively +nife->knife +nifes->knives nighbor->neighbor nighborhood->neighborhood nighboring->neighboring nighlties->nightlies nighlty->nightly nightfa;;->nightfall +nighther->neither nightime->nighttime +nihther->neither +nimph->nymph +nimphal->nymphal +nimphean->nymphean +nimphian->nymphean +nimphlike->nymphlike +nimpho->nympho +nimphomania->nymphomania +nimphomaniac->nymphomaniac +nimphomaniacs->nymphomaniacs +nimphos->nymphos +nimphs->nymphs +nimute->minute nimutes->minutes nin->inn, min, bin, nine, nineth->ninth ninima->minima ninimal->minimal +ninimally->minimally ninimum->minimum -ninjs->ninja +ninj->ninja +ninjs->ninja, ninjas, ninteenth->nineteenth ninties->nineties, 1990s, ninty->ninety, minty, +nitch->niche +nitched->niched +nitches->niches +nitching->niching nither->neither +nitification->notification +nitifications->notifications +nives->knives, nieves, nines, dives, fives, hives, wives, nknown->unknown nkow->know nkwo->know nmae->name +nmme->name nned->need nneeded->needed +nnovisheate->novitiate +nnovisheates->novitiates nnumber->number no-overide->no-override nodel->model, nodal, nodels->models nodess->nodes nodulated->modulated -noe->not, no, node, know, now, +noe->not, no, node, note, know, now, nofified->notified nofity->notify nohypen->nohyphen noice->noise, nice, notice, +nojification->notification +nojifications->notifications nomber->number nombered->numbered nombering->numbering nombers->numbers +nomes->gnomes nomimal->nominal +nomralization->normalization non-alphanumunder->non-alphanumeric non-asii->non-ascii non-assiged->non-assigned @@ -22970,7 +25585,9 @@ non-indentended->non-indented non-inmediate->non-immediate non-inreractive->non-interactive non-instnat->non-instant +non-interactivly->non-interactively non-meausure->non-measure +non-mergable->non-mergeable non-negatiotiable->non-negotiable non-negatiotiated->non-negotiated non-negativ->non-negative @@ -23080,7 +25697,13 @@ normolise->normalise normolize->normalize northen->northern northereastern->northeastern +nortification->notification +nortifications->notifications nortmally->normally +nostolgia->nostalgia +nostolgic->nostalgic +nostolgically->nostalgically +nostolgicly->nostalgically notabley->notably notaion->notation notaly->notably @@ -23110,7 +25733,11 @@ notications->notifications noticeing->noticing noticiable->noticeable noticible->noticeable +noticication->notification +noticications->notifications notidy->notify, not tidy, +notifacation->notification +notifacations->notifications notifaction->notification notifactions->notifications notifcation->notification @@ -23118,22 +25745,47 @@ notifcations->notifications notifed->notified notifer->notifier notifes->notifies +notifiaction->notification +notifiactions->notifications notifiation->notification +notifiations->notifications notificaction->notification +notificactions->notifications +notificaion->notification +notificaions->notifications notificaiton->notification notificaitons->notifications +notificarion->notification +notificarions->notifications +notificastion->notification +notificastions->notifications +notificatios->notification, notifications, notificaton->notification notificatons->notifications notificiation->notification notificiations->notifications +notificications->notifications +notifictation->notification +notifictations->notifications +notifiction->notification +notifictions->notifications +notififation->notification +notififations->notifications notifiy->notify notifiying->notifying notifycation->notification +notigication->notification +notigications->notifications notity->notify notmalize->normalize notmalized->normalized notmutch->notmuch notning->nothing +notod->noted +notofocation->notification +notofocations->notifications +notoreous->notorious +notoreously->notoriously notse->notes, note, nott->not nottaion->notation @@ -23143,11 +25795,20 @@ noveau->nouveau novemeber->November Novemer->November Novermber->November +novisheate->novitiate +novisheates->novitiates +novisheut->novitiate +novisheuts->novitiates nowadys->nowadays nowdays->nowadays nowe->now nown->known, noun, nowns->knowns, nouns, +nstall->install +nstallation->installation +nstalled->installed +nstalling->installing +nstalls->installs ntification->notification nuber->number nubering->numbering @@ -23156,9 +25817,12 @@ nubmers->numbers nucleous->nucleus, nucleolus, nucular->nuclear nuculear->nuclear +nuisans->nuisance nuisanse->nuisance +nuisanses->nuisance, nuisances, nuissance->nuisance nulk->null +null-termined->null-terminated Nullabour->Nullarbor nulll->null numbber->number @@ -23208,15 +25872,36 @@ numvers->numbers nunber->number nunbers->numbers Nuremburg->Nuremberg +nurish->nourish +nurished->nourished +nurisher->nourisher +nurishes->nourishes +nurishing->nourishing +nurishment->nourishment nusance->nuisance +nutral->neutral +nutrally->neutrally +nutraly->neutrally +nutrieous->nutritious nutritent->nutrient nutritents->nutrients nuturing->nurturing nwe->new nwo->now o'caml->OCaml +oaker->ocher, oakier, oaken, baker, faker, laker, maker, taker, +oakereous->ocherous +oakereously->ocherously +oakerous->ocherous +oakerously->ocherously +oakery->ochery oaram->param +obation->ovation +obations->ovations obay->obey +obayed->obeyed +obaying->obeying +obays->obeys obect->object obediance->obedience obediant->obedient @@ -23283,6 +25968,10 @@ objtain->obtain objtained->obtained objtains->obtains objump->objdump +obleek->oblique +obleekly->obliquely +oblisk->obelisk +oblisks->obelisks oblitque->oblique obnject->object obscur->obscure @@ -23297,6 +25986,7 @@ obsolate->obsolete obsolesence->obsolescence obsolite->obsolete obsolited->obsoleted +obsolote->obsolete obsolte->obsolete obsolted->obsoleted obssessed->obsessed @@ -23307,6 +25997,8 @@ obsure->obscure obtaien->obtain, obtained, obtaiend->obtained obtaiens->obtains +obtaine->obtain, obtained, obtains, +obtaines->obtains obtainig->obtaining obtaion->obtain obtaioned->obtained @@ -23321,6 +26013,7 @@ obvisous->obvious obvisously->obviously obyect->object obyekt->object +ocapella->a cappella ocasion->occasion ocasional->occasional ocasionally->occasionally @@ -23345,8 +26038,11 @@ occassionally->occasionally occassionaly->occasionally occassioned->occasioned occassions->occasions +occation->occasion occational->occasional occationally->occasionally +occationly->occasionally +occations->occasions occcur->occur occcured->occurred occcurs->occurs @@ -23360,6 +26056,8 @@ occrrances->occurrences occrred->occurred occrring->occurring occsionally->occasionally +occucence->occurrence +occucences->occurrences occulusion->occlusion occuped->occupied occupided->occupied @@ -23381,18 +26079,31 @@ occurrances->occurrences occurrencs->occurrences occurrs->occurs oce->once, one, ore, +ocilate->oscillate +ocilated->oscillated +ocilater->oscillator +ocilaters->oscillators +ocilates->oscillates +ocilating->oscillating +ocilator->oscillator +ocilators->oscillators oclock->o'clock ocntext->context ocorrence->occurrence ocorrences->occurrences octect->octet octects->octets +octive->octave, active, +octives->octaves, actives, +Octobor->October octohedra->octahedra octohedral->octahedral octohedron->octahedron ocuntries->countries ocuntry->country ocupied->occupied +ocupier->occupier +ocupiers->occupiers ocupies->occupies ocupy->occupy ocupying->occupying @@ -23405,15 +26116,25 @@ ocurrences->occurrences ocurring->occurring ocurrred->occurred ocurrs->occurs +odasee->odyssey +odasees->odysseys oder->order, odor, odly->oddly ody->body oen->one +oepration->operation +oeprations->operations ofcource->of course +off-laod->off-load +off-laoded->off-loaded +off-laoding->off-loading offcers->officers offcial->official offcially->officially offcials->officials +offen->often +offener->oftener +offenest->oftenest offens->offend, offense, offends, offers, offerd->offered offereings->offerings @@ -23437,6 +26158,17 @@ officeally->officially officeals->officials officealy->officially officialy->officially +officianado->aficionado +officianados->aficionados +officionado->aficionado +officionados->aficionados +offisianado->aficionado +offisianados->aficionados +offisionado->aficionado +offisionados->aficionados +offlaod->offload +offlaoded->offloaded +offlaoding->offloading offloded->offloaded offred->offered offsence->offence @@ -23452,6 +26184,14 @@ offstets->offsets offten->often oficial->official oficially->officially +oficianado->aficionado +oficianados->aficionados +oficionado->aficionado +oficionados->aficionados +ofisianado->aficionado +ofisianados->aficionados +ofisionado->aficionado +ofisionados->aficionados ofmodule->of module ofo->of ofrom->from @@ -23461,6 +26201,9 @@ oftenly->often ofter->often, offer, after, ofthe->of the ofthen->often, of then, +oger->ogre +ogerish->ogreish +ogers->ogres oging->going, ogling, oher->other, her, oherwise->otherwise @@ -23483,17 +26226,38 @@ ojective->objective ojects->objects ojekts->objects okat->okay +oktober->October oldes->oldest oll->all, ole, old, Olly, oil, olny->only olt->old olther->other oly->only +omage->homage +omages->homages +omaj->homage, Oman, +omaje->homage +omajes->homages +omishience->omniscience +omishiences->omnisciences +omishients->omniscience +omishints->omniscience +omisience->omniscience +omisiences->omnisciences omision->omission omited->omitted omiting->omitting omitt->omit +omlet->omelet +omlets->omelets omlette->omelette +omlettes->omelettes +ommishience->omniscience +ommishiences->omnisciences +ommishients->omniscience +ommishints->omniscience +ommisience->omniscience +ommisiences->omnisciences ommision->omission ommission->omission ommit->omit @@ -23502,6 +26266,12 @@ ommiting->omitting ommits->omits ommitted->omitted ommitting->omitting +omnishience->omniscience +omnishiences->omnisciences +omnishients->omniscience +omnishints->omniscience +omnisience->omniscience +omnisiences->omnisciences omniverous->omnivorous omniverously->omnivorously omplementaion->implementation @@ -23509,7 +26279,7 @@ omplementation->implementation omre->more onces->ounces, once, ones, onchage->onchange -ond->one +ond->one, and, one-dimenional->one-dimensional one-dimenionsal->one-dimensional onece->once @@ -23524,7 +26294,15 @@ onliene->online onlly->only onlye->only onlyonce->only once +onmishience->omniscience +onmishiences->omnisciences +onmishients->omniscience +onmishints->omniscience +onmisience->omniscience +onmisiences->omnisciences onoly->only +onomanopea->onomatopoeia +onomonopea->onomatopoeia onot->note, not, onother->another ons->owns @@ -23543,13 +26321,15 @@ ontext->context onthe->on the ontop->on top ontrolled->controlled +onveience->convenience onw->own onwed->owned +onwee->ennui onwer->owner onwership->ownership onwing->owning onws->owns -ony->only, on, +ony->only, on, one, onyl->only oommits->commits ooutput->output @@ -23559,6 +26339,9 @@ opactiy->opacity opacy->opacity opague->opaque opatque->opaque +opayk->opaque +opaykely->opaquely +opaykes->opaques opbject->object opbjective->objective opbjects->objects @@ -23638,6 +26421,7 @@ operaror->operator operatation->operation operatations->operations operater->operator +operatin->operation, operating, operatings->operating operatio->operation operatione->operation @@ -23659,9 +26443,25 @@ opertors->operators opetional->optional ophan->orphan ophtalmology->ophthalmology +opinyon->opinion +opinyonable->opinionable +opinyonaire->opinionnaire +opinyonal->opinional +opinyonate->opinionated +opinyonated->opinionated +opinyonatedly->opinionatedly +opinyonative->opinionative +opinyonator->opinionator +opinyonators->opinionators +opinyonist->opinionist +opinyonists->opinionists +opinyonnaire->opinionnaire +opinyons->opinions opion->option +opional->optional opionally->optionally opions->options +opitional->optional opitionally->optionally opiton->option opitons->options @@ -23702,6 +26502,7 @@ oppinion->opinion oppinions->opinions opponant->opponent oppononent->opponent +opportunies->opportunities opportunisticly->opportunistically opportunistly->opportunistically opportunties->opportunities @@ -23744,6 +26545,7 @@ optimiality->optimality optimice->optimize, optimise, optimiced->optimized, optimised, optimier->optimizer, optimiser, +optimimum->optimum optimisim->optimism optimisitc->optimistic optimisitic->optimistic @@ -23756,6 +26558,7 @@ optimiztion->optimization optimiztions->optimizations optimsitic->optimistic optimyze->optimize +optimzation->optimization optimze->optimize optimzie->optimize optin->option @@ -23799,16 +26602,28 @@ opulate->populate, opiate, opulent, opulates->populates, opiates, opyion->option opyions->options +orangatang->orangutan +orangatangs->orangutans orcale->oracle +orcestra->orchestra +orcestras->orchestras +orcestrate->orchestrate +orcestrated->orchestrated +orcestrates->orchestrates +orcestrating->orchestrating +orcestrator->orchestrator orded->ordered orderd->ordered ordert->ordered +orderves->hors d'oeuvre ording->ordering ordner->order orede->order oredes->orders oreding->ordering oredred->ordered +oregeno->oregano +orfer->order, offer, orgamise->organise organim->organism organisaion->organisation @@ -23863,10 +26678,15 @@ orgins->origins, organs, orginx->originx orginy->originy orhpan->orphan +orhtogonal->orthogonal +orhtogonality->orthogonality +orhtogonally->orthogonally oriant->orient oriantate->orientate oriantated->orientated oriantation->orientation +oricle->oracle +oricles->oracles oridinal->ordinal, original, oridinarily->ordinarily orieation->orientation @@ -23923,6 +26743,8 @@ orignially->originally origninal->original oringal->original oringally->originally +orkid->orchid +orkids->orchids orpan->orphan orpanage->orphanage orpaned->orphaned @@ -23943,12 +26765,18 @@ oscilate->oscillate oscilated->oscillated oscilating->oscillating oscilator->oscillator +oscillater->oscillator +oscillaters->oscillators oscilliscope->oscilloscope oscilliscopes->oscilloscopes osffset->offset osffsets->offsets osffsetting->offsetting osicllations->oscillations +osterage->ostrich +osterages->ostriches +ostridge->ostrich +ostridges->ostriches ot->to, of, or, not, otain->obtain otained->obtained @@ -23972,6 +26800,7 @@ othere->other otherewise->otherwise otherise->otherwise otheriwse->otherwise +othersie->otherwise otherwaise->otherwise otherways->otherwise otherweis->otherwise @@ -24002,6 +26831,7 @@ othwerise->otherwise othwerwise->otherwise othwhise->otherwise otification->notification +otifications->notifications otiginal->original otion->option otional->optional, notional, @@ -24044,6 +26874,7 @@ outher->other, outer, outisde->outside outllook->outlook outoign->outgoing +outoing->outgoing, outdoing, outing, outout->output outperfoem->outperform outperfoeming->outperforming @@ -24095,6 +26926,7 @@ overcompansations->overcompensations overengeneer->overengineer overengeneering->overengineering overfl->overflow +overflw->overflow overfow->overflow overfowed->overflowed overfowing->overflowing @@ -24189,6 +27021,20 @@ overwritren->overwritten overwrittes->overwrites overwrittin->overwriting overwritting->overwriting +overzealis->overzealous +overzealisly->overzealously +overzealos->overzealous +overzealosly->overzealously +overzealus->overzealous +overzealusly->overzealously +overzelis->overzealous +overzelisly->overzealously +overzelos->overzealous +overzelosly->overzealously +overzelous->overzealous +overzelously->overzealously +overzelus->overzealous +overzelusly->overzealously ovewrite->overwrite ovewrites->overwrites ovewriting->overwriting @@ -24222,6 +27068,7 @@ owerwrites->overwrites owful->awful ownder->owner ownerhsip->ownership +ownersip->ownership ownes->owns, ones, ownner->owner ownward->onward @@ -24235,6 +27082,14 @@ oxzillary->auxiliary oyu->you p0enis->penis paackage->package +paackages->packages +paackaging->packaging +pacage->package +pacages->packages +pacaging->packaging +pacakage->package +pacakages->packages +pacakaging->packaging pacakge->package pacakges->packages pacakging->packaging @@ -24242,6 +27097,7 @@ paceholder->placeholder pach->patch, path, pachage->package paches->patches +pachooly->patchouli pacht->patch pachtches->patches pachtes->patches @@ -24267,10 +27123,16 @@ packges->packages packgs->packages packhage->package packhages->packages +packkage->package +packkaged->packaged +packkages->packages +packkaging->packaging packtes->packets pactch->patch pactched->patched pactches->patches +paculier->peculiar +paculierly->peculiarly padam->param padd->pad, padded, padds->pads @@ -24279,6 +27141,9 @@ paermission->permission paermissions->permissions paeth->path pagagraph->paragraph +pagent->pageant, plangent, +pagentry->pageantry, plangently, +pagents->pageants, plangents, pahses->phases paht->path, pat, part, pahts->paths, pats, parts, @@ -24287,6 +27152,18 @@ paied->paid, paired, painiting->painting paintile->painttile paintin->painting +pairocheal->parochial +pairocheality->parochiality +pairocheally->parochially +pairocheel->parochial +pairocheelity->parochiality +pairocheelly->parochially +pairokeal->parochial +pairokeality->parochiality +pairokeally->parochially +pairokeel->parochial +pairokeelity->parochiality +pairokeelly->parochially paitience->patience paiting->painting pakage->package @@ -24334,6 +27211,8 @@ paragarph->paragraph paragarphs->paragraphs paragph->paragraph paragpraph->paragraph +paragrah->paragraph +paragrahs->paragraphs paragraphy->paragraph paragrphs->paragraphs parahaps->perhaps @@ -24362,12 +27241,14 @@ paramameter->parameter paramameters->parameters paramater->parameter paramaters->parameters +parameger->parameter paramemeter->parameter paramemeters->parameters paramemter->parameter paramemters->parameters paramenet->parameter paramenets->parameters +paramenter->parameter paramenters->parameters paramer->parameter paramert->parameter @@ -24378,7 +27259,6 @@ parameteras->parameters parametere->parameter, parameters, parameteres->parameters parameterical->parametrical -parameterizes->parametrizes parameterts->parameters parametes->parameters parametic->parametric, paramedic, @@ -24396,8 +27276,16 @@ paramterer->parameter paramterers->parameters paramteres->parameters paramterical->parametric, parametrically, -paramterization->parametrization, parameterization, +paramterisation->parameterisation +paramterise->parameterise +paramterised->parameterised +paramterises->parameterises +paramterising->parameterising +paramterization->parameterization paramterize->parameterize +paramterized->parameterized +paramterizes->parameterizes +paramterizing->parameterizing paramterless->parameterless paramters->parameters paramtrical->parametrical @@ -24422,6 +27310,8 @@ parastic->parasitic parastics->parasitics paratheses->parentheses paratmers->parameters +paravirtualiation->paravirtualization, paravirtualisation, +paravirtualied->paravirtualized, paravirtualised, paravirutalisation->paravirtualisation paravirutalise->paravirtualise paravirutalised->paravirtualised @@ -24431,6 +27321,7 @@ paravirutalized->paravirtualized parctical->practical parctically->practically pard->part +parellel->parallel parellelogram->parallelogram parellels->parallels parem->param @@ -24445,8 +27336,13 @@ parenthesies->parentheses parenthises->parentheses parenthsis->parenthesis paret->parent, parrot, +paretheses->parentheses +parfay->parfait +parge->large +paria->pariah, parka, parial->partial parially->partially +parias->pariahs, parkas, paricular->particular paricularly->particularly parisitic->parasitic @@ -24465,15 +27361,26 @@ parititioning->partitioning parititions->partitions paritiy->parity parituclar->particular +parkay->parquet, parlay, parkway, +parkays->parquets, parlays, parkways, +parlament->parliament +parlamentary->parliamentary +parlaments->parliaments parliment->parliament +parlimentary->parliamentary +parliments->parliaments parm->param, pram, Parma, parmaeter->parameter parmaeters->parameters parmameter->parameter parmameters->parameters parmaters->parameters +parmesian->Parmesan parmeter->parameter parmeters->parameters +parmetian->Parmesan +parmisan->Parmesan +parmisian->Parmesan parms->params, prams, parmter->parameter parmters->parameters @@ -24484,8 +27391,23 @@ parntering->partnering parnters->partners parntership->partnership parnterships->partnerships +parocheal->parochial +parocheality->parochiality +parocheally->parochially +parocheel->parochial +parocheelity->parochiality +parocheelly->parochially +parokeal->parochial +parokeality->parochiality +parokeally->parochially +parokeel->parochial +parokeelity->parochiality +parokeelly->parochially parrakeets->parakeets parralel->parallel +parralell->parallel +parralelly->parallelly +parralely->parallelly parrallel->parallel parrallell->parallel parrallelly->parallelly @@ -24494,6 +27416,12 @@ parrent->parent parsef->parsed, parser, parsec, parseing->parsing parsering->parsing +parshal->partial, marshal, +parshally->partially +parshaly->partially +parsial->partial +parsially->partially +parsialy->partially parsin->parsing parstree->parse tree partaining->pertaining @@ -24528,6 +27456,7 @@ particulaly->particularly particularily->particularly particulary->particularly particuliar->particular +particuraly->particularly partifular->particular partiiton->partition partiitoned->partitioned @@ -24565,6 +27494,26 @@ partiular->particular partiularly->particularly partiulars->particulars pary->party, parry, +pascheurisation->pasteurisation +pascheurise->pasteurise +pascheurised->pasteurised +pascheurises->pasteurises +pascheurising->pasteurising +pascheurization->pasteurization +pascheurize->pasteurize +pascheurized->pasteurized +pascheurizes->pasteurizes +pascheurizing->pasteurizing +paschurisation->pasteurisation +paschurise->pasteurise +paschurised->pasteurised +paschurises->pasteurises +paschurising->pasteurising +paschurization->pasteurization +paschurize->pasteurize +paschurized->pasteurized +paschurizes->pasteurizes +paschurizing->pasteurizing pase->pass, pace, parse, pased->passed, parsed, pasengers->passengers @@ -24582,7 +27531,10 @@ pass-trough->pass-through, pass through, passthrough, passerbys->passersby passin->passing passiv->passive +passord->password +passords->passwords passowrd->password +passowrds->passwords passs->pass passsed->passed passsing->passing @@ -24596,8 +27548,20 @@ passwirds->passwords passwrod->password passwrods->passwords pasteing->pasting +pasteries->pastries +pastery->pastry pasttime->pastime pastural->pastoral +pasturisation->pasteurisation +pasturise->pasteurise +pasturised->pasteurised +pasturises->pasteurises +pasturising->pasteurising +pasturization->pasteurization +pasturize->pasteurize +pasturized->pasteurized +pasturizes->pasteurizes +pasturizing->pasteurizing pasword->password paswords->passwords patameter->parameter @@ -24630,6 +27594,7 @@ pattented->patented pattersn->patterns pattren->pattern, patron, pattrens->patterns, patrons, +pattrns->patterns pavillion->pavilion pavillions->pavilions paínt->paint @@ -24639,8 +27604,20 @@ peacd->peace peacefuland->peaceful and peacify->pacify peageant->pageant +peanochle->pinochle +peanockle->pinochle +peanuchle->pinochle +peanuckle->pinochle +peapel->people +peapels->peoples peaple->people peaples->peoples +pease->peace, piece, please, lease, +peased->pieced, pleased, leased, +peaseful->peaceful +peasefully->peacefully +peases->pieces, pleases, leases, +peasing->piecing, pleasing, leasing, pecentage->percentage pecified->specified, pacified, pecularities->peculiarities @@ -24648,7 +27625,16 @@ pecularity->peculiarity peculure->peculiar pedestrain->pedestrian peding->pending +pedistal->pedestal +pedistals->pedestals pedning->pending +peedmont->piedmont +peedmonts->piedmonts +peepel->people +peepels->peoples +peerowet->pirouette +peerowetes->pirouettes +peerowets->pirouettes pefer->prefer peferable->preferable peferably->preferably @@ -24677,22 +27663,35 @@ peirods->periods Peloponnes->Peloponnese, Peloponnesus, penalities->penalties penality->penalty +penatenturies->penitentiaries +penatentury->penitentiary penatly->penalty pendantic->pedantic pendig->pending pendning->pending penerator->penetrator +pengwen->penguin +pengwens->penguins +pengwin->penguin +pengwins->penguins penisula->peninsula penisular->peninsular pennal->panel pennals->panels +pennensula->peninsula +pennensular->peninsular +pennensulas->peninsulas penninsula->peninsula penninsular->peninsular +penninsulas->peninsulas pennisula->peninsula +pennisular->peninsular +pennisulas->peninsulas Pennyslvania->Pennsylvania pensinula->peninsula pensle->pencil penultimante->penultimate +penwar->peignoir peom->poem peoms->poems peopel->people @@ -24847,20 +27846,32 @@ perfromance->performance perfromed->performed perfroming->performing perfroms->performs +perfur->prefer +perfurd->preferred +perfured->preferred +perfuring->preferring +perfurrd->preferred +perfurred->preferred +perfurring->preferring +perfurs->prefers perhabs->perhaps perhas->perhaps perhasp->perhaps perheaps->perhaps perhpas->perhaps peridic->periodic +peridical->periodical +peridically->periodically perihperal->peripheral perihperals->peripherals +perilious->perilous perimetre->perimeter perimetres->perimeters periode->period periodicaly->periodically periodioc->periodic peripathetic->peripatetic +periperal->peripheral peripherial->peripheral peripherials->peripherals perisist->persist @@ -24870,6 +27881,10 @@ peristent->persistent perjery->perjury perjorative->pejorative perlciritc->perlcritic +perliferate->proliferate +perliferated->proliferated +perliferates->proliferates +perliferating->proliferating permable->permeable permament->permanent permamently->permanently @@ -24899,14 +27914,31 @@ permmissions->permissions permormance->performance permssion->permission permssions->permissions +permuatate->permutate +permuatated->permutated +permuatates->permutates +permuatating->permutating +permuatation->permutation +permuatations->permutations +permuate->permute, permutate, +permuated->permuted, permutated, +permuates->permutes, permutates, +permuating->permuting, permutating, permuation->permutation permuations->permutations permutaion->permutation permutaions->permutations +permution->permutation +permutions->permutations peroendicular->perpendicular perogative->prerogative +perogrative->prerogative peroid->period peroidic->periodic +peroidical->periodical +peroidically->periodically +peroidicals->periodicals +peroidicity->periodicity peroids->periods peronal->personal peroperly->properly @@ -24918,8 +27950,21 @@ perpertrated->perpetrated perperty->property perphas->perhaps perpindicular->perpendicular +perpsective->perspective +perpsectives->perspectives perrror->perror persan->person +persciuos->precious +persciuosly->preciously +perscius->precious +persciusly->preciously +persective->perspective +persectives->perspectives +perseed->precede +perseeded->preceded +perseedes->precedes +perseeding->preceding +perseeds->precedes persepctive->perspective persepective->perspective persepectives->perspectives @@ -24933,6 +27978,16 @@ perservering->persevering perserves->preserves perserving->preserving perseverence->perseverance +persew->pursue +persewed->pursued +persewer->pursuer +persewes->pursues +persewing->pursuing +persews->pursues +pershis->precious +pershisly->preciously +pershus->precious +pershusly->preciously persisit->persist persisited->persisted persistance->persistence @@ -24942,6 +27997,7 @@ persisten->persistent persistented->persisted persited->persisted persitent->persistent +persmissions->permissions personalitie->personality personalitites->personalities personalitity->personality @@ -24953,6 +28009,10 @@ personnal->personal personnaly->personally personnell->personnel perspecitve->perspective +perssious->precious +perssiously->preciously +perssiuos->precious +perssiuosly->preciously persuded->persuaded persue->pursue persued->pursued @@ -24960,9 +28020,16 @@ persuing->pursuing persuit->pursuit persuits->pursuits persumably->presumably +perticipate->participate +perticipated->participated +perticipates->participates +perticipating->participating +perticipation->participation perticular->particular perticularly->particularly perticulars->particulars +pertinate->pertinent +pertinately->pertinently pertrub->perturb pertrubation->perturbation pertrubations->perturbations @@ -24977,15 +28044,37 @@ pertubing->perturbing perturbate->perturb perturbates->perturbs perturbe->perturb, perturbed, +perview->preview, purview, +perviews->previews, purviews, pervious->previous perviously->previously pessiary->pessary petetion->petition pevent->prevent pevents->prevents +pewder->pewter, powder, lewder, pezier->bezier phanthom->phantom -Pharoah->Pharaoh +pharmaseudical->pharmaceutical +pharmaseudically->pharmaceutical +pharmaseudicals->pharmaceuticals +pharmaseudicaly->pharmaceutical +pharmaseutical->pharmaceutical +pharmaseutically->pharmaceutical +pharmaseuticals->pharmaceuticals +pharmaseuticaly->pharmaceutical +pharmasist->pharmacist +pharmasists->pharmacists +pharmasudical->pharmaceutical +pharmasudically->pharmaceutical +pharmasudicals->pharmaceuticals +pharmasudicaly->pharmaceutical +pharmasutical->pharmaceutical +pharmasutically->pharmaceutical +pharmasuticals->pharmaceuticals +pharmasuticaly->pharmaceutical +pharoah->pharaoh +pharoh->pharaoh phasepsace->phasespace phasis->phases phenomenom->phenomenon @@ -25011,6 +28100,12 @@ phisically->physically phisicaly->physically phisics->physics phisosophy->philosophy +phlem->phlegm, phloem, +phlema->phlegma +phlematic->phlegmatic +phlematically->phlegmatically +phlematous->phlegmatous +phlemy->phlegmy Phonecian->Phoenecian phoneticly->phonetically phongraph->phonograph @@ -25031,6 +28126,16 @@ phylosophical->philosophical physcial->physical physial->physical physicaly->physically +physican->physician +physicans->physicians +physicion->physician +physicions->physicians +physisan->physician +physisans->physicians +physisian->physician +physisians->physicians +physision->physician +physisions->physicians physisist->physicist phython->python phyton->python @@ -25040,21 +28145,64 @@ piars->pairs, piers, pliers, piblisher->publisher pice->piece pich->pitch, pick, pinch, +piched->pitched, picked, pinched, +piches->pitches, pinches, +piching->pitching, picking, pinching, +picknic->picnic +pickniced->picnicked +picknicer->picnicker +picknicing->picnicking +picknicked->picnicked +picknicker->picnicker +picknicking->picnicking +picknicks->picnics +picknics->picnics +pickyune->picayune +pickyunes->picayunes +picniced->picnicked +picnicer->picnicker +picnicing->picnicking +picnick->picnic +picnicks->picnics picoseond->picosecond picoseonds->picoseconds +picturesk->picturesque +pictureskely->picturesquely +pictureskly->picturesquely +pictureskness->picturesqueness pieceweise->piecewise, piece wise, piecewiese->piecewise, piece wise, piecwise->piecewise, piece wise, +pigen->pigeon, pigpen, +pigens->pigeons, pigpens, piggypack->piggyback piggypacked->piggybacked +pigin->pigeon +pigins->pigeons +pigun->pigeon +piguns->pigeons +pijeon->pigeon +pijeons->pigeons +pijun->pigeon +pijuns->pigeons +pilgram->pilgrim +pilgramidge->pilgrimage +pilgramig->pilgrimage +pilgramige->pilgrimage pilgrimmage->pilgrimage pilgrimmages->pilgrimages +pilon->pylon, pillion, +pilons->pylons, pillions, pimxap->pixmap pimxaps->pixmaps pinapple->pineapple +pincher->pinscher pinnaple->pineapple +pinockle->pinochle pinoneered->pioneered pinter->pointer, printer, +pinuchle->pinochle +pinuckle->pinochle piont->point pionter->pointer pionts->points @@ -25074,6 +28222,9 @@ pipleine->pipeline pipleines->pipelines pipleline->pipeline piplelines->pipelines +pipline->pipeline +piplines->pipelines +pirric->Pyrrhic pitmap->pixmap, bitmap, pitty->pity pivott->pivot @@ -25096,11 +28247,14 @@ placholder->placeholder placholders->placeholders placmenet->placement placmenets->placements +plad->plaid, plead, +pladed->plaided, pleaded, plaform->platform plaforms->platforms plaftorm->platform plaftorms->platforms plagarism->plagiarism +plagerism->plagiarism plalform->platform plalforms->platforms planation->plantation @@ -25130,6 +28284,8 @@ platformt->platforms platfrom->platform platfroms->platforms plathome->platform +platoe->plateau +platoes->plateaus platofmr->platform platofmrs->platforms platofms->platforms @@ -25140,6 +28296,8 @@ platofrm->platform platofrms->platforms plattform->platform plattforms->platforms +plattoe->plateau +plattoes->plateaus plausability->plausibility plausable->plausible playble->playable @@ -25148,6 +28306,8 @@ playge->plague playgerise->plagiarise playgerize->plagiarize playgropund->playground +playist->playlist +playists->playlists playright->playwright playwrite->playwright playwrites->playwrights @@ -25199,6 +28359,7 @@ pobularity->popularity pocess->process, possess, pocessed->processed, possessed, pocession->procession, possession, +podfie->podfile podule->module poenis->penis poential->potential @@ -25207,6 +28368,8 @@ poentials->potentials poeoples->peoples poeple->people poer->power, poor, pour, +poerful->powerful +poers->powers poety->poetry pogress->progress poicies->policies @@ -25273,9 +28436,13 @@ pojrectors->projectors pojrects->projects poket->pocket polariy->polarity +polcies->policies +polciy->policy +polcy->policy polgon->polygon polgons->polygons polical->political +polically->politically policie->policies, policy, police, policiy->policy policys->policies, police, @@ -25295,9 +28462,17 @@ pologon->polygon pologons->polygons polotic->politic polotical->political +polotically->politically polotics->politics +poltic->politic poltical->political +poltically->politically +poltics->politics poltry->poultry +polulate->populate +polulated->populated +polulates->populates +polulating->populating polute->pollute poluted->polluted polutes->pollutes @@ -25361,6 +28536,7 @@ populare->popular populer->popular popullate->populate popullated->populated +populr->popular popuplar->popular popuplarity->popularity popuplate->populate @@ -25395,6 +28571,7 @@ porportional->proportional porportionally->proportionally porportioning->proportioning porportions->proportions +porposes->proposes, purposes, porsalin->porcelain porshan->portion porshon->portion @@ -25430,12 +28607,15 @@ posesses->possesses posessing->possessing posession->possession posessions->possessions +posgresql->PostgreSQL posibilities->possibilities posibility->possibility posibilties->possibilities posible->possible posiblity->possibility posibly->possibly +posifion->position +posifions->positions posiitive->positive posiitives->positives posiitivity->positivity @@ -25454,6 +28634,7 @@ positionning->positioning positionns->positions positionof->position, position of, positiv->positive +positivie->positive positivies->positives positivly->positively positivy->positivity, positively, positive, @@ -25468,6 +28649,7 @@ positons->positions, positrons, positve->positive positves->positives POSIX-complient->POSIX-compliant +posotion->position pospone->postpone posponed->postponed posption->position @@ -25494,6 +28676,7 @@ possibile->possible possibilies->possibilities possibilites->possibilities possibilitities->possibilities +possibiliy->possibility, possibly, possibillity->possibility possibilties->possibilities possibilty->possibility @@ -25523,6 +28706,9 @@ post-procesing->post-processing postcondtion->postcondition postcondtions->postconditions Postdam->Potsdam +postgesql->PostgreSQL +postgreslq->PostgreSQL +postgresq->PostgreSQL postgress->PostgreSQL postgressql->PostgreSQL postgrsql->PostgreSQL @@ -25565,12 +28751,13 @@ potentiallly->potentially potentialy->potentially potentiel->potential potentiomenter->potentiometer +potientially->potentially potition->position potocol->protocol potrait->portrait potrayed->portrayed poulations->populations -pount->point +pount->point, pound, pounts->points poupular->popular poverful->powerful @@ -25596,6 +28783,8 @@ pracitcally->practically practial->practical practially->practically practicaly->practically +practicianer->practitioner +practicianers->practitioners practicioner->practitioner practicioners->practitioners practicly->practically @@ -25618,6 +28807,9 @@ praries->prairies pratical->practical pratically->practically pratice->practice +prayries->prairies +prayry->prairie +prayrys->prairies prcess->process prcesses->processes prcessing->processing @@ -25720,6 +28912,7 @@ precondtionner->preconditioner precondtionners->preconditioners precondtions->preconditions preconfiged->preconfigured +precsion->precision precsions->precisions precuation->precaution preculde->preclude @@ -25732,6 +28925,7 @@ precussions->percussions predecesor->predecessor predecesors->predecessors predeclarnig->predeclaring +prededence->precedence predefiend->predefined predefiened->predefined predefiined->predefined @@ -25750,11 +28944,12 @@ preesnt->present prefectches->prefetches prefecth->prefetch prefectly->perfectly -prefence->preference +prefence->pretence, presence, preference, prefences->preferences preferance->preference preferances->preferences prefere->prefer, preferred, +prefereably->preferably preferecne->preference preferecnes->preferences prefered->preferred @@ -25783,6 +28978,15 @@ preffixed->prefixed preffixes->prefixes preffixing->prefixing prefices->prefixes +preficiency->proficiency +preficiensy->proficiency +preficient->proficient +preficiently->proficiently +preficientsy->proficiency +prefitler->prefilter +prefitlered->prefiltered +prefitlering->prefiltering +prefitlers->prefilters preformance->performance preformances->performances pregancies->pregnancies @@ -25795,6 +28999,10 @@ prejected->projected prejection->projection prejections->projections prejects->projects, prefects, +prejudgudice->prejudice +prejudgudiced->prejudiced +prejudgudices->prejudices +prejudgudicing->prejudicing preliferation->proliferation prelimitary->preliminary premeire->premiere @@ -25832,6 +29040,10 @@ preppended->prepended preppendet->prepended preppent->prepend, preprent, preppented->prepended +preprare->prepare +preprared->prepared +preprares->prepares +prepraring->preparing preprend->prepend preprended->prepended prepresent->represent @@ -25857,6 +29069,14 @@ preriod->period preriodic->periodic prersistent->persistent presance->presence +presbaterian->Presbyterian +presbaterians->Presbyterians +presbaterien->Presbyterian +presbateriens->Presbyterians +presciuos->precious +presciuosly->preciously +prescius->precious +presciusly->preciously prescripe->prescribe prescriped->prescribed prescrition->prescription @@ -25876,6 +29096,7 @@ presense->presence presentaion->presentation presentaional->presentational presentaions->presentations +presentated->presented presernt->present preserrved->preserved preserv->preserve @@ -25886,6 +29107,10 @@ preseverance->perseverance preseverence->perseverance preseves->preserves preseving->preserving +preshis->precious +preshisly->preciously +preshus->precious +preshusly->preciously presicion->precision presidenital->presidential presidental->presidential @@ -25912,6 +29137,10 @@ presse->pressed, press, pressent->present pressentation->presentation pressented->presented +pressious->precious +pressiously->preciously +pressiuos->precious +pressiuosly->preciously pressre->pressure presss->press, presses, pressue->pressure @@ -25921,6 +29150,7 @@ prestigous->prestigious presuambly->presumably presumabely->presumably presumaby->presumably +presumeably->presumably presumebly->presumably presumely->presumably presumibly->presumably @@ -25965,6 +29195,7 @@ previousl->previously previousy->previously previsou->previous previsouly->previously +previsously->previously previuous->previous previus->previous previvous->previous @@ -25994,6 +29225,8 @@ primatively->primitively primatives->primitives primay->primary primeter->perimeter +primevil->primeval +primimitive->primitive primitave->primitive primitiv->primitive primitve->primitive @@ -26014,9 +29247,12 @@ pring->print, bring, ping, spring, pringing->printing, springing, prinicipal->principal prining->printing +printes->printers printting->printing prioirties->priorities prioirty->priority +prioritities->priorities +prioritity->priority prioritiy->priority priorization->prioritization priorizations->prioritizations @@ -26031,9 +29267,11 @@ priotity->priority priotized->prioritized priotizing->prioritizing priots->priors +pririty->priority, privity, prirority->priority -pris->prise +pris->prise, prism, priting->printing +privaledge->privilege privalege->privilege privaleges->privileges privaye->private @@ -26073,6 +29311,8 @@ privision->provision privisional->provisional privisions->provisions privledge->privilege +privlege->privilege +privleged->privileged privleges->privileges privte->private prject->project @@ -26130,6 +29370,10 @@ problme->problem problmes->problems probly->probably procceed->proceed +procces->process +proccesed->processed +procceses->processes +proccesing->processing proccesor->processor proccesors->processors proccess->process @@ -26169,19 +29413,24 @@ proceses->processes proceshandler->processhandler procesing->processing procesor->processor +procesors->processors processeed->processed processees->processes processer->processor +processers->processors processess->processes processessing->processing +processibg->processing processig->processing processinf->processing processore->processor +processores->processors processpr->processor processs->process, processes, processsed->processed processses->processes processsing->processing +processsor->processor processsors->processors procesure->procedure procesures->procedures @@ -26195,13 +29444,25 @@ proclomation->proclamation procoess->process procoessed->processed procoessing->processing +procrastrinate->procrastinate +procrastrinated->procrastinated +procrastrinates->procrastinates +procrastrinating->procrastinating proctect->protect proctected->protected proctecting->protecting proctects->protects procteted->protected +procuce->produce, procure, +procuced->produced, procured, +procucer->producer, procurer, +procuces->produces, procures, +procucing->producing, procuring, procude->produce procuded->produced +procuder->producer, procurer, +procudes->produces, procures, +procuding->producing, procuring, prodceding->proceeding prodecure->procedure producable->producible @@ -26223,6 +29484,8 @@ proejct->project proejcted->projected proejcting->projecting proejction->projection +proepr->proper +proeprly->properly proeprties->properties proeprty->property proerties->properties @@ -26234,10 +29497,13 @@ profesionally->professionally profesionals->professionals profesor->professor professer->professor +professionaly->professionally proffesed->professed proffesion->profession proffesional->professional proffesor->professor +proffession->profession +proffessional->professional proffessor->professor profie->profile profied->profiled @@ -26354,6 +29620,7 @@ progrom->pogrom, program, progroms->pogroms, programs, progrss->progress prohabition->prohibition +prohibative->prohibitive prohibitted->prohibited prohibitting->prohibiting prohibt->prohibit @@ -26361,6 +29628,8 @@ prohibted->prohibited prohibting->prohibiting prohibts->prohibits proirity->priority +projcet->project +projcets->projects projct's->project's projct->project projction->projection @@ -26368,6 +29637,8 @@ projctions->projections projctor->projector projctors->projectors projcts->projects +projec->project +projecs->projects projectd->projected projectio->projection projecttion->projection @@ -26380,7 +29651,9 @@ prolbems->problems prolem->problem prolematic->problematic prolems->problems +prolicks->prolix prologomena->prolegomena +promatory->promontory prominance->prominence prominant->prominent prominantly->prominently @@ -26451,6 +29724,18 @@ propatagion->propagation propator->propagator propators->propagators propbably->probably +propect->prospect, protect, project, +propectable->protectable, projectable, +propected->prospected, protected, projected, +propecting->prospecting, protecting, projecting, +propection->prospection, protection, projection, +propective->prospective, protective, projective, +propectively->prospectively, protectively, projectively, +propectless->prospectless +propector->prospector, protector, projector, +propects->prospects, protects, projects, +propectus->prospectus +propectuses->prospectuses propely->properly propeoperties->properties propereties->properties @@ -26459,6 +29744,7 @@ properies->properties properites->properties properities->properties properity->property, proprietary, +properlty->property, properly, properries->properties properrt->property properry->property, properly, @@ -26466,6 +29752,7 @@ properrys->properties propert->property properteis->properties propertery->property +propertes->properties propertie->property, properties, propertion->proportion propertional->proportional @@ -26490,6 +29777,7 @@ propietry->proprietary propigate->propagate propigation->propagation proplem->problem +propmpt->prompt propmt->prompt propmted->prompted propmter->prompter @@ -26521,6 +29809,9 @@ propperty->property proprely->properly propreties->properties proprety->property +propriatery->proprietary +proprieter->proprietor +proprieters->proprietors proprietory->proprietary proproable->probable proproably->probably @@ -26538,6 +29829,7 @@ proprotion->proportion proprotional->proportional proprotionally->proportionally proprotions->proportions +proprties->properties proprty->property propt->prompt propteries->properties @@ -26550,6 +29842,7 @@ proseletyzing->proselytizing prosess->process prosessor->processor prosseses->processes, possesses, +protability->portability, probability, protable->portable protaganist->protagonist protaganists->protagonists @@ -26561,16 +29854,24 @@ protcted->protected protecion->protection protecte->protected, protect, protectiv->protective +protectoin->protection protedcted->protected +proteen->protein, protean, preteen, protential->potential protext->protect +protlet->portlet +protlets->portlets protocal->protocol +protocall->protocol +protocalls->protocols protocals->protocols protocl->protocol protocls->protocols protoco->protocol protocoll->protocol protocolls->protocols +protocool->protocol +protocools->protocols protocos->protocols protoganist->protagonist protoge->protege @@ -26600,6 +29901,7 @@ provdied->provided provdies->provides provding->providing provedd->proved, provided, +provences->provinces provicde->provide provicded->provided provicdes->provides @@ -26662,6 +29964,7 @@ psaced->spaced, paced, psaces->spaces, paces, psacing->spacing, pacing, psaswd->passwd +pseduo->pseudo pseude->pseudo pseudononymous->pseudonymous pseudonyn->pseudonym @@ -26679,13 +29982,23 @@ pssed->passed pssibility->possibility psudo->pseudo psudoinverse->pseudoinverse +psudonym->pseudonym +psudonymity->pseudonymity +psudonymous->pseudonymous +psudonyms->pseudonyms psuedo->pseudo psuedo-fork->pseudo-fork +psuedocode->pseudocode psuedoinverse->pseudoinverse psuedolayer->pseudolayer +psueudo->pseudo psuh->push psychadelic->psychedelic psycology->psychology +psydonym->pseudonym +psydonymity->pseudonymity +psydonymous->pseudonymous +psydonyms->pseudonyms psyhic->psychic ptd->pdf ptherad->pthread @@ -26695,6 +30008,7 @@ pthred->pthread pthreds->pthreads ptorions->portions ptrss->press +ptyhon->python pubilsh->publish pubilshed->published pubilsher->publisher @@ -26718,6 +30032,7 @@ publicher->publisher publichers->publishers publiches->publishes publiching->publishing +publick->public publihsed->published publihser->publisher publised->published @@ -26762,12 +30077,12 @@ Pucini->Puccini Puertorrican->Puerto Rican Puertorricans->Puerto Ricans pulisher->publisher -pullrequenst->pull requests, pull request, -pullrequest->pull request -pullrequests->pull requests puls->pulse, plus, pumkin->pumpkin punctation->punctuation +punctiation->punctuation +pundent->pundit +pundents->pundits puplar->popular puplarity->popularity puplate->populate @@ -26781,6 +30096,7 @@ puposes->purposes pupulated->populated purcahed->purchased purcahse->purchase +purgable->purgeable purgest->purges puritannical->puritanical purposedly->purposely @@ -26789,6 +30105,10 @@ purpse->purpose pursuade->persuade pursuaded->persuaded pursuades->persuades +purtain->pertain +purtained->pertained +purtaining->pertaining +purtains->pertains pusehd->pushed pususading->persuading puting->putting @@ -26810,8 +30130,14 @@ pyramide->pyramid pyramides->pyramids pyrhon->python pyscic->psychic +pysical->physical +pysically->physically +pysics->physics pythin->python pythjon->python +pytho->python +pythong->python +pythonl->python pytnon->python pytohn->python pyton->python @@ -26834,13 +30160,24 @@ qouting->quoting qtuie->quite, quiet, quadddec->quaddec quadranle->quadrangle +quadraped->quadruped +quadrapedal->quadrupedal +quadrapeds->quadrupeds +quadroople->quadruple +quadroopled->quadrupled +quadrooples->quadruples +quadroopling->quadrupling +quafeur->coiffure +quafeured->coiffured quailified->qualified qualfied->qualified qualfy->qualify qualifer->qualifier qualitification->qualification qualitifications->qualifications +quanities->quantities quanitified->quantified +quanity->quantity quanlification->qualification, quantification, quanlified->qualified, quantified, quanlifies->qualifies, quantifies, @@ -26858,12 +30195,15 @@ quartenions->quaternions quartically->quadratically quatation->quotation quater->quarter -quating->quoting, squatting, +quating->quoting, squatting, equating, +quation->equation +quations->equations quckstarter->quickstarter qudrangles->quadrangles quee->queue Queenland->Queensland queing->queueing +queires->queries queiried->queried queisce->quiesce queriable->queryable @@ -26873,6 +30213,8 @@ querry->query, quarry, queryies->queries queryinterace->queryinterface querys->queries +quesant->croissant +quesants->croissants queset->quest quesets->quests quesiton->question @@ -26881,7 +30223,11 @@ quesitons->questions quesr->quest quesrs->quests quess->guess, quests, +quessant->croissant +quessants->croissants questionaire->questionnaire +questionare->questionnaire +questionares->questionnaires questionnair->questionnaire questoin->question questoins->questions @@ -26892,11 +30238,13 @@ queus->queues quew->queue quickier->quicker quicklyu->quickly +quicky->quickly, quickie, quickyl->quickly quicly->quickly quiessent->quiescent quiest->quest, quiet, quiests->quests +quikc->quick quinessential->quintessential quitely->quite, quietly, quith->quit, with, @@ -26904,19 +30252,45 @@ quiting->quitting quitt->quit quitted->quit quizes->quizzes +quizs->quizzes +quizzs->quizzes +quoshant->quotient +quoshants->quotients quotaion->quotation +quotaions->quotations quoteed->quoted +quotent->quotient quottes->quotes quried->queried quroum->quorum qust->quest qusts->quests qutie->quite, quiet, +quwesant->croissant +quwesants->croissants +quwessant->croissant +quwessants->croissants +qwesant->croissant +qwesants->croissants +qwessant->croissant +qwessants->croissants rabinnical->rabbinical +rabit->rabbit +rabits->rabbits racaus->raucous +rackit->racket, racquet, +rackits->rackets, racquets, +racoon->raccoon +racoons->raccoons ractise->practise radation->radiation rade->read, raid, +rademption->redemption +rademptions->redemptions +rademtion->redemption +rademtions->redemptions +radeus->radius +radeuses->radii, radiuses, radiactive->radioactive radiaton->radiation radify->ratify @@ -26931,6 +30305,18 @@ raelly->really raisedd->raised raison->reason, raisin, ralation->relation +randayvoo->rendezvous +randayvooed->rendezvoused +randayvoos->rendezvous +randayvou->rendezvous +randayvoued->rendezvoused +randayvous->rendezvous +randazyvoo->rendezvous +randazyvooed->rendezvoused +randazyvoos->rendezvous +randazyvou->rendezvous +randazyvoued->rendezvoused +randazyvous->rendezvous randmom->random randomally->randomly raoming->roaming @@ -26942,13 +30328,22 @@ raotating->rotating raotation->rotation raotations->rotations raotats->rotates +rapell->rappel +rapelled->rappelled +rapelling->rappelling +rapells->rappells raplace->replace raplacing->replacing +rapore->rapport rapresent->represent rapresentation->representation rapresented->represented rapresenting->representing rapresents->represents +rapsadies->rhapsodies +rapsady->rhapsody +rapsadys->rhapsodies +rapsberry->raspberry rarelly->rarely rarified->rarefied rasberry->raspberry @@ -26960,6 +30355,9 @@ rasing->raising rasons->reasons raspbery->raspberry raspoberry->raspberry +ratatooee->ratatouille +ratatoolee->ratatouille +ratatui->ratatouille rathar->rather rathern->rather rationnal->rational, rationale, @@ -27182,6 +30580,7 @@ re-negoziator->re-negotiator re-negoziators->re-negotiators re-realease->re-release re-spawining->re-spawning, respawning, +re-synching->re-syncing re-uplad->re-upload re-upladad->re-upload, re-uploaded, re-upladed->re-uploaded @@ -27212,7 +30611,8 @@ reacahble->reachable reaccurring->recurring reaceive->receive reacheable->reachable -reacher->richer +reacher->richer, reader, +reachers->readers reachs->reaches reacing->reaching reacll->recall @@ -27255,7 +30655,7 @@ realitvely->relatively realiy->really realiztion->realization realiztions->realizations -reall->real, really, +reall->real, really, recall, realling->really reallize->realize reallllly->really @@ -27280,6 +30680,8 @@ realtive->relative, reactive, realy->really, relay, realyl->really reamde->README +reamin->remain +reamining->remaining reamins->remains reampping->remapping, revamping, reander->render @@ -27448,6 +30850,8 @@ reccursive->recursive reccursively->recursively receeded->receded receeding->receding +receet->receipt +receets->receipts receied->received receieve->receive receieved->received @@ -27462,6 +30866,12 @@ receivedfrom->received from receiveing->receiving receiviing->receiving receivs->receives +recend->rescind +recendable->rescindable +recended->rescinded +recendes->rescinds +recending->rescinding +recends->rescinds recenet->recent recenlty->recently recenly->recently @@ -27470,6 +30880,8 @@ recepient->recipient recepients->recipients recepion->reception recepit->recipe, receipt, +receptical->receptacle +recepticals->receptacles receve->receive receved->received receves->receives @@ -27490,6 +30902,7 @@ recidents->residents reciding->residing reciepents->recipients reciept->receipt +recievd->received recieve->receive recieved->received reciever->receiver @@ -27497,6 +30910,8 @@ recievers->receivers recieves->receives recieving->receiving recievs->receives +recipent->recipient +recipents->recipients recipiant->recipient recipiants->recipients recipie->recipe @@ -27510,6 +30925,10 @@ recivers->receivers recivership->receivership recives->receives reciving->receiving +recject->reject +recjected->rejected +recjecting->rejecting +recjects->rejects reclaimation->reclamation recnt->recent, recant, rent, recntly->recently @@ -27577,6 +30996,7 @@ recompuuted->recomputed recompuutes->recomputes recompuuting->recomputing reconaissance->reconnaissance +reconasence->reconnaissance reconcilation->reconciliation recondifure->reconfigure reconecct->reconnect @@ -27658,8 +31078,20 @@ recpies->recipes recquired->required recrational->recreational recreateation->recreation +recrete->recreate +recreted->recreated +recretes->recreates +recreting->recreating +recretion->recreation +recretional->recreational recrod->record recrods->records +recroot->recruit +recrooted->recruited +recrooter->recruiter +recrooters->recruiters +recrooting->recruiting +recroots->recruits recrusevly->recursively recrusion->recursion recrusive->recursive @@ -27674,6 +31106,9 @@ rectiinear->rectilinear recude->reduce recuiting->recruiting reculrively->recursively +recun->reckon, recon, recur, +recund->reckoned, fecund, +recuning->reckoning, retuning, recusing, recuring->recurring recurisvely->recursively recurively->recursively @@ -27711,16 +31146,22 @@ redefiend->redefined redefiende->redefined redefintion->redefinition redefintions->redefinitions +redemtion->redemption +redemtions->redemptions redenderer->renderer redered->rendered redict->redirect rediculous->ridiculous redidual->residual +rediect->redirect +rediected->redirected redifine->redefine redifinition->redefinition redifinitions->redefinitions redifintion->redefinition redifintions->redefinitions +reding->reading +redings->readings redircet->redirect redirectd->redirected redirectrion->redirection @@ -27738,6 +31179,7 @@ redistrubutions->redistributions redliens->redlines rednerer->renderer redonly->readonly +reduceable->reducible redudancy->redundancy redudant->redundant redunancy->redundancy @@ -27768,7 +31210,15 @@ reename->rename reencode->re-encode reenfoce->reinforce reenfoced->reinforced +reenfocement->reinforcement +reenfoces->reinforces +reenfocing->reinforcing +reenforce->reinforce reenforced->reinforced +reenforcement->reinforcement +reenforcements->reinforcements +reenforces->reinforces +reenforcing->reinforcing reesrved->reserved reesult->result reeturn->return @@ -27883,7 +31333,7 @@ refletion->reflection refletions->reflections reflets->reflects refocuss->refocus -refocussed->refocused +reformated->reformatted reformating->reformatting reformattd->reformatted refreh->refresh @@ -27901,8 +31351,13 @@ refreshs->refreshes refreshses->refreshes refridgeration->refrigeration refridgerator->refrigerator +refrom->reform +refromation->reformation refromatting->refomatting +refroming->reforming refromist->reformist +refromists->reformists +refroms->reforms refrormatting->reformatting refure->refuse refures->refuses @@ -27912,6 +31367,7 @@ regalars->regulars regardes->regards regardles->regardless regardlesss->regardless +regargless->regardless regaring->regarding regarldess->regardless regarless->regardless @@ -27937,6 +31393,7 @@ regiser->register regisration->registration regist->register registartion->registration +registation->registration registe->register registed->registered registeing->registering @@ -27960,6 +31417,7 @@ registred->registered registrer->register registring->registering registrs->registers +registser->register registy->registry regiter->register regitered->registered @@ -27979,6 +31437,7 @@ regsiter->register regsitered->registered regsitering->registering regsiters->registers +regsitration->registration regsitry->registry regster->register regstered->registered @@ -28087,6 +31546,8 @@ reintantiate->reinstantiate reintantiating->reinstantiating reintepret->reinterpret reintepreted->reinterpreted +reipient->recipient +reipients->recipients reister->register reitterate->reiterate reitterated->reiterated @@ -28138,6 +31599,11 @@ releae->release releaed->released releaeing->releasing releaes->releases, release, +releaf->relief +releafed->relieved +releafes->relieves +releafing->relieving +releafs->relieves releaing->releasing releant->relevant, relent, releas->release @@ -28151,12 +31617,26 @@ releationship->relationship releationships->relationships releative->relative releavant->relevant +releave->relieve +releaved->relieved +releaves->relieves +releaving->relieving relecant->relevant relected->reelected, reflected, +releif->relief +releife->relief +releifed->relieved +releifes->relieves +releifing->relieving releive->relieve releived->relieved releiver->reliever +releives->relieves +releiving->relieving releoad->reload +relesae->release +relesaed->released +relesaes->releases relese->release relesed->released releses->releases @@ -28178,7 +31658,12 @@ relfections->reflections reliabily->reliably, reliability, reliablity->reliability relie->rely, relies, really, relief, +reliefed->relieved +reliefes->relieves +reliefing->relieving relient->reliant +religeon->religion +religeons->religions religeous->religious religous->religious religously->religiously @@ -28190,6 +31675,8 @@ relitavely->relatively relized->realised, realized, rellocates->reallocates, relocates, relly->really +relm->realm, elm, helm, ream, rem, +relms->realms, elms, helms, reams, reloade->reload relocae->relocate relocaes->relocates @@ -28216,11 +31703,17 @@ relyably->reliably relyed->relied relyes->relies, realize, realise, relys->relies +remaind->remained, remind, remaines->remains, remained, remaing->remaining remainging->remaining remainig->remaining remainst->remains +remander->remainder +remane->remain, rename, remake, +remaned->remained +remaner->remainder +remanes->remains remanin->remaining, remain, remaning->remaining remaped->remapped @@ -28259,6 +31752,15 @@ rememver->remember remenant->remnant remenber->remember remenicent->reminiscent +remeniss->reminisce +remenissed->reminisced +remenissence->reminiscence +remenissense->reminiscence +remenissent->reminiscent +remenissently->reminiscently +remenisser->reminiscer +remenisses->reminisces +remenissing->reminiscing remian->remain remiander->remainder, reminder, remianed->remained @@ -28267,14 +31769,31 @@ remians->remains reminent->remnant reminescent->reminiscent remining->remaining +reminis->reminisce reminiscense->reminiscence +reminise->reminisce +reminised->reminisced +reminisent->reminiscent +reminisentky->reminiscently +reminiser->reminiscer +reminises->reminisces +reminising->reminiscing +reminsce->reminisce +reminsced->reminisced +reminscence->reminiscence reminscent->reminiscent +reminscently->reminiscently +reminscer->reminiscer +reminsces->reminisces +reminscing->reminiscing reminsicent->reminiscent +reminsicently->reminiscently remmeber->remember remmebered->remembered remmebering->remembering remmebers->remembers remmove->remove +remmve->remove remoce->remove remoive->remove remoived->removed @@ -28290,6 +31809,7 @@ removeable->removable removefromat->removeformat removeing->removing removerd->removed +remplacement->replacement remve->remove remved->removed remves->removes @@ -28300,10 +31820,22 @@ remvove->remove remvoved->removed remvoves->removes remvs->removes +renable->re-enable renabled->re-enabled +renables->re-enables +renabling->re-enabling +rendayvoo->rendezvous +rendayvooed->rendezvoused +rendayvou->rendezvous +rendayvoued->rendezvoused +rendazyvoo->rendezvous +rendazyvooed->rendezvoused +rendazyvou->rendezvous +rendazyvoued->rendezvoused rende->render, rend, renderadble->renderable renderd->rendered +rendereds->rendered, renders, rendereing->rendering rendererd->rendered renderered->rendered @@ -28533,14 +32065,23 @@ renforced->reinforced renforcement->reinforcement renforcements->reinforcements renforces->reinforces +renig->renege +reniged->reneged +reniger->reneger +reniging->reneging +rennaisance->renaissance rennovate->renovate rennovated->renovated rennovating->renovating rennovation->renovation +renosance->renaissance, resonance, +renoun->renown +renouned->renowned, renounced, rentime->runtime rentors->renters reoadmap->roadmap reoccurrence->recurrence +reocmpression->recompression reocurring->reoccurring, recurring, reoder->reorder reomvable->removable @@ -28577,8 +32118,19 @@ repackged->repackaged repaitnt->repaint repant->repaint, repent, repants->repaints, repents, +reparamterisation->reparameterisation +reparamterise->reparameterise +reparamterised->reparameterised +reparamterises->reparameterises +reparamterising->reparameterising reparamterization->reparameterization +reparamterize->reparameterize +reparamterized->reparameterized +reparamterizes->reparameterizes +reparamterizing->reparameterizing repatition->repetition, repartition, +repatwar->repertoire +repatwars->repertoires repblic->republic repblican->republican repblicans->republicans @@ -28595,6 +32147,11 @@ repects->respects repedability->repeatability repedable->repeatable repeition->repetition +repeled->repelled +repeler->repeller +repeling->repelling +repell->repel +repells->repels repentence->repentance repentent->repentant reperesent->represent @@ -28606,6 +32163,9 @@ reperesenting->representing reperesents->represents repersentation->representation repertoir->repertoire +repertwar->repertoire +repertwares->repertoires +repertwars->repertoires repesent->represent repesentation->representation repesentational->representational @@ -28623,6 +32183,8 @@ repeting->repeating repetion->repetition repetions->repetitions repetive->repetitive +repetoire->repertoire +repetoires->repertoires repid->rapid repition->repetition repitions->repetitions @@ -28666,6 +32228,11 @@ replasing->replacing, relapsing, rephasing, replcace->replace replcaced->replaced replcaof->replicaof +replentish->replenish +replentished->replenished +replentishes->replenishes +replentishing->replenishing +replentishs->replenishes replicae->replicate replicaes->replicates replicaiing->replicating @@ -28686,6 +32253,8 @@ reponses->responses reponsibilities->responsibilities reponsibility->responsibility reponsible->responsible +repore->report, rapport, repose, +reporeted->reported reporing->reporting reporitory->repository reportadly->reportedly @@ -28697,6 +32266,7 @@ repositiories->repositories repositiory->repository repositiroes->repositories reposititioning->repositioning +repositor->repository repositorry->repository repositotries->repositories repositotry->repository @@ -28708,6 +32278,7 @@ reposonders->responders reposonding->responding reposonse->response reposonses->responses +repostes->reposts, ripostes, repostiories->repositories repostiory->repository repostories->repositories @@ -28810,6 +32381,7 @@ reprsents->represents reprtoire->repertoire reprucible->reproducible repsectively->respectively +repsented->represented, repented, repsonse->response repsonses->responses repsonsible->responsible @@ -28847,11 +32419,14 @@ reqirement->requirement reqirements->requirements reqires->requires reqiring->requiring +reqister->register reqiure->require reqrite->rewrite reqrites->rewrites +requed->requeued requencies->frequencies requency->frequency +requenst->request, requests, requeried->required requeriment->requirement requeriments->requirements @@ -28993,8 +32568,7 @@ resitances->resistances resitor->resistor resitors->resistors resivwar->reservoir -resizeable->resizable -resizeble->resizable +resizeble->resizeable, resizable, reslection->reselection reslove->resolve resloved->resolved @@ -29070,8 +32644,11 @@ resourse->resource, recourse, resourses->resources resoution->resolution resoves->resolves +resovlable->resolvable resovle->resolve resovled->resolved +resovler->resolver +resovlers->resolvers resovles->resolves resovling->resolving respawining->respawning @@ -29104,9 +32681,11 @@ responser's->responder's responser->responder responsers->responders responsess->responses +responsibe->responsive, responsible, responsibile->responsible responsibilites->responsibilities responsibilty->responsibility +responsibities->responsibilities responsiblities->responsibilities responsiblity->responsibility responsing->responding @@ -29128,6 +32707,10 @@ respresentations->representations respresented->represented respresenting->representing respresents->represents +respwan->respawn +respwaned->respawned +respwaning->respawning +respwans->respawns resquest->request resrouce->resource resrouced->resourced @@ -29153,19 +32736,26 @@ ressourced->resourced ressources->resources ressourcing->resourcing resssurecting->resurrecting +resstriction->restriction +resstrictions->restrictions ressult->result ressurect->resurrect ressurected->resurrected ressurecting->resurrecting ressurection->resurrection ressurects->resurrects +ressurrect->resurrect +ressurrected->resurrected +ressurrecting->resurrecting ressurrection->resurrection +ressurrects->resurrects restarant->restaurant restarants->restaurants restaraunt->restaurant restaraunteur->restaurateur restaraunteurs->restaurateurs restaraunts->restaurants +restatting->restarting, restating, restauranteurs->restaurateurs restauration->restoration restauraunt->restaurant @@ -29176,6 +32766,12 @@ resteraunts->restaurants restes->reset restesting->retesting resticted->restricted +restictive->restrictive +restire->restore +restired->restored +restirer->restorer +restires->restores +restiring->restoring restoding->restoring restoiring->restoring restor->restore @@ -29186,11 +32782,13 @@ restoreing->restoring restors->restores restouration->restoration restraunt->restraint, restaurant, +restraunts->restraints, restaurants, restrcted->restricted restrcuture->restructure restriced->restricted restroing->restoring restructed->restricted, restructured, +restructing->restricting, restructuring, reStructuredTetx->reStructuredText reStructuredTxet->reStructuredText reStrucuredText->reStructuredText @@ -29221,6 +32819,7 @@ resuilted->resulted resuilting->resulting resuilts->results resul->result +resuled->resulted, resumed, resuling->resulting resullt->result resulotion->resolution @@ -29246,12 +32845,17 @@ resurse->recurse, resource, resursive->recursive, resourceful, resursively->recursively resuse->reuse +resused->reused, refused, resumed, resuts->results resycn->resync retalitated->retaliated retalitation->retaliation retangles->rectangles retanslate->retranslate +retart->restart +retartation->retardation +retarted->restarted +retarting->restarting retcieve->retrieve, receive, retcieved->retrieved, received, retciever->retriever, receiver, @@ -29319,6 +32923,7 @@ retriece->retrieve retrieces->retrieves retriev->retrieve retrieveds->retrieved +retrivable->retrievable retrival->retrieval, retrial, retrive->retrieve retrived->retrieved @@ -29400,6 +33005,7 @@ reuqesting->requesting reuqests->requests reurn->return reursively->recursively +reuseable->reusable reuslt->result reussing->reusing reutnred->returned @@ -29417,6 +33023,7 @@ reveiwing->reviewing reveiws->reviews revelent->relevant revelution->revolution +revelutionary->revolutionary revelutions->revolutions reveokes->revokes rever->revert, refer, fever, @@ -29451,14 +33058,37 @@ reviwed->reviewed reviwer->reviewer reviwers->reviewers reviwing->reviewing +revoltuion->revolution +revoltuionary->revolutionary +revoltuions->revolutions revoluion->revolution +revoluionary->revolutionary +revoluions->revolutions +revoluiton->revolution +revoluitonary->revolutionary +revoluitons->revolutions +revolulionary->revolutionary +revolutin->revolution +revolutinary->revolutionary +revolutins->revolutions +revolutionaary->revolutionary +revolutionairy->revolutionary revolutionar->revolutionary +revolutionaryy->revolutionary +revolutionay->revolutionary +revolutionnary->revolutionary +revolutoin->revolutions +revolutoinary->revolutionary +revolutoins->revolutionss +revoluttionary->revolutionary +revoluutionary->revolutionary revrese->reverse revrieve->retrieve revrieved->retrieved revriever->retriever revrievers->retrievers revrieves->retrieves +revserse->reverse revsion->revision rewiev->review rewieved->reviewed @@ -29483,33 +33113,71 @@ rference->reference rferences->references rfeturned->returned rgister->register +rhethoric->rhetoric +rhethorical->rhetorical +rhethorically->rhetorically +rhinosarus->rhinoceros +rhinosaruses->rhinoceroses +rhinosaruss->rhinoceroses rhymme->rhyme rhythem->rhythm rhythim->rhythm rhythimcally->rhythmically rhytmic->rhythmic +rickoshay->ricochet +rickoshayed->ricocheted +rickoshaying->ricocheting +rickoshays->ricochets ridiculus->ridiculous +riendeer->reindeer +riendeers->reindeers +rige->ridge, rice, ride, rigs, +riges->ridges, rides, rigeur->rigueur, rigour, rigor, righ->right righht->right righmost->rightmost rightt->right +rigoreous->rigorous rigourous->rigorous rigt->right rigth->right rigths->rights rigurous->rigorous +rimaniss->reminisce +rimanissed->reminisced +rimanissent->reminiscent +rimanisser->reminiscer +rimanisses->reminisces +rimanissing->reminiscing riminder->reminder riminders->reminders riminding->reminding +riminiced->reminisced +riminicent->reminiscent +riminicer->reminiscer +riminices->reminisces +riminicing->reminiscing rimitives->primitives rininging->ringing +rinosarus->rhinoceros +rinosaruses->rhinoceroses +rinosaruss->rhinoceroses rised->raised, rose, +riskay->risky, risqué, rispective->respective ristrict->restrict ristricted->restricted ristriction->restriction ritable->writable +rithm->rhythm +rithmic->rhythmic +rithmicly->rhythmically +rittle->riddle, rattle, +rittled->riddled, rattled, +rittler->riddler, rattler, +rittles->riddles, rattles, +rittling->riddling, rattling, rivised->revised rizes->rises rlation->relation @@ -29551,6 +33219,14 @@ romotely->remotely romotes->remotes romoting->remoting romotly->remotely +rondayvoo->rendezvous +rondayvooed->rendezvoused +rondayvou->rendezvous +rondayvoued->rendezvoused +rondazyvoo->rendezvous +rondazyvooed->rendezvoused +rondazyvou->rendezvous +rondazyvoued->rendezvoused roomate->roommate ropeat->repeat rorated->rotated @@ -29586,6 +33262,7 @@ rountriped->roundtripped, round-tripped, round tripped, rountriping->roundtripping, round-tripping, round tripping, rountripped->roundtripped, round-tripped, round tripped, rountripping->roundtripping, round-tripping, round tripping, +rountrips->roundtrips, round-trips, round trips, routet->routed, route, router, routiens->routines routin->routine, routing, @@ -29595,6 +33272,7 @@ rovided->provided rovider->provider rovides->provides roviding->providing +rplace->replace rqeuest->request, quest, rqeuested->requested rqeuesting->requesting @@ -29615,11 +33293,16 @@ rrror->error rrrored->errored rrroring->erroring rrrors->errors +rsic-v->RISC-V +rsicv->RISCV rsizing->resizing, sizing, rsource->resource, source, rsourced->resourced, sourced, rsources->resources, sources, rsourcing->resourcing, sourcing, +rturn->return +rturned->returned +rturning->returning rturns->returns, turns, rubarb->rhubarb rucuperate->recuperate @@ -29639,6 +33322,7 @@ runnigng->running runnin->running runnint->running runnners->runners +runnnig->running runnning->running runns->runs runnung->running @@ -29658,6 +33342,10 @@ rythmic->rhythmic rythyms->rhythms saame->same sabatage->sabotage +sabatosh->sabotage +sabatoshed->sabotaged +sabatoshes->sabotages +sabatoshing->sabotaging sabatour->saboteur sacalar->scalar sacalars->scalars @@ -29726,10 +33414,22 @@ sanwich->sandwich sanwiches->sandwiches sanytise->sanitise sanytize->sanitize +sapeena->subpoena +sapeenad->subpoenaed +sapeenaing->subpoenaing +sapeenas->subpoenas saphire->sapphire saphires->sapphires sargant->sergeant sargeant->sergeant +sarimonial->ceremonial +sarimonies->ceremonies +sarimony->ceremony +sarimonys->ceremonies +sarinomial->ceremonial +sarinomies->ceremonies +sarinomy->ceremony +sarinomys->ceremonies sart->start, star, sarted->started sarter->starter @@ -29753,6 +33453,7 @@ satifies->satisfies satifsy->satisfy satify->satisfy satifying->satisfying +satisfactorally->satisfactorily satisfactority->satisfactorily satisfiabilty->satisfiability satisfing->satisfying @@ -29766,8 +33467,10 @@ satistying->satisfying satric->satiric satrical->satirical satrically->satirically +sattelit->satellite sattelite->satellite sattelites->satellites +sattelits->satellites sattellite->satellite sattellites->satellites satuaday->Saturday @@ -29776,6 +33479,11 @@ saturdey->Saturday satursday->Saturday satus->status saught->sought +sautay->sauté +sautayed->sautéd +sautayes->sautés +sautaying->sautéing +sautays->sautés sav->save savees->saves saveing->saving @@ -29785,9 +33493,26 @@ savere->severe savety->safety savgroup->savegroup savve->save, savvy, salve, +savves->saves, salves, savy->savvy +sawtay->sauté +sawtayed->sautéd +sawtayes->sautés +sawtaying->sautéing +sawtays->sautés +sawte->sauté +sawteed->sautéd +sawtees->sautés +sawteing->sautéing +sawtes->sautés saxaphone->saxophone sbsampling->subsampling +scafold->scaffold +scafolded->scaffolded +scafolder->scaffolder +scafoldes->scaffolds +scafolding->scaffolding +scafolds->scaffolds scahr->schar scalarr->scalar scaleability->scalability @@ -29812,7 +33537,16 @@ scavanged->scavenged scavanger->scavenger scavangers->scavengers scavanges->scavenges +sccess->success +sccesses->successes +sccessful->successful +sccessfully->successfully sccope->scope +sccopes->scopes +sccriping->scripting +sccript->script +sccripted->scripted +sccripts->scripts sceanrio->scenario sceanrios->scenarios scecified->specified @@ -29820,6 +33554,8 @@ sceen->scene, seen, screen, scheme, sceens->scenes, screens, schemes, sceme->scheme, scene, scemes->schemes, scenes, +scenaireo->scenario +scenaireos->scenarios scenarion->scenario scenarions->scenarios scence->scene, science, sense, @@ -29856,6 +33592,7 @@ scholarhip->scholarship scholarhips->scholarships scholarstic->scholastic, scholarly, scholdn't->shouldn't +schoole->schools, schooled, schould->should scientfic->scientific scientfically->scientifically @@ -29872,6 +33609,10 @@ scince->science scinece->science scintiallation->scintillation scintillatqt->scintillaqt +sciprt->script +sciprted->scripted +sciprting->scripting +sciprts->scripts scipt->script, skipped, scipted->scripted scipting->scripting @@ -29910,19 +33651,30 @@ screenchot->screenshot screenchots->screenshots screenwrighter->screenwriter screnn->screen +scriipt->script +scriipted->scripted +scriipting->scripting scriopted->scripted scriopting->scripting scriopts->scripts scriopttype->scripttype +scripe->script, scribe, scrape, scrip, stripe, scriping->scripting +scripot->script +scripoted->scripted +scripoting->scripting +scripots->scripts scripst->scripts +scripte->script, scripted, scriptype->scripttype +scrit->script, scrip, scritp->script scritped->scripted scritping->scripting scritps->scripts scritpt->script scritpts->scripts +scrits->scripts scroipt->script scroipted->scripted scroipting->scripting @@ -29931,21 +33683,39 @@ scroipttype->scripttype scrollablbe->scrollable scrollin->scrolling scroolbar->scrollbar +scrpit->script +scrpited->scripted +scrpiting->scripting +scrpits->scripts scrpt->script scrpted->scripted scrpting->scripting scrpts->scripts scrren->screen +scrtip->script +scrtiped->scripted +scrtiping->scripting +scrtips->scripts scrutinity->scrutiny sction->section, suction, sctional->sectional, suctional, sctioned->sectioned, suctioned, sctioning->sectioning, suctioning, sctions->sections, suctions, +sctipt->script +sctipted->scripted +sctipting->scripting +sctipts->scripts +sctript->script +sctripted->scripted +sctripting->scripting +sctripts->scripts scubscribe->subscribe scubscribed->subscribed scubscriber->subscriber scubscribes->subscribes +scuccess->success +scuccesses->successes scuccessully->successfully sculpter->sculptor, sculpture, sculpters->sculptors, sculptures, @@ -29963,6 +33733,7 @@ seacrchable->searchable seamlessley->seamlessly seamlessy->seamlessly searcahble->searchable +searchd->searched searche->search, searched, searcheable->searchable searchin->searching @@ -30050,6 +33821,10 @@ securuity->security sedereal->sidereal seeem->seem seeen->seen +seege->siege +seeged->sieged +seeges->sieges +seeging->sieging seelect->select seelected->selected seemes->seems @@ -30061,6 +33836,12 @@ seeting->seating, setting, seething, seetings->settings seeverities->severities seeverity->severity +seez->seize +seezed->seized +seezes->seizes +seezing->seizing +seezure->seizure +seezures->seizures segault->segfault segaults->segfaults segement->segment @@ -30089,8 +33870,12 @@ segmetned->segmented segmetns->segments segument->segment seguoys->segues +segway->segue +segwayed->segued +segwaying->segueing seh->she seige->siege +seina->sienna, seine, seing->seeing seinor->senior seires->series @@ -30133,6 +33918,7 @@ seletions->selections, deletions, selets->selects self-comparisson->self-comparison self-contianed->self-contained +self-opinyonated->self-opinionated self-referencial->self-referential self-refering->self-referring selfs->self @@ -30173,10 +33959,14 @@ sempaphores->semaphores semphore->semaphore semphores->semaphores sempphore->semaphore +senaireo->scenario +senaireos->scenarios senaphore->semaphore senaphores->semaphores senario->scenario senarios->scenarios +senarreo->scenario +senarreos->scenarios sence->sense, since, sencond->second sencondary->secondary @@ -30191,8 +33981,13 @@ senintels->sentinels senitnel->sentinel senitnels->sentinels senquence->sequence +sensability->sensibility +sensable->sensible +sensably->sensibly sensative->sensitive +sensativity->sensitivity sensetive->sensitive +sensetivity->sensitivity sensisble->sensible sensistive->sensitive sensistively->sensitively, sensitivity, @@ -30214,6 +34009,8 @@ sensure->censure sentance->sentence sentances->sentences senteces->sentences +sentenal->sentinel +sentenals->sentinels sentense->sentence sentienl->sentinel sentinal->sentinel @@ -30228,6 +34025,7 @@ seonds->seconds, sends, sepaate->separate separartor->separator separat->separate +separatedly->separately separatelly->separately separater->separator separatley->separately @@ -30250,6 +34048,7 @@ separte->separate separted->separated separtes->separates separting->separating +separtor->separator sepatae->separate sepatate->separate sepcial->special @@ -30356,16 +34155,24 @@ sepetated->separated sepetately->separately sepetates->separates sepina->subpoena +seplicural->sepulchral +seplicurally->sepulchrally +seplicuraly->sepulchrally +seplicurlly->sepulchrally seporate->separate sepparation->separation sepparations->separations sepperate->separate +sepraate->separate seprarate->separate seprate->separate seprated->separated seprator->separator seprators->separators Septemer->September +sepulchraly->sepulchrally +sepulchrlly->sepulchrally +sepulchrly->sepulchrally sepulchure->sepulchre, sepulcher, sepulcre->sepulchre, sepulcher, seqence->sequence @@ -30396,6 +34203,7 @@ sequemces->sequences sequencial->sequential sequencially->sequentially sequencies->sequences +sequenes->sequences sequense->sequence sequensed->sequenced sequenses->sequences @@ -30429,6 +34237,18 @@ serailse->serialise serailsed->serialised serailze->serialize serailzed->serialized +seralize->serialize +seralized->serialized +seralizes->serializes +seralizing->serializing +seramonial->ceremonial +seramonies->ceremonies +seramony->ceremony +seramonys->ceremonies +seranomial->ceremonial +seranomies->ceremonies +seranomy->ceremony +seranomys->ceremonies serch->search serched->searched serches->searches @@ -30437,9 +34257,17 @@ sercive->service sercived->serviced sercives->services serciving->servicing +serebral->cerebral +serebrally->cerebrally +sereous->serious, serous, +sereousally->seriously +sereouslly->seriously +sereously->seriously sereverless->serverless serevrless->serverless sergent->sergeant +sergun->surgeon +serguns->surgeons serialialisation->serialisation serialialise->serialise serialialised->serialised @@ -30467,11 +34295,27 @@ serices->services, series, serie->series seriel->serial serieses->series +serimonial->ceremonial +serimonies->ceremonies +serimony->ceremony +serimonys->ceremonies +serinomial->ceremonial +serinomies->ceremonies +serinomy->ceremony +serinomys->ceremonies serios->serious seriouly->seriously +seriousally->seriously +seriouslly->seriously seriuos->serious serivce->service serivces->services +seround->surround +serounded->surrounded +serounding->surrounding +serounds->surrounds +serrebral->cerebral +serrebrally->cerebrally sersies->series sertificate->certificate sertificated->certificated @@ -30502,12 +34346,27 @@ serverlsss->serverless servicies->services servie->service servies->services +servise->service +servised->serviced +servises->services +servising->servicing servive->service servoce->service servoced->serviced servoces->services servocing->servicing serwer->server, sewer, +sescede->secede +sesceded->seceded +sesceder->seceder +sescedes->secedes +sesceding->seceding +seseed->secede +seseeded->seceded +seseeder->seceder +seseedes->secedes +seseeding->seceding +seseeds->secedes sesion->session sesions->sessions sesitive->sensitive @@ -30566,6 +34425,9 @@ severl->several severley->severely severly->severely sevice->service +seviced->serviced +sevices->services +sevicing->servicing sevirity->severity sevral->several sevrally->severally @@ -30592,14 +34454,14 @@ shapshots->snapshots shapsnot->snapshot shapsnots->snapshots shapt->shaped, shape, -sharable->shareable shareed->shared shareing->sharing sharloton->charlatan sharraid->charade sharraids->charades shashes->slashes -shatow->château +shatow->shadow, château, châteaux, +shatows->shadows, châteaux, châteaus, shbang->shebang sheat->sheath, sheet, cheat, sheck->check, cheque, shuck, @@ -30619,6 +34481,10 @@ sheilded->shielded sheilding->shielding sheilds->shields sheme->scheme, shame, +shepard->shepherd +sheparded->shepherded +sheparding->shepherding +shepards->shepherds shepe->shape sheped->shaped, shepherd, shepered->shepherd @@ -30626,9 +34492,14 @@ sheperedly->shepherdly shepereds->shepherds shepes->shapes sheping->shaping +shepperd->shepherd +shepperded->shepherded +shepperding->shepherding +shepperds->shepherds shepre->sphere shepres->spheres sherif->sheriff +sherifs->sheriffs shfit->shift shfited->shifted shfiting->shifting @@ -30640,6 +34511,7 @@ shif-tab->shift-tab shineing->shining shiped->shipped shiping->shipping +shoft->shift, short, shoftware->software shoild->should shoing->showing @@ -30650,6 +34522,7 @@ sholuld->should sholuldn't->shouldn't shoould->should shopkeeepers->shopkeepers +shopuld->should shorcut->shortcut shorcuts->shortcuts shorly->shortly @@ -30661,6 +34534,7 @@ shortcomming->shortcoming shortcommings->shortcomings shortcutt->shortcut shortend->shortened, short end, +shortended->shortened, short-ended, shortern->shorten shorthly->shortly shortkut->shortcut @@ -30688,7 +34562,6 @@ should'nt->shouldn't should't->shouldn't shouldbe->should, should be, shouldn;t->shouldn't -shouldnot->should not, shouldn't, shouldnt'->shouldn't shouldnt->shouldn't shouldnt;->shouldn't @@ -30713,6 +34586,7 @@ shreak->shriek shreshold->threshold shriks->shrinks shrinked->shrunk, shrank, +shs->ssh, NHS, shtop->stop, shop, shtoped->stopped, shopped, shtopes->stops, shops, @@ -30726,6 +34600,8 @@ shttp->https shudown->shutdown shufle->shuffle shuld->should +shuold->should +shuoldnt->shouldn't shure->sure shurely->surely shutdownm->shutdown @@ -30740,13 +34616,18 @@ shystems->systems shystemwindow->systemwindow, system window, sibiling->sibling sibilings->siblings +sibtitle->subtitle +sibtitles->subtitles sicinct->succinct sicinctly->succinctly +sickamore->sycamore +sickamores->sycamores sicne->since sidde->side sideral->sidereal siduction->seduction sie->size, sigh, side, +sience->science, silence, sies->size, sighs, sides, siez->size, seize, sieze->seize, size, @@ -30765,7 +34646,12 @@ sigals->signals, sigils, siganture->signature sigantures->signatures sigen->sign +sighrynge->syringe +sighrynges->syringes +sighth->scythe, sight, +sighths->scythes, sights, sigificance->significance +sigificant->significant siginificant->significant siginificantly->significantly siginify->signify @@ -30806,14 +34692,64 @@ signto->sign to signul->signal signular->singular signularity->singularity +sigrynge->syringe +sigrynges->syringes +siguret->cigarette +sigurete->cigarette +siguretes->cigarettes +sigurets->cigarettes +sigurette->cigarette +silabus->syllabus +silabuses->syllabuses silentely->silently silenty->silently +silhouete->silhouette +silhoueted->silhouetted +silhouetes->silhouettes +silhoueting->silhouetting +silhouetist->silhouettist +silhouwet->silhouette +silhouweted->silhouetted +silhouwetes->silhouettes +silhouweting->silhouetting +silhouwetist->silhouettist +silibus->syllabus +silibuses->syllabuses siliently->silently, saliently, +sillabus->syllabus +sillabuses->syllabuses +sillibus->syllabus +sillibuses->syllabuses +sillybus->syllabus +sillybuses->syllabuses +silouet->silhouette +silouete->silhouette +siloueted->silhouetted +silouetes->silhouettes +siloueting->silhouetting +silouetist->silhouettist silouhette->silhouette silouhetted->silhouetted silouhettes->silhouettes silouhetting->silhouetting +silouwet->silhouette +silouweted->silhouetted +silouwetes->silhouettes +silouweting->silhouetting +silouwetist->silhouettist +silowet->silhouette +siloweted->silhouetted +silowetes->silhouettes +siloweting->silhouetting +silowetist->silhouettist +silybus->syllabus +silybuses->syllabuses simeple->simple +simetric->symmetric +simetrical->symmetrical +simetricaly->symmetrically +simetriclly->symmetrically +simetricly->symmetrically simetrie->symmetry simetries->symmetries simgle->single @@ -30841,9 +34777,15 @@ simliar->similar simliarly->similarly simlicity->simplicity simlified->simplified +simlifies->simplifies +simlify->simplify +simlifying->simplifying simly->simply, simile, smiley, simmetric->symmetric simmetrical->symmetrical +simmetricaly->symmetrically +simmetriclly->symmetrically +simmetricly->symmetrically simmetry->symmetry simmilar->similar simpification->simplification @@ -30865,6 +34807,21 @@ simplifys->simplifies simpliifcation->simplification simpliifcations->simplifications simplist->simplest +simpliy->simply, simplify, +simptom->symptom +simptomatic->symptomatic +simptomatically->symptomatically +simptomaticaly->symptomatically +simptomaticlly->symptomatically +simptomaticly->symptomatically +simptoms->symptoms +simptum->symptom +simptumatic->symptomatic +simptumatically->symptomatically +simptumaticaly->symptomatically +simptumaticlly->symptomatically +simptumaticly->symptomatically +simptums->symptoms simpy->simply simualte->simulate simualted->simulated @@ -30893,11 +34850,15 @@ simulatenously->simultaneously simultanaeous->simultaneous simultaneos->simultaneous simultaneosly->simultaneously +simultaneusly->simultaneously simultanious->simultaneous simultaniously->simultaneously simultanous->simultaneous simultanously->simultaneously +simulteniously->simultaneously simutaneously->simultaneously +sinagog->synagogue +sinagogs->synagogues sinature->signature sincerley->sincerely sincerly->sincerely @@ -30917,6 +34878,7 @@ singificand->significand, significant, singl->single singlar->singular single-threded->single-threaded +singlely->singly singls->singles, single, singlton->singleton singltons->singletons @@ -30941,8 +34903,20 @@ singuarity->singularity singuarl->singular singulat->singular singulaties->singularities +sinic->cynic, sonic, +sinical->cynical +sinically->cynically +sinicaly->cynically +sinics->cynics sinlge->single sinlges->singles +sinnagog->synagogue +sinnagogs->synagogues +sinnic->cynic +sinnical->cynical +sinnically->cynically +sinnicaly->cynically +sinnics->cynics sinply->simply sinse->sines, since, sintac->syntax @@ -30980,8 +34954,23 @@ sirectories->directories sirectors->directors sirectory->directory sirects->directs +siringe->syringe +siringes->syringes +sirvayl->surveil +sirvayled->surveiled +sirvaylence->surveillance +sirvayles->surveils +sirvayling->surveiling +sirvayls->surveils +sirynge->syringe +sirynges->syringes sise->size, sisal, sisnce->since +sisser->scissor, sister, sissier, +sissered->scissored +sissering->scissoring +sissers->scissors, sisters, +sist->cyst, sits, sift, sistem->system sistematically->systematically sistematics->systematics @@ -31001,6 +34990,7 @@ sistemized->systemized sistemizes->systemizes sistemizing->systemizing sistems->systems +sists->cysts, sifts, sits, sitation->situation sitations->situations sitaution->situation @@ -31013,6 +35003,8 @@ sitirs->stirs sitl->still sitll->still sitmuli->stimuli +situaion->situation +situaions->situations situationals->situational, situations, situationly->situationally, situational, situationnal->situational @@ -31031,12 +35023,24 @@ situtation->situation situtations->situations siutable->suitable siute->suite +sive->sieve, save, +sived->sieved, saved, +sives->sieves, saves, sivible->visible +siving->sieving, saving, siwtch->switch siwtched->switched siwtching->switching Sixtin->Sistine, Sixteen, siz->size, six, +sizeble->sizeable, sizable, +sizemologist->seismologist +sizemologists->seismologists +sizemologogical->seismological +sizemologogically->seismologically +sizemology->seismology +sizor->sizer, scissor, +sizors->sizers, scissors, sizre->size Skagerak->Skagerrak skalar->scalar @@ -31063,9 +35067,27 @@ skippd->skipped skippped->skipped skippps->skips skipt->skip, Skype, skipped, +skitsofrinic->schizophrenic +skitsofrinics->schizophrenics +skool->school +skooled->schooled +skooling->schooling +skools->schools +skopped->skipped, shopped, slopped, stopped, +skurge->scourge +skurged->scourged +skurges->scourges +skurging->scourging +skwalk->squawk +skwalked->squawked +skwalking->squawking +skwalks->squawks skyp->skip, Skype, +slac->slack slach->slash slaches->slashes +slanguage->language +slanguages->languages slase->slash slases->slashes slashs->slashes @@ -31077,6 +35099,10 @@ slection->selection sleect->select sleeped->slept sleepp->sleep +slewth->sleuth +slewthed->sleuthed +slewthing->sleuthing +slewths->sleuths slicable->sliceable slient->silent sliently->silently @@ -31091,7 +35117,13 @@ sligthly->slightly sligtly->slightly sliped->slipped sliseshow->slideshow +slite->sleight, elite, slide, site, +slooth->sleuth, sloth, sooth, +sloothed->sleuthing +sloothing->sleuthing +slooths->sleuths slowy->slowly +slq->sql sluggify->slugify smae->same smal->small @@ -31099,7 +35131,9 @@ smaler->smaller smallar->smaller smalles->smallest smaple->sample +smapled->sampled smaples->samples +smapling->sampling smealting->smelting smething->something smll->small, smell, @@ -31131,14 +35165,31 @@ snytax->syntax Soalris->Solaris socail->social socalism->socialism +socalist->socialist +socalists->socialists socekts->sockets socities->societies +socript->script +socripted->scripted +socripting->scripting +socripts->scripts +sodder->solder +soddered->soldered +soddering->soldering +sodders->solders +sodo->sudo, soda, sod, sods, dodo, solo, +sodu->sudo, soda, sod, sods, soecialize->specialized soem->some soemthing->something soemwhere->somewhere sofisticated->sophisticated +sofmore->sophomore +sofmores->sophomores +sofomore->sophomore +sofomores->sophomores softend->softened +softwade->software softwares->software softwre->software sofware->software @@ -31149,11 +35200,17 @@ soiurce->source soket->socket sokets->sockets solarmutx->solarmutex +solataire->solitaire +solatare->solitaire solatary->solitary solate->isolate solated->isolated solates->isolates solating->isolating +soldger->soldier +soldgered->soldiered +soldgering->soldiering +soldgers->soldiers soler->solver, solar, solely, soley->solely solf->solve, sold, @@ -31162,9 +35219,14 @@ solfer->solver, solder, solfes->solves solfing->solving solfs->solves +solger->soldier +solgered->soldiered +solgering->soldiering +solgers->soldiers soliders->soldiers solification->solidification soliliquy->soliloquy +solitare->solitaire, solitary, soltion->solution soltuion->solution soltuions->solutions @@ -31177,6 +35239,7 @@ solveing->solving solwed->solved som->some someboby->somebody +someghing->something somehing->something somehting->something somehwat->somewhat @@ -31227,11 +35290,22 @@ soodonim->pseudonym sooit->suet, suit, soot, soop->soup, scoop, snoop, soap, soource->source +soovinear->souvenir +soovinears->souvenirs +soovineer->souvenir +soovineers->souvenirs +soovinneer->souvenir +soovinneers->souvenirs sophicated->sophisticated sophisicated->sophisticated sophisitcated->sophisticated sophisticted->sophisticated sophmore->sophomore +sophmores->sophomores +sopund->sound +sopunded->sounded +sopunding->sounding +sopunds->sounds sorce->source, force, sorceror->sorcerer sord->sword, sore, sored, sawed, soared, @@ -31245,6 +35319,7 @@ sortnr->sorter sortrage->storage, shortage, soruce->source, spruce, soruces->sources, spruces, +sory->sorry, sort, soscket->socket soterd->stored, sorted, sotfware->software @@ -31255,6 +35330,7 @@ sotry->story, sorry, sotyr->satyr, story, souce->source souces->sources +souch->such, sough, pouch, touch, soucre->source soucres->sources soudn->sound @@ -31262,8 +35338,11 @@ soudns->sounds sould'nt->shouldn't sould->could, should, sold, souldn't->shouldn't +soultion->solution +soultions->solutions soundard->soundcard sountrack->soundtrack +sourbraten->sauerbraten sourc->source sourcd->sourced, source, sourcde->sourced, source, @@ -31282,6 +35361,12 @@ sourthern->southern southbrige->southbridge souvenier->souvenir souveniers->souvenirs +souvinear->souvenir +souvinears->souvenirs +souvineer->souvenir +souvineers->souvenirs +souvinneer->souvenir +souvinneers->souvenirs soveits->soviets sover->solver sovereignity->sovereignty @@ -31317,7 +35402,6 @@ spaw->spawn spawed->spawned spawing->spawning spawining->spawning -spawnve->spawn spaws->spawns spcae->space spcaed->spaced @@ -31337,10 +35421,15 @@ speaces->spaces, species, speach->speech speacial->special, spacial, speacing->spacing +spearate->separate +spearated->separated +spearates->separates +spearating->separating spearator->separator spearators->separators spec-complient->spec-compliant specail->special +spece->space, spice, specefic->specific specefically->specifically speceficly->specifically @@ -31371,6 +35460,7 @@ specialisaitons->specialisations specialitzed->specialised, specialized, specializaiton->specialization specializaitons->specializations +speciall->special, specially, speciallized->specialised, specialized, specialy->specially specic->specific @@ -31392,6 +35482,8 @@ speciffic->specific speciffically->specifically specifi->specific, specify, specifially->specifically +specificaiton->specification +specificaitons->specifications specificallly->specifically specificaly->specifically specificated->specified @@ -31406,6 +35498,7 @@ specificiation->specification specificiations->specifications specificically->specifically specificied->specified +specificies->specifics, specifies, specificl->specific specificly->specifically specifiction->specification @@ -31421,11 +35514,13 @@ specifieced->specified specifiecs->specifics specifieed->specified specifiees->specifies +specififed->specified specifig->specific specifigation->specification specifigations->specifications specifing->specifying specifities->specifics +specifity->specificity specifix->specifics, specific, specifiy->specify specifiying->specifying @@ -31739,6 +35834,7 @@ spefiy->specify spefiying->specifying spefy->specify spefying->specifying +speherical->spherical speical->special speices->species speicfied->specified @@ -31764,6 +35860,7 @@ speperator->separator speperats->separates sperate->separate sperately->separately +sperhical->spherical spermatozoan->spermatozoon speshal->special speshally->specially, especially, @@ -31779,6 +35876,8 @@ spesified->specified spesifities->specifics spesify->specify spetial->special, spatial, +spetsific->specific +spetsified->specified spezialisation->specialization spezific->specific spezified->specified @@ -31797,6 +35896,7 @@ spligs->splits spliiter->splitter spliitting->splitting splite->split, splits, splice, +splited->split spliting->splitting splitted->split splittng->splitting @@ -31835,6 +35935,11 @@ spred->spread spredsheet->spreadsheet spreedsheet->spreadsheet sprinf->sprintf +spript->script +spripted->scripted +spripting->scripting +spripts->scripts +spririous->spurious spriritual->spiritual spritual->spiritual sproon->spoon @@ -31845,6 +35950,10 @@ spsacing->spacing sptintf->sprintf spurios->spurious spurrious->spurious +spwan->spawn +spwaned->spawned +spwaning->spawning +spwans->spawns sqare->square sqared->squared sqares->squares @@ -31893,7 +36002,9 @@ ssame->same ssee->see ssoaiating->associating ssome->some +ssudo->sudo stabalization->stabilization +stabel->stable stabilitation->stabilization stabilite->stabilize stabilited->stabilized @@ -31925,6 +36036,8 @@ staition->station staitions->stations stalagtite->stalactite stamement's->statement's, statements, statement, +stanard->standard +stanards->standards standalown->standalone, stand-alone, standar->standard standarad->standard @@ -31952,6 +36065,9 @@ standartizator->standardizer standartized->standardized standarts->standards standatd->standard +standerd->standard +standerds->standards +standlone->standalone standrat->standard standrats->standards standtard->standard @@ -31963,7 +36079,13 @@ staps->steps, stops, staration->starvation stard->start stardard->standard +stardardize->standardize +stardardized->standardized +stardardizes->standardizes +stardardizing->standardizing +stardards->standards staright->straight +starigth->straight startd->started startegic->strategic startegies->strategies @@ -32023,10 +36145,14 @@ statustics->statistics staulk->stalk stauration->saturation staus->status +stawberries->strawberries +stawberry->strawberry stawk->stalk stcokbrush->stockbrush stdanard->standard stdanards->standards +stegnographic->steganographic +stegnography->steganography stength->strength steram->stream steramed->streamed @@ -32100,6 +36226,8 @@ straighforward->straightforward straightfoward->straightforward straigt->straight straigth->straight +straigthen->straighten +straigthening->straightening straines->strains stram->steam, stream, tram, straming->streaming, steaming, @@ -32175,11 +36303,16 @@ strictist->strictest strig->string strigification->stringification strigifying->stringifying +striing->string +striings->strings strikely->strikingly stringifed->stringified strinsg->strings strippen->stripped -stript->stripped +stript->stripped, script, +stripted->scripted, stripped, +stripting->scripting, stripping, +stripts->scripts, strips, strirngification->stringification strnad->strand strng->string @@ -32188,6 +36321,7 @@ stroe->store stroing->storing stronlgy->strongly stronly->strongly +strorage->storage strore->store strored->stored strores->stores @@ -32206,6 +36340,10 @@ structered->structured structeres->structures structetr->structure structire->structure +structore->structure +structored->structured +structores->structures +structoring->structuring structre->structure structred->structured structres->structures @@ -32258,6 +36396,8 @@ stucture->structure stuctured->structured stuctures->structures studdy->study +studetn->student +studetns->students studi->study, studio, studing->studying studis->studies, studios, @@ -32329,13 +36469,19 @@ subjudgation->subjugation sublass->subclass sublasse->subclasse sublasses->subclasses +sublcass->subclass sublcasses->subclasses sublcuase->subclause suble->subtle submachne->submachine submision->submission +submisions->submissions +submisison->submission +submisisons->submissions submisson->submission +submissons->submissions submited->submitted +submiting->submitting submition->submission submitions->submissions submittted->submitted @@ -32469,6 +36615,8 @@ substaintially->substantially substancial->substantial substantialy->substantially substantivly->substantively +substask->subtask +substasks->subtasks substatial->substantial substential->substantial substentially->substantially @@ -32488,7 +36636,10 @@ substitues->substitutes substituing->substituting substituion->substitution substituions->substitutions +substitutin->substitution, substituting, +substitutins->substitutions substiution->substitution +substiutions->substitutions substract->subtract substracted->subtracted substracting->subtracting @@ -32506,10 +36657,14 @@ subsysytems->subsystems subsytem->subsystem subsytems->subsystems subtabels->subtables +subtak->subtask +subtaks->subtask, subtasks, subtances->substances subtarger->subtarget, sub-target, subtargers->subtargets, sub-targets, subterranian->subterranean +subtile->subtle, subtitle, subfile, +subtiles->subtitles, subfiles, subtitute->substitute subtituted->substituted subtitutes->substitutes @@ -32517,6 +36672,8 @@ subtituting->substituting subtitution->substitution subtitutions->substitutions subtrafuge->subterfuge +subtrate->substrate +subtrates->substrates subtring->substring subtrings->substrings subtsitutable->substitutable @@ -32549,6 +36706,8 @@ succee->succeed succeedde->succeeded succeedes->succeeds succeeed->succeed, succeeded, +succeeeded->succeeded +succeeeds->succeeds succees->success, succeeds, succeess->success succeesses->successes @@ -32635,16 +36794,23 @@ sucidial->suicidal sucome->succumb sucsede->succeed sucsess->success +sude->sudo, side, sure, dude, suede, sued, sudent->student sudents->students +sudeo->sudo +sudio->sudo, audio, sudmobule->submodule sudmobules->submodules +sudu->sudo sueful->useful sueprset->superset suface->surface sufaces->surfaces sufface->surface suffaces->surfaces +suffciency->sufficiency +suffcient->sufficient +suffciently->sufficiently sufferage->suffrage sufferred->suffered sufferring->suffering @@ -32653,11 +36819,17 @@ sufficated->suffocated sufficates->suffocates sufficating->suffocating suffication->suffocation +sufficency->sufficiency sufficent->sufficient sufficently->sufficiently +sufficiancy->sufficiency sufficiant->sufficient +sufficiantly->sufficiently sufficiennt->sufficient sufficienntly->sufficiently +suffiency->sufficiency +suffient->sufficient +suffiently->sufficiently suffisticated->sophisticated suficate->suffocate suficated->suffocated @@ -32754,11 +36926,14 @@ superfluious->superfluous superfluos->superfluous superfulous->superfluous superintendant->superintendent +superios->superior, superiors, superopeator->superoperator supersed->superseded +superseed->supersede superseedd->superseded superseede->supersede superseeded->superseded +superseeding->superseding suphisticated->sophisticated suplant->supplant suplanted->supplanted @@ -32788,6 +36963,7 @@ supplamented->supplemented suppliad->supplied suppliementing->supplementing suppliment->supplement +suppling->supplying supplyed->supplied suppoed->supposed suppoert->support @@ -32816,6 +36992,8 @@ supposeds->supposed supposedy->supposedly supposingly->supposedly suppossed->supposed +suppost->support, suppose, supports, +suppot->support suppoted->supported suppplied->supplied suppport->support @@ -32835,6 +37013,7 @@ supproting->supporting supprots->supports supprt->support supprted->supported +supprting->supporting suppurt->support suppurted->supported suppurter->supporter @@ -32930,13 +37109,26 @@ susbsystem->subsystem susbsystems->subsystems susbsytem->subsystem susbsytems->subsystems +suscede->secede, succeed, +susceded->seceded, succeeded, +susceder->seceder +susceders->seceders +suscedes->secedes, succeeds, +susceding->seceding, succeeding, suscribe->subscribe suscribed->subscribed suscribes->subscribes suscript->subscript +suseed->secede +suseeded->seceded +suseeder->seceder +suseedes->secedes +suseeding->seceding +suseeds->secedes susepect->suspect suseptable->susceptible suseptible->susceptible +susinct->succinct susinctly->succinctly susinkt->succinct suspedn->suspend @@ -32948,6 +37140,12 @@ suspicous->suspicious suspicously->suspiciously suspision->suspicion suspsend->suspend +susseed->secede +susseeded->seceded +susseeder->seceder +susseedes->secedes +susseeding->seceding +susseeds->secedes sussinct->succinct sustainaiblity->sustainability sustem->system @@ -32973,6 +37171,7 @@ suuported->supported suuporting->supporting suuports->supports suvenear->souvenir +suvh->such suystem->system suystemic->systemic suystems->systems @@ -33015,7 +37214,17 @@ swithing->switching switiches->switches swown->shown swtich->switch +swtichable->switchable +swtichback->switchback +swtichbacks->switchbacks +swtichboard->switchboard +swtichboards->switchboards +swtiched->switched +swticher->switcher +swtichers->switchers +swtiches->switches swtiching->switching +swtichover->switchover swtichs->switches sxl->xsl syantax->syntax @@ -33059,6 +37268,7 @@ sycronizing->synchronizing sycronous->synchronous sycronously->synchronously sycronus->synchronous +syfs->sysfs sylabus->syllabus sylabuses->syllabuses, syllabi, syle->style @@ -33072,6 +37282,7 @@ sylog->syslog symantics->semantics symblic->symbolic symbo->symbol +symbolc->symbolic symboles->symbols symboll->symbol symbonname->symbolname @@ -33099,6 +37310,13 @@ symobolic->symbolic symobolical->symbolical symol->symbol symols->symbols +symptum->symptom +symptumatic->symptomatic +symptumatically->symptomatically +symptumaticaly->symptomatically +symptumaticlly->symptomatically +symptumaticly->symptomatically +symptums->symptoms synagouge->synagogue synamic->dynamic synax->syntax @@ -33174,6 +37392,8 @@ syntatic->syntactic syntatically->syntactically syntaxe->syntax syntaxg->syntax +syntaxical->syntactical +syntaxically->syntactically syntaxt->syntax syntehsise->synthesise syntehsised->synthesised @@ -33207,6 +37427,7 @@ sysmte->system sysmtes->systems systax->syntax syste->system +systemn->system systemwindiow->systemwindow, system window, systen->system systens->systems @@ -33288,6 +37509,7 @@ tagnets->tangents tagued->tagged tahn->than taht->that +tained->tainted, stained, taks->task, tasks, takes, takslet->tasklet talbe->table @@ -33328,6 +37550,7 @@ tarce->trace tarced->traced tarces->traces tarcing->tracing +tarffic->traffic targed->target targer->target targest->targets @@ -33343,7 +37566,7 @@ tarvis->Travis tarvisci->TravisCI tasbar->taskbar taskelt->tasklet -tast->taste +tast->taste, test, task, tatgert->target tatgerted->targeted tatgerting->targeting @@ -33372,11 +37595,19 @@ tcheckout->checkout tcpdumpp->tcpdump tcppcheck->cppcheck te->the, be, we, to, +teacer->teacher +teacers->teachers teached->taught teachnig->teaching +teaher->teacher +teahers->teachers teamplate->template teamplates->templates teated->treated +teatotaler->teetotaler +teatotalers->teetotalers +teatotler->teetotaler +teatotlers->teetotalers teched->taught techer->teacher techers->teachers @@ -33416,8 +37647,11 @@ tecnicians->technicians tecnique->technique tecniques->techniques tedeous->tedious +teetotler->teetotaler +teetotlers->teetotalers tefine->define teh->the +tehnically->technically tehy->they tekn->taken, Tekken, tekst->text @@ -33596,18 +37830,28 @@ teraform->terraform teraformed->terraformed teraforming->terraforming teraforms->terraforms +terfform->terraform +terfformed->terraformed +terfforming->terraforming +terfforms->terraforms teridactyl->pterodactyl terific->terrific terimnate->terminate +teritory->territory termial->terminal termials->terminals +termiante->terminate termianted->terminated +termimal->terminal +termimals->terminals +terminatd->terminated terminater->terminator terminaters->terminators terminats->terminates termindate->terminate termine->determine termined->terminated +terminiator->terminator terminte->terminate termintor->terminator termniate->terminate @@ -33633,6 +37877,8 @@ termporarily->temporarily termporary->temporary ternament->tournament ternimate->terminate +terninal->terminal +terninals->terminals terrable->terrible terrestial->terrestrial terrform->terraform @@ -33674,6 +37920,9 @@ testng->testing testof->test of testomony->testimony testsing->testing +tetrahedora->tetrahedra +tetrahedoren->tetrahedron +tetrahedorens->tetrahedrons tetrahedran->tetrahedron tetrahedrans->tetrahedrons tetry->retry @@ -33698,6 +37947,7 @@ thann->than, thank, thansk->thanks thansparent->transparent thant->than +thar->than, that, thare->there thast->that, that's, that;s->that's @@ -33705,6 +37955,8 @@ thatn->that, than, thats'->that's thats->that's thats;->that's +thaught->thought, taught, +thaughts->thoughts thay->they, that, thck->thick theard->thread @@ -33760,6 +38012,7 @@ thermisor->thermistor thermisors->thermistors thermostast->thermostat thermostasts->thermostats +therofer->therefore therough->through, thorough, therstat->thermostat therwise->otherwise @@ -33794,6 +38047,7 @@ thigns->things thigny->thingy thigsn->things thik->thick, think, +thiking->thinking thikn->think thikness->thickness thiknesses->thicknesses @@ -33826,6 +38080,7 @@ thnig->thing thnigs->things thoese->those, these, thonic->chthonic +thorasic->thoracic thoroidal->toroidal thoroughty->thoroughly thorugh->through, thorough, @@ -33893,9 +38148,13 @@ throughly->thoroughly throught->thought, through, throughout, throughtout->throughout througout->throughout +througput->throughput througt->through througth->through throuh->through +throuhg->through +throuhgout->throughout +throuhgput->throughput throuth->through throwed->threw, thrown, throwgh->through @@ -33945,6 +38204,7 @@ tichness->thickness tickness->thickness tidibt->tidbit tidibts->tidbits +tidyness->tidiness tieing->tying tiem->time, item, tiemout->timeout @@ -33965,6 +38225,7 @@ tigthening->tightening tigthens->tightens tigthly->tightly tihkn->think +tihnk->think tihs->this tiitle->title tillt->tilt @@ -33990,6 +38251,7 @@ timestanp->timestamp, timespan, timestanps->timestamps, timespans, timestans->timespans timestap->timestamp +timestap-based->timestamp-based timestaped->timestamped timestaping->timestamping timestaps->timestamps @@ -34037,6 +38299,7 @@ toches->touches tocksen->toxin todya->today toekn->token +toether->together, tether, togehter->together togeter->together togeterness->togetherness @@ -34067,6 +38330,7 @@ Tolkein->Tolkien tollerable->tolerable tollerance->tolerance tollerances->tolerances +tollerant->tolerant tolorance->tolerance tolorances->tolerances tolorant->tolerant @@ -34082,17 +38346,20 @@ toogle->toggle toogling->toggling tookit->toolkit, took it, tookits->toolkits +tooks->took, takes, toolar->toolbar toolsbox->toolbox toom->tomb tooo->todo, too, tool, took, toos->tools +Toosday->Tuesday tootonic->teutonic topicaizer->topicalizer topologie->topology torerable->tolerable toriodal->toroidal tork->torque +torlence->tolerance tormenters->tormentors tornadoe->tornado torpeados->torpedoes @@ -34101,9 +38368,12 @@ tortilini->tortellini tortise->tortoise torward->toward torwards->towards +Tosday->Tuesday, today, totaly->totally totat->total totation->rotation +totatl->total +totatlly->totally totats->totals tothe->to the tothiba->toshiba @@ -34113,6 +38383,7 @@ totorials->tutorials touble->trouble toubles->troubles toubling->troubling +touchsceen->touchscreen tought->thought, taught, tough, toughtful->thoughtful toughtly->tightly @@ -34252,6 +38523,10 @@ tranport->transport tranported->transported tranporting->transporting tranports->transports +tranpose->transpose +tranposed->transposed +tranposes->transposes +tranposing->transposing transacion->transaction transacions->transactions transaciton->transaction @@ -34350,6 +38625,7 @@ transisitioned->transitioned transisitioning->transitioning transisitions->transitions transistion->transition +transistioned->transitioned transistioning->transitioning transistions->transitions transitionnal->transitional @@ -34600,9 +38876,18 @@ trempoline->trampoline treshhold->threshold treshold->threshold tressle->trestle +tresure->treasure +tresured->treasured +tresurer->treasurer +tresures->treasures +tresuring->treasuring treting->treating +trew->true, threw, +trewthful->truthful +trewthfully->truthfully trgistration->registration trhe->the +trhough->through trian->train, trial, triancle->triangle triancles->triangles @@ -34618,6 +38903,8 @@ trianing->training trianlge->triangle trianlges->triangles trians->trains +triathalon->triathlon +triathalons->triathlons triger->trigger, tiger, trigered->triggered trigerred->triggered @@ -34630,6 +38917,10 @@ triggerred->triggered triggerring->triggering triggerrs->triggers triggger->trigger +trignametric->trigonometric +trignametry->trigonometry +trignometric->trigonometric +trignometry->trigonometry triguered->triggered trik->trick, trike, triked->tricked @@ -34644,6 +38935,8 @@ trimmng->trimming trinagle->triangle trinagles->triangles tring->trying, string, ring, +tringket->trinket +tringkets->trinkets trings->strings, rings, triniy->trinity triology->trilogy @@ -34651,6 +38944,22 @@ tripel->triple tripeld->tripled tripels->triples tripple->triple +triptick->triptych +triptickes->triptychs +tripticks->triptychs +triptish->triptych +triptishes->triptychs +triptishs->triptychs +triscadecafobia->triskaidekaphobia +triscadecaphobia->triskaidekaphobia +triscaidecafobia->triskaidekaphobia +triscaidecaphobia->triskaidekaphobia +triscaidekafobia->triskaidekaphobia +triscaidekaphobia->triskaidekaphobia +triskadecafobia->triskaidekaphobia +triskadecaphobia->triskaidekaphobia +triskadekafobia->triskaidekaphobia +triskadekaphobia->triskaidekaphobia triuangulate->triangulate trival->trivial trivally->trivially @@ -34663,10 +38972,49 @@ trnasmits->transmits trnsfer->transfer trnsfered->transferred trnsfers->transfers +trogladite->troglodyte +trogladites->troglodytes +trogladitic->troglodytic +trogladitical->troglodytical +trogladitism->troglodytism +troglidite->troglodyte +troglidites->troglodytes +trogliditic->troglodytic +trogliditical->troglodytical +trogliditism->troglodytism +troglodite->troglodyte +troglodites->troglodytes +trogloditic->troglodytic +trogloditical->troglodytical +trogloditism->troglodytism troling->trolling +trolly->trolley +trollys->trolleys +trooso->trousseau +troosos->trousseaux, trousseaus, +troosso->trousseau +troossos->trousseaux, trousseaus, +trotski->Trotsky +trotskism->trotskyism +trotskist->trotskyist +trotskists->trotskyists +trotskyite->trotskyist +trotskyites->trotskyists trottle->throttle trottled->throttled, trotted, trottling->throttling, trotting, +trotzki->Trotsky +trotzkism->trotskyism +trotzkist->trotskyist +trotzkists->trotskyists +trotzky->Trotsky +trotzkyism->trotskyism +trotzkyist->trotskyist +trotzkyists->trotskyists +trotzkyite->trotskyist +trotzkyites->trotskyists +troubador->troubadour +troubadors->troubadours troubeshoot->troubleshoot troubeshooted->troubleshooted troubeshooter->troubleshooter @@ -34689,6 +39037,10 @@ trrigger->trigger trriggered->triggered trriggering->triggering trriggers->triggers +trubador->troubadour +trubadors->troubadours +trubadour->troubadour +trubadours->troubadours trubble->trouble trubbled->troubled trubbles->troubles @@ -34706,6 +39058,9 @@ trucnating->truncating truct->struct truelly->truly truely->truly +truged->trudged +trugged->trudged, tugged, +truging->trudging truied->tried trully->truly trun->turn @@ -34733,12 +39088,18 @@ trys->tries tryying->trying ttests->tests tthe->the +tucan->toucan +tucans->toucans tuesdey->Tuesday tuesdsy->Tuesday tufure->future tuhmbnail->thumbnail tunelled->tunnelled tunelling->tunneling +tung->tongue +tunges->tongues +tungs->tongues +tungues->tongues tunned->tuned tunnell->tunnel tunning->tuning, running, @@ -34747,12 +39108,20 @@ tuotirals->tutorials tupel->tuple tupple->tuple tupples->tuples -ture->true +turain->terrain +turains->terrains +turcoise->turquoise +ture->true, pure, +turkoise->turquoise turle->turtle turly->truly turnk->trunk, turnkey, turn, turorial->tutorial turorials->tutorials +turrain->terrain +turrains->terrains +turtleh->turtle +turtlehs->turtles turtorial->tutorial turtorials->tutorials Tuscon->Tucson @@ -34770,6 +39139,7 @@ twodimenional->two-dimensional twodimenionsal->two-dimensional twon->town twoo->two, too, +Twosday->Tuesday twpo->two tye->type, tie, tyep->type @@ -34778,6 +39148,7 @@ tyhat->that tyhe->they, the, type, tyies->tries tymecode->timecode +tyoe->type, toey, toe, tyope->type typcast->typecast typcasting->typecasting @@ -34788,6 +39159,7 @@ typdef->typedef, typed, typechek->typecheck typecheking->typechecking typesrript->typescript +typess->types typicall->typically, typical, typicallly->typically typicaly->typically @@ -34797,6 +39169,8 @@ typles->tuples typoe->typo, type, types, typoes->typos, types, typographc->typographic +typopgrahic->typographic +typopgrahical->typographical typpe->type typped->typed typpes->types @@ -34812,15 +39186,19 @@ ubelievebly->unbelievably ubernetes->Kubernetes ubiquitious->ubiquitous ubiquituously->ubiquitously +ubiquotous->ubiquitous +ubiquoutous->ubiquitous ubitquitous->ubiquitous ublisher->publisher ubunut->Ubuntu ubutu->Ubuntu ubutunu->Ubuntu udated->updated, dated, +udateed->updated udater->updater, dater, udating->updating, dating, udno->undo, uno, +udo->undo, sudo, judo, ado, udon, UFO, udpatable->updatable udpate->update udpated->updated @@ -34890,13 +39268,26 @@ unadvertedly->inadvertently unadvertent->inadvertent unadvertently->inadvertently unahppy->unhappy +unale->unable unalllowed->unallowed unambigious->unambiguous unambigous->unambiguous unambigously->unambiguously unamed->unnamed unanimuous->unanimous +unanimuously->unanimously +unannimous->unanimous +unannimously->unanimously +unannomous->unanimous +unannomously->unanimously +unannomus->unanimous +unannomusly->unanimously +unanomous->unanimous +unanomously->unanimously +unanomus->unanimous +unanomusly->unanimously unanymous->unanimous +unanymously->unanimously unappretiated->unappreciated unappretiative->unappreciative unapprieciated->unappreciated @@ -34955,10 +39346,16 @@ uncalcualted->uncalculated unce->once uncehck->uncheck uncehcked->unchecked +uncerain->uncertain +uncerainties->uncertainties +uncerainty->uncertainty uncertaincy->uncertainty uncertainities->uncertainties uncertainity->uncertainty uncessarily->unnecessarily +uncetain->uncertain +uncetainties->uncertainties +uncetainty->uncertainty unchache->uncache unchached->uncached unchaged->unchanged @@ -34967,6 +39364,7 @@ unchallengable->unchallengeable unchaned->unchanged unchaneged->unchanged unchangable->unchangeable +unchangd->unchanged uncheked->unchecked unchenged->unchanged uncler->unclear, uncle, uncles, @@ -34990,6 +39388,7 @@ uncommpressed->uncompressed uncommpression->uncompression uncommtited->uncommitted uncomon->uncommon +uncompatible->incompatible uncompetetive->uncompetitive uncompetive->uncompetitive uncomplete->incomplete @@ -35024,6 +39423,8 @@ unconditionaly->unconditionally unconditionnal->unconditional unconditionnally->unconditionally unconditionnaly->unconditionally +unconditonal->unconditional +unconditonally->unconditionally uncondtional->unconditional uncondtionally->unconditionally unconfiged->unconfigured @@ -35080,6 +39481,7 @@ understadn->understand understadnable->understandable understadning->understanding understadns->understands +understandig->understanding understoon->understood understoud->understood undertable->understandable, understand, @@ -35121,10 +39523,12 @@ undorder->unorder undordered->unordered undoubtely->undoubtedly undreground->underground +unduely->unduly undupplicated->unduplicated uneccesary->unnecessary uneccessarily->unnecessarily uneccessary->unnecessary +unecesary->unnecessary unecessarily->unnecessarily unecessary->unnecessary uneeded->unneeded, unheeded, needed, @@ -35142,6 +39546,7 @@ unesacpe->unescape unesacped->unescaped unessecarry->unnecessary unessecary->unnecessary +unevaluted->unevaluated unexcected->unexpected unexcectedly->unexpectedly unexcpected->unexpected @@ -35235,6 +39640,8 @@ unhilighted->unhighlighted unhilights->unhighlights Unicde->Unicode unich->unix +unick->eunuch, unix, +unicks->eunuchs unidentifiedly->unidentified unidimensionnal->unidimensional unifform->uniform @@ -35286,7 +39693,7 @@ uninstlaling->uninstalling uninstlals->uninstalls unint8_t->uint8_t unintelligable->unintelligible -unintented->unintended +unintented->unintended, unindented, unintentially->unintentionally uninteressting->uninteresting uninterpretted->uninterpreted @@ -35303,6 +39710,7 @@ unintiallized->uninitialized unintialsied->uninitialised unintialzied->uninitialized unio->union +uniocde->unicode unios->unions uniqe->unique uniqu->unique @@ -35345,6 +39753,7 @@ unknon->unknown unknonw->unknown unknonwn->unknown unknonws->unknowns +unknouwn->unknown unknwn->unknown unknwns->unknowns unknwoing->unknowing @@ -35353,11 +39762,13 @@ unknwon->unknown unknwons->unknowns unknwown->unknown unknwowns->unknowns +unkonw->unknown unkonwn->unknown unkonwns->unknowns unkown->unknown unkowns->unknowns unkwown->unknown +unlabled->unlabeled, unlabelled, unlcear->unclear unleess->unless, unleash, unles->unless @@ -35375,6 +39786,8 @@ unmaping->unmapping unmappend->unmapped unmarsalling->unmarshalling unmaximice->unmaximize +unmisakable->unmistakable +unmisakably->unmistakably unmistakeably->unmistakably unmodfide->unmodified unmodfided->unmodified @@ -35429,6 +39842,7 @@ unnused->unused unobstrusive->unobtrusive unocde->Unicode unoffical->unofficial +unoficcial->unofficial unoin->union unompress->uncompress unoperational->nonoperational @@ -35452,6 +39866,7 @@ unplesent->unpleasant unprecendented->unprecedented unprecidented->unprecedented unprecise->imprecise +unpredicable->unpredictable unpredicatable->unpredictable unpredicatble->unpredictable unpredictablity->unpredictability @@ -35459,6 +39874,8 @@ unpredictible->unpredictable unpriviledged->unprivileged unpriviliged->unprivileged unprmopted->unprompted +unprobable->improbable, unprovable, +unprobably->improbably unqiue->unique unqoute->unquote unqouted->unquoted @@ -35525,6 +39942,8 @@ unresgistered->unregistered unresgisters->unregisters unresolvabvle->unresolvable unresonable->unreasonable +unresovlable->unresolvable +unresovled->unresolved unresposive->unresponsive unrestrcited->unrestricted unrgesiter->unregister @@ -35536,7 +39955,7 @@ unsccessful->unsuccessful unscubscribe->subscribe unscubscribed->subscribed unsearcahble->unsearchable -unsed->unused, used, +unsed->unused, unset, used, unselct->unselect unselcted->unselected unselctes->unselects @@ -35553,7 +39972,6 @@ unser->under, unset, unsure, user, unseting->unsetting unsetset->unset unsettin->unsetting -unsharable->unshareable unshfit->unshift unshfited->unshifted unshfiting->unshifting @@ -35569,6 +39987,7 @@ unsoclicited->unsolicited unsolicitied->unsolicited unsolicted->unsolicited unsollicited->unsolicited +unspecializated->unspecialized unspecificed->unspecified unspecifiec->unspecific unspecifiecd->unspecified @@ -35607,6 +40026,7 @@ unspefixeid->unspecified unspefixied->unspecified unspefixifed->unspecified unspported->unsupported +unssupported->unsupported unstabel->unstable unstalbe->unstable unstall->install, uninstall, @@ -35674,6 +40094,7 @@ unsuportable->unsupportable unsuported->unsupported unsupport->unsupported unsupproted->unsupported +unsupprted->unsupported unsupress->unsuppress unsupressed->unsuppressed unsupresses->unsuppresses @@ -35726,6 +40147,7 @@ unwarrented->unwarranted unweildly->unwieldy unwieldly->unwieldy unwraped->unwrapped +unwraping->unwrapping unwrritten->unwritten unx->unix unxepected->unexpected @@ -35765,11 +40187,13 @@ updgrade->upgrade updgraded->upgraded updgrades->upgrades updgrading->upgrading +updload->upload updrage->upgrade updraged->upgraded updrages->upgrades updraging->upgrading updte->update +uper->upper, super, upercase->uppercase uperclass->upperclass upgade->upgrade @@ -35879,13 +40303,13 @@ upstreemed->upstreamed upstreemer->upstreamer upstreeming->upstreaming upstreems->upstreams +upstrem->upstream upstrema->upstream upsupported->unsupported uptadeable->updatable uptdate->update uptim->uptime uptions->options -upto->up to uptodate->up-to-date uptodateness->up-to-dateness uptream->upstream @@ -35897,12 +40321,15 @@ uqest->quest uqests->quests ure->sure, ire, are, urea, rue, urrlib->urllib +usag->usage usal->usual usally->usually uscaled->unscaled +usccess->success useability->usability useable->usable useage->usage +useanother->use another usebility->usability useble->usable useed->used @@ -35913,6 +40340,7 @@ usefulfor->useful for usefull->useful usefullness->usefulness usefult->useful +usefulu->useful usefuly->usefully usefutl->useful useg->user, usage, @@ -35921,7 +40349,10 @@ useing->using user-defiend->user-defined user-defiened->user-defined usera->users +userame->username +userames->usernames userapace->userspace +usere->user userful->useful userpace->userspace userpsace->userspace @@ -36004,10 +40435,25 @@ vaalues->values vaccum->vacuum vaccume->vacuum vaccuum->vacuum +vacinate->vaccinate +vacinated->vaccinated +vacinates->vaccinates +vacinating->vaccinating +vacination->vaccination +vacinations->vaccinations +vacine->vaccine +vacines->vaccines vacinity->vicinity vactor->vector vactors->vectors +vacume->vacuum +vacumed->vacuumed +vacumeed->vacuumed +vacumes->vacuums +vacuming->vacuuming vacumme->vacuum +vacummes->vacuums +vacums->vacuums vacuosly->vacuously vaelue->value, valued, vaelues->values @@ -36051,17 +40497,25 @@ valies->values valif->valid valitdity->validity valkues->values +vallay->valet, valley, +vallayed->valeted +vallaying->valeting +vallays->valets, valleys, vallgrind->valgrind vallid->valid vallidation->validation vallidity->validity +vallies->valleys vallue->value vallues->values +vally->valley +vallys->valleys valsues->values valtage->voltage valtages->voltages valu->value valuble->valuable +valud->valid, value, valudes->values value-to-pack->value to pack valueable->valuable @@ -36073,10 +40527,13 @@ valule->value valuled->valued valules->values valuling->valuing +valus->values, value, talus, valuse->values, value, +valye->value, valse, valve, vanishs->vanishes varable->variable varables->variables +varagated->variegated varaiable->variable varaiables->variables varaiance->variance @@ -36087,12 +40544,15 @@ varaint->variant varaints->variants varation->variation varations->variations +varegated->variegated +vareigated->variegated variabble->variable variabbles->variables variabe->variable variabel->variable variabele->variable variabes->variables +variabl->variable variabla->variable variablen->variable varialbe->variable @@ -36104,6 +40564,7 @@ variatinos->variations variationnal->variational variatoin->variation variatoins->variations +variaty->variety variavle->variable variavles->variables varibable->variable @@ -36118,12 +40579,20 @@ variblae->variable variblaes->variables varible->variable varibles->variables +varieable->variable +varieables->variables varience->variance varient->variant varients->variants varierty->variety variey->variety +varification->verification +varifications->verifications +varified->verified +varifies->verifies varify->verify +varifying->verifying +varigated->variegated variing->varying varilue->variable, value, varilues->variables, values, @@ -36133,6 +40602,8 @@ varity->variety variuos->various variuous->various varius->various +varmit->varmint +varmits->varmints varn->warn varned->warned varning->warning @@ -36143,12 +40614,16 @@ varous->various varously->variously varriance->variance varriances->variances +vart->cart, wart, vartical->vertical vartically->vertically +varts->carts, warts, vas->was vasall->vassal vasalls->vassals vaue->value +vaued->valued +vaues->values vaule->value vauled->valued vaules->values @@ -36158,7 +40633,12 @@ vavle->valve vavlue->value vavriable->variable vavriables->variables +vawdville->vaudeville +vawdvillean->vaudevillian +vawdvillian->vaudevillian vbsrcript->vbscript +veamant->vehement +veamantly->vehemently vebrose->verbose vecotr->vector vecotrs->vectors @@ -36173,11 +40653,23 @@ vecvtors->vectors vedio->video vefiry->verify vegatarian->vegetarian +vegetarien->vegetarian +vegetariens->vegetarians +vegetarion->vegetarian +vegetarions->vegetarians vegeterian->vegetarian vegitable->vegetable vegitables->vegetables +vegitarian->vegetarian +vegitarians->vegetarians +vegitarien->vegetarian +vegitariens->vegetarians +vegitarion->vegetarian +vegitarions->vegetarians vegtable->vegetable vehicule->vehicle +veicle->vehicle +veicles->vehicles veify->verify veiw->view veiwed->viewed @@ -36197,14 +40689,27 @@ venders->vendors venemous->venomous vengance->vengeance vengence->vengeance +ventillate->ventilate +ventillated->ventilated +ventillates->ventilates +ventillating->ventilating +venyet->vignette +venyets->vignettes +veragated->variegated +verbage->verbiage verbaitm->verbatim verbatum->verbatim +verboase->verbose verbous->verbose verbouse->verbose verbously->verbosely verbse->verbose +verchew->virtue +verchews->virtues verctor->vector verctors->vectors +veregated->variegated +vereigated->variegated veresion->version veresions->versions verfication->verification @@ -36226,10 +40731,20 @@ verfiying->verifying verfy->verify verfying->verifying veriable->variable, veritable, +veriables->variables +veriasion->variation +veriasions->variations +veriation->variation +veriations->variations verical->vertical +verically->vertically +verication->verification +verications->verifications verifcation->verification +verifcations->verifications verifi->verify, verified, verifiaction->verification +verifiactions->verifications verificaion->verification verificaions->verifications verificiation->verification @@ -36242,6 +40757,7 @@ verifiying->verifying verifty->verify veriftying->verifying verifyied->verified +verigated->variegated verion->version verions->versions veriosn->version @@ -36257,13 +40773,18 @@ veritcal->vertical veritcally->vertically veritical->vertical verly->very +vermen->vermin vermillion->vermilion +vermuth->vermouth verndor->vendor verrical->vertical verry->very +versatle->versatile vershin->version versin->version +versino->version versinos->versions +versins->versions versio->version versiob->version versioed->versioned @@ -36275,8 +40796,10 @@ versionms->versions versionned->versioned versionning->versioning versios->versions +versital->versatile versitilaty->versatility versitile->versatile +versitle->versatile versitlity->versatility versoin->version versoion->version @@ -36284,6 +40807,9 @@ versoions->versions verson->version versoned->versioned versons->versions +vertabraes->vertebraes +vertabray->vertebrae +vertabrays->vertebraes vertextes->vertices vertexts->vertices vertial->vertical @@ -36313,21 +40839,34 @@ vesion->version vesions->versions vetex->vertex vetexes->vertices +vetinarian->veterinarian +vetinarians->veterinarians vetod->vetoed vetor->vector, veto, vetored->vectored, vetoed, vetoring->vectoring, vetoing, vetors->vectors, vetoes, +vetran->veteran +vetrans->veterans vetween->between vew->view veyr->very vhild->child +viariable->variable viatnamese->Vietnamese vice-fersa->vice-versa vice-wersa->vice-versa vicefersa->vice-versa viceversa->vice-versa vicewersa->vice-versa +victem->victim +victemize->victimize +victemized->victimized +victemizes->victimizes +victemizing->victimizing +victems->victims +victum->victim +victums->victims videostreamming->videostreaming viee->view viees->views @@ -36336,15 +40875,25 @@ vieports->viewports vietnamesea->Vietnamese viewtransfromation->viewtransformation vigeur->vigueur, vigour, vigor, +vigilanties->vigilantes +vigilanty->vigilante vigilence->vigilance vigourous->vigorous vill->will +villan->villain +villans->villains villian->villain +villians->villains villification->vilification villify->vilify villin->villi, villain, villein, vincinity->vicinity +vinigar->vinegar +vinigarette->vinaigrette +vinigarettes->vinaigrettes vinrator->vibrator +vinyet->vignette +vinyets->vignettes vioalte->violate vioaltion->violation violentce->violence @@ -36352,12 +40901,18 @@ violoated->violated violoating->violating violoation->violation violoations->violations +viralence->virulence +viralently->virulently virtal->virtual +virtalenv->virtualenv virtaul->virtual virtical->vertical virtiual->virtual virttual->virtual virttually->virtually +virtualenf->virtualenv +virtualiation->virtualization, virtualisation, +virtualied->virtualized, virtualised, virtualisaion->virtualisation virtualisaiton->virtualisation virtualizaion->virtualization @@ -36387,6 +40942,14 @@ visbility->visibility visble->visible visblie->visible visbly->visibly +viseral->visceral +viserally->viscerally +visheate->vitiate +visheation->vitiation +visheator->vitiator +visheators->vitiators +vishus->vicious +vishusly->viciously visiable->visible visiably->visibly visibale->visible @@ -36411,9 +40974,11 @@ visiters->visitors visitng->visiting visivble->visible vissible->visible -visted->visited -visting->visiting +vist->visit, vast, vest, mist, list, fist, gist, vista, +visted->visited, listed, vested, +visting->visiting, listing, vistors->visitors +vists->visits, lists, fists, visuab->visual visuabisation->visualisation visuabise->visualise @@ -36444,10 +41009,18 @@ visualizaton->visualization visualizatons->visualizations visuallisation->visualisation visuallization->visualization +visualsation->visualisation +visualsations->visualisations visualy->visually visualyse->visualise, visualize, visualzation->visualization +visualzations->visualizations +visulisation->visualisation +visulisations->visualisations +visulization->visualization +visulizations->visualizations vitories->victories +vitrole->vitriol vitrual->virtual vitrually->virtually vitual->virtual @@ -36481,6 +41054,10 @@ volcanoe->volcano volenteer->volunteer volenteered->volunteered volenteers->volunteers +volentier->volunteer +volentiered->volunteered +volentiering->volunteering +volentiers->volunteers voleyball->volleyball volontary->voluntary volonteer->volunteer @@ -36499,6 +41076,10 @@ volxels->voxels vonfig->config vould->would voxes->voxels, voxel, +voyour->voyeur +voyouristic->voyeuristic +voyouristically->voyeuristically +voyours->voyeurs vreity->variety vresion->version vrey->very @@ -36566,6 +41147,8 @@ vulernability->vulnerability vulernable->vulnerable vulnarabilities->vulnerabilities vulnarability->vulnerability +vulnderabilities->vulnerabilities +vulnderability->vulnerability vulneabilities->vulnerabilities vulneability->vulnerability vulneable->vulnerable @@ -36621,6 +41204,9 @@ vulnreability->vulnerability vunerabilities->vulnerabilities vunerability->vulnerability vunerable->vulnerable +vunrabilities->vulnerabilities +vunrability->vulnerability +vunrable->vulnerable vyer->very vyre->very waht->what @@ -36645,6 +41231,7 @@ warings->warnings warinigs->warnings warining->warning warinings->warnings +waritable->writable warks->works warlking->walking warnibg->warning @@ -36722,10 +41309,14 @@ weahter->weather weahters->weathers weant->want, wean, weaponary->weaponry +weappon->weapon +weappons->weapons weas->was webage->webpage webaserver->web server, webserver, webbased->web-based +webbooks->webhooks +webhools->webhooks webiste->website wedensday->Wednesday wednesay->Wednesday @@ -36733,6 +41324,12 @@ wednesdaay->Wednesday wednesdey->Wednesday wednessday->Wednesday wednsday->Wednesday +weerd->weird +weerdly->weirdly +weev->weave +weeved->weaved, wove, +weeves->weaves +weeving->weaving wege->wedge wehere->where wehn->when @@ -36748,10 +41345,15 @@ weitght->weight wel->well well-reknown->well-renowned, well renown, well-reknowned->well-renowned, well renowned, +welp->whelp wendesday->Wednesday wendsay->Wednesday wendsday->Wednesday wensday->Wednesday +wepon->weapon +wepons->weapons +weppon->weapon +weppons->weapons were'nt->weren't wereabouts->whereabouts wereas->whereas @@ -36759,8 +41361,11 @@ weree->were werent->weren't werever->wherever wery->very, wary, weary, +wesite->website wether->weather, whether, wew->we +wezzal->weasel +wezzals->weasels whan->want, when, whant->want whants->wants @@ -36836,6 +41441,7 @@ whn->when whne->when whoes->whose whoknows->who knows +wholely->wholly wholey->wholly wholy->wholly, holy, whoms->whom, whose, @@ -36900,11 +41506,16 @@ wikpedia->wikipedia wil->will, well, wilcard->wildcard wilcards->wildcards +wildebeast->wildebeest +wildebeasts->wildebeests wilh->will wille->will willingless->willingness willk->will willl->will +wimmen->women +wimmenly->womanly +wimmens->women windo->window windoes->windows windoow->window @@ -36919,6 +41530,8 @@ winndows->windows winodw->window wipoing->wiping wirded->wired, weird, +wireframw->wireframe +wireframws->wireframes wirh->with wirtable->writable, writeable, wirte->write @@ -36929,6 +41542,18 @@ wirth->with, worth, wirting->writing wirtten->written wirtual->virtual +wiscle->whistle +wiscled->whistled +wiscles->whistles +wiscling->whistling +wisper->whisper +wispered->whispered +wispering->whispering +wispers->whispers +wissle->whistle +wissled->whistled +wissles->whistles +wissling->whistling witable->writeable witdh->width witdhs->widths @@ -36974,6 +41599,7 @@ witin->within witk->with witn->with witout->without +witrh->with witth->with wiull->will wiyh->with @@ -36983,6 +41609,7 @@ wizzard->wizard wjat->what wll->will wlll->will +wmpty->empty wnat->want, what, wnated->wanted wnating->wanting @@ -37002,22 +41629,28 @@ wolrd->world wolrdly->worldly wolrdwide->worldwide wolwide->worldwide +womans->woman's, women, womens->women's, women, won;t->won't +wonce->once, nonce, ponce, wince, wonderfull->wonderful wonderig->wondering +wonderous->wondrous +wonderously->wondrously wont't->won't woraround->workaround worarounds->workarounds worbench->workbench worbenches->workbenches worchester->Worcester +wordl->world wordlwide->worldwide wordpres->wordpress worfklow->workflow worfklows->workflows worflow->workflow worflows->workflows +worht->worth workaorund->workaround workaorunds->workarounds workaound->workaround @@ -37025,6 +41658,8 @@ workaounds->workarounds workaraound->workaround workaraounds->workarounds workarbound->workaround +workaronud->workaround +workaronuds->workarounds workaroud->workaround workaroudn->workaround workaroudns->workarounds @@ -37068,6 +41703,7 @@ workstaiton->workstation workstaitons->workstations workststion->workstation workststions->workstations +workwround->workaround worl->world world-reknown->world renown world-reknowned->world renowned @@ -37120,15 +41756,23 @@ wrapp->wrap wrappered->wrapped wrappng->wrapping wrapps->wraps +wressel->wrestle +wresseled->wrestled +wresseler->wrestler +wresselers->wrestlers +wresseling->wrestling +wressels->wrestles wresters->wrestlers wriet->write writebufer->writebuffer writechetque->writecheque +writed->wrote, written, write, writer, writeing->writing writen->written writet->writes writewr->writer writingm->writing +writte->write, written, writter->writer, written, writters->writers writtin->written, writing, @@ -37149,9 +41793,14 @@ wrokloads->workloads wroks->works wron->wrong wronf->wrong +wronly->wrongly wront->wrong wrtie->write wrting->writing +wryth->writhe +wrythed->writhed +wrythes->writhes +wrything->writhing wsee->see wser->user wth->with @@ -37175,6 +41824,7 @@ xepects->expects xgetttext->xgettext xinitiazlize->xinitialize xmdoel->xmodel +xode->code, xcode, xour->your xwindows->X xyou->you diff --git a/codespell_lib/data/dictionary_code.txt b/codespell_lib/data/dictionary_code.txt index 29ee05081a..c4edb9e9e2 100644 --- a/codespell_lib/data/dictionary_code.txt +++ b/codespell_lib/data/dictionary_code.txt @@ -14,6 +14,7 @@ copyable->copiable creat->create, crate, define'd->defined deque->dequeue +doas->does, do as, dof->of, doff, dont->don't dosclose->disclose @@ -21,17 +22,22 @@ dur->due endcode->encode errorstring->error string exitst->exits, exists, +falsy->falsely, false, files'->file's gae->game, Gael, gale, hist->heist, his, iam->I am, aim, iff->if +ifset->if set isenough->is enough ith->with jupyter->Jupiter -keyserver->key server +keypair->key pair +keypairs->key pairs lateset->latest +lite->light movei->movie +MSDOS->MS-DOS musl->must mut->must, mutt, moot, nmake->make @@ -42,6 +48,11 @@ outputof->output of, output-of, packat->packet process'->process's protecten->protection, protected, +pullrequenst->pull requests, pull request, +pullrequest->pull request +pullrequests->pull requests +pysic->physic +recomment->recommend reday->ready referer->referrer rela->real @@ -49,9 +60,13 @@ rendir->render rendirs->renders ro->to, row, rob, rod, roe, rot, seeked->sought +shouldnot->should not, shouldn't, sinc->sync, sink, since, sincs->syncs, sinks, since, snd->send, and, sound, +sockt->socket +sockts->sockets +spawnve->spawn stdio->studio stdios->studios stoll->still @@ -65,13 +80,18 @@ tarceback->traceback tarcebacks->tracebacks templace->template thead->thread +theads->threads todays->today's +tomorrows->tomorrow's udate->update, date, udates->updates, dates, uint->unit uis->is, use, +upto->up to usesd->used, uses, wan->want warmup->warm up, warm-up, were'->we're whome->whom +ws->was +yesterdays->yesterday's diff --git a/codespell_lib/data/dictionary_en-GB_to_en-US.txt b/codespell_lib/data/dictionary_en-GB_to_en-US.txt index c9e1579975..79aad073ac 100644 --- a/codespell_lib/data/dictionary_en-GB_to_en-US.txt +++ b/codespell_lib/data/dictionary_en-GB_to_en-US.txt @@ -1,5 +1,10 @@ acknowledgement->acknowledgment acknowledgements->acknowledgments +aggrandise->aggrandize +aggrandised->aggrandized +aggrandisement->aggrandizement +aggrandises->aggrandizes +aggrandising->aggrandizing amortise->amortize amortised->amortized amortises->amortizes @@ -10,6 +15,15 @@ analysed->analyzed analyser->analyzer analysers->analyzers analysing->analyzing +apologise->apologize +apologised->apologized +apologises->apologizes +apologising->apologizing +armour->armor +armoured->armored +armouring->armoring +armours->armors +armoury->armory artefact->artifact artefacts->artifacts authorisation->authorization @@ -17,7 +31,12 @@ authorise->authorize authorised->authorized authorises->authorizes authorising->authorizing +bastardise->bastardize +bastardised->bastardized +bastardises->bastardizes +bastardising->bastardizing behaviour->behavior +behavioural->behavioral behaviours->behaviors cancelled->canceled cancelling->canceling @@ -28,6 +47,9 @@ capitalises->capitalizes capitalising->capitalizing catalogue->catalog catalogues->catalogs +categorise->categorize +categorised->categorized +categorises->categorizes centimetre->centimeter centimetres->centimeters centralisation->centralization @@ -36,16 +58,21 @@ centralised->centralized centralises->centralizes centralising->centralizing centre->center +centred->centered centres->centers characterisation->characterization characterise->characterize characterised->characterized characterises->characterizes characterising->characterizing +cognisant->cognizant colour->color +colouration->coloration +coloured->colored colourful->colorful colourfully->colorfully colouring->coloring +colourless->colorless colours->colors counsellor->counselor criticise->criticize @@ -62,7 +89,14 @@ customise->customize customised->customized customises->customizes customising->customizing +decentralisation->decentralization +decentralise->decentralize +decentralised->decentralized +decentralises->decentralizes +decentralising->decentralizing defence->defense +defenceless->defenseless +defences->defenses demonise->demonize demonised->demonized demonises->demonizes @@ -73,13 +107,36 @@ digitise->digitize digitised->digitized digitises->digitizes digitising->digitizing +disfavour->disfavor +dishonour->dishonor +dishonourable->dishonorable +dishonoured->dishonored +dishonouring->dishonoring +dishonours->dishonors +economise->economize emphasise->emphasize emphasised->emphasized emphasises->emphasizes emphasising->emphasizing +enamour->enamor +enamoured->enamored +enamouring->enamoring +enamours->enamors endeavour->endeavor +endeavoured->endeavored +endeavouring->endeavoring endeavours->endeavors +equalisation->equalization +equalise->equalize +equalised->equalized +equaliser->equalizer +equalisers->equalizers +equalises->equalizes +equalising->equalizing favour->favor +favourable->favorable +favoured->favored +favouring->favoring favourite->favorite favourites->favorites favouritism->favoritism @@ -91,6 +148,11 @@ finalises->finalizes finalising->finalizing flavour->flavor flavours->flavors +formalisation->formalization +formalise->formalize +formalised->formalized +formalises->formalizes +formalising->formalizing fulfil->fulfill fulfils->fulfills generalisation->generalization @@ -100,13 +162,36 @@ generalised->generalized generalises->generalizes generalising->generalizing grey->gray +greyed->grayed +greyish->grayish +greys->grays +haemorrhage->hemorrhage +haemorrhaged->hemorrhaged +haemorrhages->hemorrhages +haemorrhaging->hemorrhaging honour->honor +honoured->honored +honouring->honoring honours->honors +humour->humor +hypothesise->hypothesize +hypothesised->hypothesized +hypothesises->hypothesizes +hypothesising->hypothesizing initialisation->initialization initialise->initialize initialised->initialized initialises->initializes initialising->initializing +internationalisation->internationalization +internationalise->internationalize +internationalised->internationalized +internationalises->internationalizes +internationalising->internationalizing +italicise->italicize +italicised->italicized +italicises->italicizes +italicising->italicizing judgement->judgment judgements->judgments kilometre->kilometer @@ -114,15 +199,31 @@ kilometres->kilometers labelled->labeled labelling->labeling labour->labor +laboured->labored +labours->labors legalisation->legalization legalise->legalize legalised->legalized legalises->legalizes legalising->legalizing +leukaemia->leukemia licence->license licences->licenses +litre->liter +litres->liters +localise->localize +localised->localized +localises->localizes +localising->localizing manoeuvre->maneuver manoeuvres->maneuvers +marshalled->marshaled +marshalling->marshaling +maximisation->maximization +maximise->maximize +maximised->maximized +maximises->maximizes +maximising->maximizing memorisation->memorization memorise->memorize memorised->memorized @@ -139,10 +240,21 @@ minimises->minimizes minimising->minimizing mitre->miter modelled->modeled +modeller->modeler +modellers->modelers modelling->modeling +modernise->modernize +modernised->modernized +modernises->modernizes +modernising->modernizing mould->mold moulds->molds nasalisation->nasalization +nationalisation->nationalization +nationalise->nationalize +nationalised->nationalized +nationalises->nationalizes +nationalising->nationalizing neighbour->neighbor neighbouring->neighboring neighbours->neighbors @@ -151,6 +263,7 @@ normalise->normalize normalised->normalized normalises->normalizes normalising->normalizing +ochre->ocher optimisation->optimization optimisations->optimizations optimise->optimize @@ -159,6 +272,7 @@ optimiser->optimizer optimises->optimizes optimising->optimizing organisation->organization +organisational->organizational organisations->organizations organise->organize organised->organized @@ -166,6 +280,15 @@ organiser->organizer organisers->organizers organises->organizes organising->organizing +pasteurisation->pasteurization +pasteurise->pasteurize +pasteurised->pasteurized +pasteurises->pasteurizes +pasteurising->pasteurizing +penalise->penalize +penalised->penalized +penalises->penalizes +penalising->penalizing plagiarise->plagiarize plagiarised->plagiarized plagiarises->plagiarizes @@ -175,6 +298,8 @@ polarised->polarized polarises->polarizes polarising->polarizing practise->practice +pretence->pretense +pretences->pretenses prioritisation->prioritization prioritise->prioritize prioritised->prioritized @@ -184,6 +309,13 @@ publicise->publicize publicised->publicized publicises->publicizes publicising->publicizing +randomise->randomize +randomised->randomized +randomises->randomizes +randomising->randomizing +rationalise->rationalize +rationalised->rationalized +rationalising->rationalizing realisation->realization realise->realize realised->realized @@ -205,16 +337,20 @@ reorganise->reorganize reorganised->reorganized reorganises->reorganizes reorganising->reorganizing +rigour->rigor sanitise->sanitize sanitised->sanitized sanitiser->sanitizer sanitises->sanitizes sanitising->sanitizing +sceptical->skeptical serialisation->serialization serialise->serialize serialised->serialized serialises->serializes serialising->serializing +signalled->signaled +signalling->signaling skilful->skillful skilfully->skillfully skilfulness->skillfulness @@ -237,18 +373,30 @@ sterilised->sterilized steriliser->sterilizer sterilises->sterilizes sterilising->sterilizing +storey->story +storeys->stories summarise->summarize summarised->summarized summarises->summarizes summarising->summarizing +symbolise->symbolize +symbolised->symbolized +symbolises->symbolizes +symbolising->symbolizing synchronisation->synchronization synchronise->synchronize synchronised->synchronized synchronises->synchronizes synchronising->synchronizing +totalled->totaled +totalling->totaling unauthorised->unauthorized +unfavourable->unfavorable +unfavourably->unfavorably unorganised->unorganized +unrecognisable->unrecognizable unrecognised->unrecognized +utilisable->utilizable utilisation->utilization utilise->utilize utilised->utilized diff --git a/codespell_lib/data/dictionary_informal.txt b/codespell_lib/data/dictionary_informal.txt index 61540f04db..2c8fe81389 100644 --- a/codespell_lib/data/dictionary_informal.txt +++ b/codespell_lib/data/dictionary_informal.txt @@ -1,5 +1,7 @@ dunno->don't know +gimme->give me gonna->going to +gotta->got to natch->match tho->though, to, thou, thru->through diff --git a/codespell_lib/data/dictionary_names.txt b/codespell_lib/data/dictionary_names.txt index f03bf668f8..0b47de2401 100644 --- a/codespell_lib/data/dictionary_names.txt +++ b/codespell_lib/data/dictionary_names.txt @@ -6,6 +6,7 @@ bae->base bridget->bridged, bridge, chang->change fike->file +forman->foreman liszt->list que->queue sargent->sergeant, argent, diff --git a/codespell_lib/data/dictionary_rare.txt b/codespell_lib/data/dictionary_rare.txt index a6311e15db..43f4ecd892 100644 --- a/codespell_lib/data/dictionary_rare.txt +++ b/codespell_lib/data/dictionary_rare.txt @@ -1,4 +1,8 @@ ablet->able, tablet, +acapella->a cappella +accreting->accrediting +acter->actor +acters->actors afterwords->afterwards amination->animation, lamination, aminations->animations, laminations, @@ -36,6 +40,8 @@ complier->compiler compliers->compilers confectionary->confectionery consequentially->consequently +convertor->converter +convertors->converters coo->coup copping->coping, copying, cropping, covert->convert @@ -46,14 +52,23 @@ crated->created creche->crèche cristal->crystal crufts->cruft +curios->curious dealign->dealing deffer->differ, defer, degrate->degrade degrates->degrades dependant->dependent derails->details +dirivative->derivative +dirivatives->derivatives +dirivitive->derivative +dirivitives->derivatives discontentment->discontent discreet->discrete +discus->discuss +discuses->discusses +empress->impress +empresses->impresses fallow->follow fallowed->followed fallowing->following @@ -67,6 +82,7 @@ forewarded->forwarded formule->formula, formulas, formules->formulas fount->found +frequence->frequency fro->for, from, froward->forward fulfilment->fulfillment @@ -75,24 +91,32 @@ girds->grids guarantied->guaranteed guerilla->guerrilla guerillas->guerrillas +habitant->inhabitant +habitants->inhabitants hart->heart, harm, heterogenous->heterogeneous hided->hidden, hid, +hims->his, hymns, hove->have, hover, love, -impassible->impassable -implicity->implicitly +impassible->impassable, impossible, +implicity->implicitly, simplicity, inactivate->deactivate incluse->include indention->indentation indite->indict infarction->infraction +ingenuous->ingenious inly->only irregardless->regardless knifes->knives +lama->llama +lamas->llamas leaded->led, lead, leas->least, lease, +lief->leaf, life, lightening->lightning, lighting, loafing->loading +loath->loathe lod->load, loud, lode, loos->loose, lose, loosing->losing @@ -106,12 +130,15 @@ medias->media, mediums, meu->menu meus->menus midwifes->midwives +mistakingly->mistakenly moil->soil, mohel, mot->not moue->mouse multistory->multistorey, multi-storey, nickle->nickel noes->nose, knows, nodes, does, +nome->gnome +ochry->ochery, ochrey, oerflow->overflow oerflowed->overflowed oerflowing->overflowing @@ -123,17 +150,21 @@ patter->pattern patters->patterns pavings->paving payed->paid +plack->plaque +placks->plaques planed->planned pleas->please predicable->predictable preform->perform preformed->performed +preforming->performing preforms->performs pres->press prioritary->priority programed->programmed programing->programming prosses->process, processes, possess, +provence->province purportive->supportive purvue->purview ques->quest @@ -160,6 +191,8 @@ simplication->simplification singe->single singed->signed, singled, sang, sung, slippy->slippery +soring->sorting +spacial->special, spatial, specif->specify, specific, statics->statistics steams->streams @@ -168,13 +201,14 @@ stings->strings straightaway->straight away straighted->straightened, straighten, suppressable->suppressible +texturers->textures therefor->therefore therefrom->there from theses->these, thesis, thur->their tittle->title tittles->title -toke->took +toke->token, took, tread->thread, treat, trough->through unknow->unknown @@ -183,6 +217,8 @@ unsecure->insecure untypically->atypically vertexes->vertices vie->via +vinal->vinyl +vinals->vinyls vise->vice want's->wants wee->we diff --git a/codespell_lib/data/dictionary_usage.txt b/codespell_lib/data/dictionary_usage.txt index 9cd13a25fe..77018c4eb5 100644 --- a/codespell_lib/data/dictionary_usage.txt +++ b/codespell_lib/data/dictionary_usage.txt @@ -1,9 +1,26 @@ +black-hat->malicious actor, attacker, +blackhat->malicious actor, attacker, blacklist->blocklist blacklists->blocklists blueish->bluish -man-in-the-middle->on-path attacker +cripples->slows down, hinders, obstructs, +crippling->attenuating, incapacitating, +dummy-value->placeholder value +girlfriend-test->user test, acceptance test, validation test, ease-of-use test, friendliness test, useability test, +man-hour->staff hour, volunteer hour, hour of effort, person-hour, +man-hours->staff hours, volunteer hours, hours of effort, person-hours, +man-in-the-middle->on-path attacker, adversary-in-the-middle, interceptor, intermediary, machine-in-the-middle, person-in-the-middle, +manned->crewed, staffed, monitored, human operated, master->primary, leader, active, writer, coordinator, parent, manager, main, masters->primaries, leaders, actives, writers, coordinators, parents, managers, +middleman->intermediary, broker, +mom-test->user test, acceptance test, validation test, ease-of-use test, friendliness test, useability test, +sanity-check->test, verification, +sanity-checks->tests, verifications, +sanity-test->test, verification, +sanity-tests->tests, verifications, +segregation->separation, segmentation, +segregations->separations, segmentations, slave->secondary, follower, standby, replica, reader, worker, helper, subordinate, subsystem, slaves->secondaries, followers, standbys, replicas, readers, workers, helpers, subordinates, whitelist->allowlist, permitlist, diff --git a/codespell_lib/py.typed b/codespell_lib/py.typed new file mode 100644 index 0000000000..e69de29bb2 diff --git a/codespell_lib/tests/test_basic.py b/codespell_lib/tests/test_basic.py index 49f81ce696..7a36369bf9 100644 --- a/codespell_lib/tests/test_basic.py +++ b/codespell_lib/tests/test_basic.py @@ -1,41 +1,52 @@ -# -*- coding: utf-8 -*- - import contextlib import inspect import os import os.path as op import re -from shutil import copyfile import subprocess import sys +from io import StringIO +from pathlib import Path +from shutil import copyfile +from typing import Any, Generator, Optional, Tuple, Union import pytest import codespell_lib as cs_ -from codespell_lib._codespell import uri_regex_def, EX_USAGE, EX_OK, EX_DATAERR +from codespell_lib._codespell import EX_DATAERR, EX_OK, EX_USAGE, uri_regex_def -def test_constants(): +def test_constants() -> None: """Test our EX constants.""" assert EX_OK == 0 assert EX_USAGE == 64 assert EX_DATAERR == 65 -class MainWrapper(object): +class MainWrapper: """Compatibility wrapper for when we used to return the count.""" - def main(self, *args, count=True, std=False, **kwargs): + @staticmethod + def main( + *args: Any, + count: bool = True, + std: bool = False, + ) -> Union[int, Tuple[int, str, str]]: + args = tuple(str(arg) for arg in args) if count: - args = ('--count',) + args - code = cs_.main(*args, **kwargs) - capsys = inspect.currentframe().f_back.f_locals['capsys'] + args = ("--count",) + args + code = cs_.main(*args) + frame = inspect.currentframe() + assert frame is not None + frame = frame.f_back + assert frame is not None + capsys = frame.f_locals["capsys"] stdout, stderr = capsys.readouterr() assert code in (EX_OK, EX_USAGE, EX_DATAERR) if code == EX_DATAERR: # have some misspellings - code = int(stderr.split('\n')[-2]) + code = int(stderr.split("\n")[-2]) elif code == EX_OK and count: - code = int(stderr.split('\n')[-2]) + code = int(stderr.split("\n")[-2]) assert code == 0 if std: return (code, stdout, stderr) @@ -46,754 +57,896 @@ def main(self, *args, count=True, std=False, **kwargs): cs = MainWrapper() -def run_codespell(args=(), cwd=None): +def run_codespell( + args: Tuple[Any, ...] = (), + cwd: Optional[Path] = None, +) -> int: """Run codespell.""" - args = ('--count',) + args - proc = subprocess.Popen( - ['codespell'] + list(args), cwd=cwd, - stdout=subprocess.PIPE, stderr=subprocess.PIPE) - stderr = proc.communicate()[1].decode('utf-8') - count = int(stderr.split('\n')[-2]) + args = tuple(str(arg) for arg in args) + proc = subprocess.run( + ["codespell", "--count", *args], cwd=cwd, capture_output=True, encoding="utf-8" + ) + count = int(proc.stderr.split("\n")[-2]) return count -def test_command(tmpdir): +def test_command(tmp_path: Path) -> None: """Test running the codespell executable.""" # With no arguments does "." - d = str(tmpdir) - assert run_codespell(cwd=d) == 0 - with open(op.join(d, 'bad.txt'), 'w') as f: - f.write('abandonned\nAbandonned\nABANDONNED\nAbAnDoNnEd') - assert run_codespell(cwd=d) == 4 + assert run_codespell(cwd=tmp_path) == 0 + (tmp_path / "bad.txt").write_text("abandonned\nAbandonned\nABANDONNED\nAbAnDoNnEd") + assert run_codespell(cwd=tmp_path) == 4 -def test_basic(tmpdir, capsys): +def test_basic( + tmp_path: Path, + capsys: pytest.CaptureFixture[str], +) -> None: """Test some basic functionality.""" - assert cs.main('_does_not_exist_') == 0 - fname = op.join(str(tmpdir), 'tmp') - with open(fname, 'w') as f: - pass - code, _, stderr = cs.main('-D', 'foo', f.name, std=True) - assert code == EX_USAGE, 'missing dictionary' - assert 'cannot find dictionary' in stderr - assert cs.main(fname) == 0, 'empty file' - with open(fname, 'a') as f: - f.write('this is a test file\n') - assert cs.main(fname) == 0, 'good' - with open(fname, 'a') as f: - f.write('abandonned\n') - assert cs.main(fname) == 1, 'bad' - with open(fname, 'a') as f: - f.write('abandonned\n') - assert cs.main(fname) == 2, 'worse' - with open(fname, 'a') as f: - f.write('tim\ngonna\n') - assert cs.main(fname) == 2, 'with a name' - assert cs.main('--builtin', 'clear,rare,names,informal', fname) == 4 - code, _, stderr = cs.main(fname, '--builtin', 'foo', std=True) + assert cs.main("_does_not_exist_") == 0 + fname = tmp_path / "tmp" + fname.touch() + result = cs.main("-D", "foo", fname, std=True) + assert isinstance(result, tuple) + code, _, stderr = result + assert code == EX_USAGE, "missing dictionary" + assert "cannot find dictionary" in stderr + assert cs.main(fname) == 0, "empty file" + with fname.open("a") as f: + f.write("this is a test file\n") + assert cs.main(fname) == 0, "good" + with fname.open("a") as f: + f.write("abandonned\n") + assert cs.main(fname) == 1, "bad" + with fname.open("a") as f: + f.write("abandonned\n") + assert cs.main(fname) == 2, "worse" + with fname.open("a") as f: + f.write("tim\ngonna\n") + assert cs.main(fname) == 2, "with a name" + assert cs.main("--builtin", "clear,rare,names,informal", fname) == 4 + result = cs.main(fname, "--builtin", "foo", std=True) + assert isinstance(result, tuple) + code, _, stderr = result assert code == EX_USAGE # bad type - assert 'Unknown builtin dictionary' in stderr - d = str(tmpdir) - code, _, stderr = cs.main(fname, '-D', op.join(d, 'foo'), std=True) + assert "Unknown builtin dictionary" in stderr + result = cs.main(fname, "-D", tmp_path / "foo", std=True) + assert isinstance(result, tuple) + code, _, stderr = result assert code == EX_USAGE # bad dict - assert 'cannot find dictionary' in stderr - os.remove(fname) - - with open(op.join(d, 'bad.txt'), 'w', newline='') as f: - f.write('abandonned\nAbandonned\nABANDONNED\nAbAnDoNnEd\nabandonned\rAbandonned\r\nABANDONNED \n AbAnDoNnEd') # noqa: E501 - assert cs.main(d) == 8 - code, _, stderr = cs.main('-w', d, std=True) + assert "cannot find dictionary" in stderr + fname.unlink() + + with (tmp_path / "bad.txt").open("w", newline="") as f: + f.write( + "abandonned\nAbandonned\nABANDONNED\nAbAnDoNnEd\nabandonned\rAbandonned\r\nABANDONNED \n AbAnDoNnEd" # noqa: E501 + ) + assert cs.main(tmp_path) == 8 + result = cs.main("-w", tmp_path, std=True) + assert isinstance(result, tuple) + code, _, stderr = result assert code == 0 - assert 'FIXED:' in stderr - with open(op.join(d, 'bad.txt'), newline='') as f: + assert "FIXED:" in stderr + with (tmp_path / "bad.txt").open(newline="") as f: new_content = f.read() - assert cs.main(d) == 0 - assert new_content == 'abandoned\nAbandoned\nABANDONED\nabandoned\nabandoned\rAbandoned\r\nABANDONED \n abandoned' # noqa: E501 - - with open(op.join(d, 'bad.txt'), 'w') as f: - f.write('abandonned abandonned\n') - assert cs.main(d) == 2 - code, stdout, stderr = cs.main( - '-q', '16', '-w', d, count=False, std=True) + assert cs.main(tmp_path) == 0 + assert ( + new_content + == "abandoned\nAbandoned\nABANDONED\nabandoned\nabandoned\rAbandoned\r\nABANDONED \n abandoned" # noqa: E501 + ) + + (tmp_path / "bad.txt").write_text("abandonned abandonned\n") + assert cs.main(tmp_path) == 2 + result = cs.main("-q", "16", "-w", tmp_path, count=False, std=True) + assert isinstance(result, tuple) + code, stdout, stderr = result assert code == 0 - assert stdout == stderr == '' - assert cs.main(d) == 0 + assert stdout == stderr == "" + assert cs.main(tmp_path) == 0 # empty directory - os.mkdir(op.join(d, 'test')) - assert cs.main(d) == 0 - - -def test_interactivity(tmpdir, capsys): + (tmp_path / "empty").mkdir() + assert cs.main(tmp_path) == 0 + + +def test_bad_glob( + tmp_path: Path, + capsys: pytest.CaptureFixture[str], +) -> None: + # disregard invalid globs, properly handle escaped globs + g = tmp_path / "glob" + g.mkdir() + fname = g / "[b-a].txt" + fname.write_text("abandonned\n") + assert cs.main(g) == 1 + # bad glob is invalid + result = cs.main("--skip", "[b-a].txt", g, std=True) + assert isinstance(result, tuple) + code, _, stderr = result + if sys.hexversion < 0x030A05F0: # Python < 3.10.5 raises re.error + assert code == EX_USAGE, "invalid glob" + assert "invalid glob" in stderr + else: # Python >= 3.10.5 does not match + assert code == 1 + # properly escaped glob is valid, and matches glob-like file name + assert cs.main("--skip", "[[]b-a[]].txt", g) == 0 + + +@pytest.mark.skipif(not sys.platform == "linux", reason="Only supported on Linux") +def test_permission_error( + tmp_path: Path, + capsys: pytest.CaptureFixture[str], +) -> None: + """Test permission error handling.""" + fname = tmp_path / "unreadable.txt" + fname.write_text("abandonned\n") + result = cs.main(fname, std=True) + assert isinstance(result, tuple) + code, _, stderr = result + assert "WARNING:" not in stderr + fname.chmod(0o000) + result = cs.main(fname, std=True) + assert isinstance(result, tuple) + code, _, stderr = result + assert "WARNING:" in stderr + + +def test_interactivity( + tmp_path: Path, + capsys: pytest.CaptureFixture[str], +) -> None: """Test interaction""" # Windows can't read a currently-opened file, so here we use # NamedTemporaryFile just to get a good name - with open(op.join(str(tmpdir), 'tmp'), 'w') as f: - pass + fname = tmp_path / "tmp" + fname.touch() try: - assert cs.main(f.name) == 0, 'empty file' - with open(f.name, 'w') as f: - f.write('abandonned\n') - assert cs.main('-i', '-1', f.name) == 1, 'bad' - with FakeStdin('y\n'): - assert cs.main('-i', '3', f.name) == 1 - with FakeStdin('n\n'): - code, stdout, _ = cs.main('-w', '-i', '3', f.name, std=True) + assert cs.main(fname) == 0, "empty file" + fname.write_text("abandonned\n") + assert cs.main("-i", "-1", fname) == 1, "bad" + with FakeStdin("y\n"): + assert cs.main("-i", "3", fname) == 1 + with FakeStdin("n\n"): + result = cs.main("-w", "-i", "3", fname, std=True) + assert isinstance(result, tuple) + code, stdout, _ = result assert code == 0 - assert '==>' in stdout - with FakeStdin('x\ny\n'): - assert cs.main('-w', '-i', '3', f.name) == 0 - assert cs.main(f.name) == 0 + assert "==>" in stdout + with FakeStdin("x\ny\n"): + assert cs.main("-w", "-i", "3", fname) == 0 + assert cs.main(fname) == 0 finally: - os.remove(f.name) + fname.unlink() # New example - with open(op.join(str(tmpdir), 'tmp2'), 'w') as f: - pass + fname = tmp_path / "tmp2" + fname.write_text("abandonned\n") try: - with open(f.name, 'w') as f: - f.write('abandonned\n') - assert cs.main(f.name) == 1 - with FakeStdin(' '): # blank input -> Y - assert cs.main('-w', '-i', '3', f.name) == 0 - assert cs.main(f.name) == 0 + assert cs.main(fname) == 1 + with FakeStdin(" "): # blank input -> Y + assert cs.main("-w", "-i", "3", fname) == 0 + assert cs.main(fname) == 0 finally: - os.remove(f.name) + fname.unlink() # multiple options - with open(op.join(str(tmpdir), 'tmp3'), 'w') as f: - pass + fname = tmp_path / "tmp3" + fname.write_text("ackward\n") try: - with open(f.name, 'w') as f: - f.write('ackward\n') - - assert cs.main(f.name) == 1 - with FakeStdin(' \n'): # blank input -> nothing - assert cs.main('-w', '-i', '3', f.name) == 0 - assert cs.main(f.name) == 1 - with FakeStdin('0\n'): # blank input -> nothing - assert cs.main('-w', '-i', '3', f.name) == 0 - assert cs.main(f.name) == 0 - with open(f.name, 'r') as f_read: - assert f_read.read() == 'awkward\n' - with open(f.name, 'w') as f: - f.write('ackward\n') - assert cs.main(f.name) == 1 - with FakeStdin('x\n1\n'): # blank input -> nothing - code, stdout, _ = cs.main('-w', '-i', '3', f.name, std=True) + assert cs.main(fname) == 1 + with FakeStdin(" \n"): # blank input -> nothing + assert cs.main("-w", "-i", "3", fname) == 0 + assert cs.main(fname) == 1 + with FakeStdin("0\n"): # blank input -> nothing + assert cs.main("-w", "-i", "3", fname) == 0 + assert cs.main(fname) == 0 + assert fname.read_text() == "awkward\n" + fname.write_text("ackward\n") + assert cs.main(fname) == 1 + with FakeStdin("x\n1\n"): # blank input -> nothing + result = cs.main("-w", "-i", "3", fname, std=True) + assert isinstance(result, tuple) + code, stdout, _ = result assert code == 0 - assert 'a valid option' in stdout - assert cs.main(f.name) == 0 - with open(f.name, 'r') as f: - assert f.read() == 'backward\n' + assert "a valid option" in stdout + assert cs.main(fname) == 0 + assert fname.read_text() == "backward\n" finally: - os.remove(f.name) + fname.unlink() -def test_summary(tmpdir, capsys): +def test_summary( + tmp_path: Path, + capsys: pytest.CaptureFixture[str], +) -> None: """Test summary functionality.""" - with open(op.join(str(tmpdir), 'tmp'), 'w') as f: - pass - code, stdout, stderr = cs.main(f.name, std=True, count=False) + fname = tmp_path / "tmp" + fname.touch() + result = cs.main(fname, std=True, count=False) + assert isinstance(result, tuple) + code, stdout, stderr = result assert code == 0 - assert stdout == stderr == '', 'no output' - code, stdout, stderr = cs.main(f.name, '--summary', std=True) + assert stdout == stderr == "", "no output" + result = cs.main(fname, "--summary", std=True) + assert isinstance(result, tuple) + code, stdout, stderr = result assert code == 0 - assert stderr == '0\n' - assert 'SUMMARY' in stdout - assert len(stdout.split('\n')) == 5 - with open(f.name, 'w') as f: - f.write('abandonned\nabandonned') + assert stderr == "0\n" + assert "SUMMARY" in stdout + assert len(stdout.split("\n")) == 5 + fname.write_text("abandonned\nabandonned") assert code == 0 - code, stdout, stderr = cs.main(f.name, '--summary', std=True) - assert stderr == '2\n' - assert 'SUMMARY' in stdout - assert len(stdout.split('\n')) == 7 - assert 'abandonned' in stdout.split()[-2] - - -def test_ignore_dictionary(tmpdir, capsys): + result = cs.main(fname, "--summary", std=True) + assert isinstance(result, tuple) + code, stdout, stderr = result + assert stderr == "2\n" + assert "SUMMARY" in stdout + assert len(stdout.split("\n")) == 7 + assert "abandonned" in stdout.split()[-2] + + +def test_ignore_dictionary( + tmp_path: Path, + capsys: pytest.CaptureFixture[str], +) -> None: """Test ignore dictionary functionality.""" - d = str(tmpdir) - with open(op.join(d, 'bad.txt'), 'w') as f: - f.write('1 abandonned 1\n2 abandonned 2\nabondon\n') - bad_name = f.name + bad_name = tmp_path / "bad.txt" + bad_name.write_text("1 abandonned 1\n2 abandonned 2\nabondon\n") assert cs.main(bad_name) == 3 - with open(op.join(d, 'ignore.txt'), 'w') as f: - f.write('abandonned\n') - assert cs.main('-I', f.name, bad_name) == 1 + fname = tmp_path / "ignore.txt" + fname.write_text("abandonned\n") + assert cs.main("-I", fname, bad_name) == 1 -def test_ignore_word_list(tmpdir, capsys): +def test_ignore_word_list( + tmp_path: Path, + capsys: pytest.CaptureFixture[str], +) -> None: """Test ignore word list functionality.""" - d = str(tmpdir) - with open(op.join(d, 'bad.txt'), 'w') as f: - f.write('abandonned\nabondon\nabilty\n') - assert cs.main(d) == 3 - assert cs.main('-Labandonned,someword', '-Labilty', d) == 1 + (tmp_path / "bad.txt").write_text("abandonned\nabondon\nabilty\n") + assert cs.main(tmp_path) == 3 + assert cs.main("-Labandonned,someword", "-Labilty", tmp_path) == 1 -def test_custom_regex(tmpdir, capsys): +def test_custom_regex( + tmp_path: Path, + capsys: pytest.CaptureFixture[str], +) -> None: """Test custom word regex.""" - d = str(tmpdir) - with open(op.join(d, 'bad.txt'), 'w') as f: - f.write('abandonned_abondon\n') - assert cs.main(d) == 0 - assert cs.main('-r', "[a-z]+", d) == 2 - code, _, stderr = cs.main('-r', '[a-z]+', '--write-changes', d, std=True) + (tmp_path / "bad.txt").write_text("abandonned_abondon\n") + assert cs.main(tmp_path) == 0 + assert cs.main("-r", "[a-z]+", tmp_path) == 2 + result = cs.main("-r", "[a-z]+", "--write-changes", tmp_path, std=True) + assert isinstance(result, tuple) + code, _, stderr = result assert code == EX_USAGE - assert 'ERROR:' in stderr + assert "ERROR:" in stderr -def test_exclude_file(tmpdir, capsys): +def test_exclude_file( + tmp_path: Path, + capsys: pytest.CaptureFixture[str], +) -> None: """Test exclude file functionality.""" - d = str(tmpdir) - with open(op.join(d, 'bad.txt'), 'wb') as f: - f.write('1 abandonned 1\n2 abandonned 2\n'.encode('utf-8')) - bad_name = f.name + bad_name = tmp_path / "bad.txt" + bad_name.write_bytes(b"1 abandonned 1\n2 abandonned 2\n") assert cs.main(bad_name) == 2 - with open(op.join(d, 'tmp.txt'), 'wb') as f: - f.write('1 abandonned 1\n'.encode('utf-8')) + fname = tmp_path / "tmp.txt" + fname.write_bytes(b"1 abandonned 1\n") assert cs.main(bad_name) == 2 - assert cs.main('-x', f.name, bad_name) == 1 + assert cs.main("-x", fname, bad_name) == 1 -def test_encoding(tmpdir, capsys): +def test_encoding( + tmp_path: Path, + capsys: pytest.CaptureFixture[str], +) -> None: """Test encoding handling.""" # Some simple Unicode things - with open(op.join(str(tmpdir), 'tmp'), 'w') as f: - pass + fname = tmp_path / "tmp" + fname.touch() # with CaptureStdout() as sio: - assert cs.main(f.name) == 0 - with open(f.name, 'wb') as f: - f.write(u'naïve\n'.encode('utf-8')) - assert cs.main(f.name) == 0 - assert cs.main('-e', f.name) == 0 - with open(f.name, 'ab') as f: - f.write(u'naieve\n'.encode('utf-8')) - assert cs.main(f.name) == 1 + assert cs.main(fname) == 0 + fname.write_bytes("naïve\n".encode()) + assert cs.main(fname) == 0 + assert cs.main("-e", fname) == 0 + with fname.open("ab") as f: + f.write(b"naieve\n") + assert cs.main(fname) == 1 # Encoding detection (only try ISO 8859-1 because UTF-8 is the default) - with open(f.name, 'wb') as f: - f.write(b'Speling error, non-ASCII: h\xe9t\xe9rog\xe9n\xe9it\xe9\n') + fname.write_bytes(b"Speling error, non-ASCII: h\xe9t\xe9rog\xe9n\xe9it\xe9\n") # check warnings about wrong encoding are enabled with "-q 0" - code, stdout, stderr = cs.main('-q', '0', f.name, std=True, count=True) + result = cs.main("-q", "0", fname, std=True, count=True) + assert isinstance(result, tuple) + code, stdout, stderr = result assert code == 1 - assert 'Speling' in stdout - assert 'iso-8859-1' in stderr + assert "Speling" in stdout + assert "iso-8859-1" in stderr # check warnings about wrong encoding are disabled with "-q 1" - code, stdout, stderr = cs.main('-q', '1', f.name, std=True, count=True) + result = cs.main("-q", "1", fname, std=True, count=True) + assert isinstance(result, tuple) + code, stdout, stderr = result assert code == 1 - assert 'Speling' in stdout - assert 'iso-8859-1' not in stderr + assert "Speling" in stdout + assert "iso-8859-1" not in stderr # Binary file warning - with open(f.name, 'wb') as f: - f.write(b'\x00\x00naiive\x00\x00') - code, stdout, stderr = cs.main(f.name, std=True, count=False) + fname.write_bytes(b"\x00\x00naiive\x00\x00") + result = cs.main(fname, std=True, count=False) + assert isinstance(result, tuple) + code, stdout, stderr = result assert code == 0 - assert stdout == stderr == '' - code, stdout, stderr = cs.main('-q', '0', f.name, std=True, count=False) + assert stdout == stderr == "" + result = cs.main("-q", "0", fname, std=True, count=False) + assert isinstance(result, tuple) + code, stdout, stderr = result assert code == 0 - assert stdout == '' - assert 'WARNING: Binary file' in stderr + assert stdout == "" + assert "WARNING: Binary file" in stderr -def test_ignore(tmpdir, capsys): +def test_ignore( + tmp_path: Path, + capsys: pytest.CaptureFixture[str], +) -> None: """Test ignoring of files and directories.""" - d = str(tmpdir) - goodtxt = op.join(d, 'good.txt') - with open(goodtxt, 'w') as f: - f.write('this file is okay') - assert cs.main(d) == 0 - badtxt = op.join(d, 'bad.txt') - with open(badtxt, 'w') as f: - f.write('abandonned') - assert cs.main(d) == 1 - assert cs.main('--skip=bad*', d) == 0 - assert cs.main('--skip=bad.txt', d) == 0 - subdir = op.join(d, 'ignoredir') - os.mkdir(subdir) - with open(op.join(subdir, 'bad.txt'), 'w') as f: - f.write('abandonned') - assert cs.main(d) == 2 - assert cs.main('--skip=bad*', d) == 0 - assert cs.main('--skip=*ignoredir*', d) == 1 - assert cs.main('--skip=ignoredir', d) == 1 - assert cs.main('--skip=*ignoredir/bad*', d) == 1 - badjs = op.join(d, 'bad.js') + goodtxt = tmp_path / "good.txt" + goodtxt.write_text("this file is okay") + assert cs.main(tmp_path) == 0 + badtxt = tmp_path / "bad.txt" + badtxt.write_text("abandonned") + assert cs.main(tmp_path) == 1 + assert cs.main("--skip=bad*", tmp_path) == 0 + assert cs.main("--skip=bad.txt", tmp_path) == 0 + subdir = tmp_path / "ignoredir" + subdir.mkdir() + (subdir / "bad.txt").write_text("abandonned") + assert cs.main(tmp_path) == 2 + assert cs.main("--skip=bad*", tmp_path) == 0 + assert cs.main("--skip=*ignoredir*", tmp_path) == 1 + assert cs.main("--skip=ignoredir", tmp_path) == 1 + assert cs.main("--skip=*ignoredir/bad*", tmp_path) == 1 + badjs = tmp_path / "bad.js" copyfile(badtxt, badjs) - assert cs.main('--skip=*.js', goodtxt, badtxt, badjs) == 1 + assert cs.main("--skip=*.js", goodtxt, badtxt, badjs) == 1 -def test_check_filename(tmpdir, capsys): +def test_check_filename( + tmp_path: Path, + capsys: pytest.CaptureFixture[str], +) -> None: """Test filename check.""" - d = str(tmpdir) + fname = tmp_path / "abandonned.txt" # Empty file - with open(op.join(d, 'abandonned.txt'), 'w') as f: - f.write('') - assert cs.main('-f', d) == 1 + fname.touch() + assert cs.main("-f", tmp_path) == 1 # Normal file with contents - with open(op.join(d, 'abandonned.txt'), 'w') as f: - f.write('.') - assert cs.main('-f', d) == 1 + fname.write_text(".") + assert cs.main("-f", tmp_path) == 1 # Normal file with binary contents - with open(op.join(d, 'abandonned.txt'), 'wb') as f: - f.write(b'\x00\x00naiive\x00\x00') - assert cs.main('-f', d) == 1 + fname.write_bytes(b"\x00\x00naiive\x00\x00") + assert cs.main("-f", tmp_path) == 1 -@pytest.mark.skipif((not hasattr(os, "mkfifo") or not callable(os.mkfifo)), - reason='requires os.mkfifo') -def test_check_filename_irregular_file(tmpdir, capsys): +@pytest.mark.skipif( + (not hasattr(os, "mkfifo") or not callable(os.mkfifo)), reason="requires os.mkfifo" +) +def test_check_filename_irregular_file( + tmp_path: Path, + capsys: pytest.CaptureFixture[str], +) -> None: """Test irregular file filename check.""" # Irregular file (!isfile()) - d = str(tmpdir) - os.mkfifo(op.join(d, 'abandonned')) - assert cs.main('-f', d) == 1 - d = str(tmpdir) + os.mkfifo(tmp_path / "abandonned") + assert cs.main("-f", tmp_path) == 1 -def test_check_hidden(tmpdir, capsys): +def test_check_hidden( + tmp_path: Path, + capsys: pytest.CaptureFixture[str], +) -> None: """Test ignoring of hidden files.""" - d = str(tmpdir) + fname = tmp_path / "test.txt" # visible file - with open(op.join(d, 'test.txt'), 'w') as f: - f.write('abandonned\n') - assert cs.main(op.join(d, 'test.txt')) == 1 - assert cs.main(d) == 1 + fname.write_text("abandonned\n") + assert cs.main(fname) == 1 + assert cs.main(tmp_path) == 1 # hidden file - os.rename(op.join(d, 'test.txt'), op.join(d, '.test.txt')) - assert cs.main(op.join(d, '.test.txt')) == 0 - assert cs.main(d) == 0 - assert cs.main('--check-hidden', op.join(d, '.test.txt')) == 1 - assert cs.main('--check-hidden', d) == 1 + hidden_file = tmp_path / ".test.txt" + fname.rename(hidden_file) + assert cs.main(hidden_file) == 0 + assert cs.main(tmp_path) == 0 + assert cs.main("--check-hidden", hidden_file) == 1 + assert cs.main("--check-hidden", tmp_path) == 1 # hidden file with typo in name - os.rename(op.join(d, '.test.txt'), op.join(d, '.abandonned.txt')) - assert cs.main(op.join(d, '.abandonned.txt')) == 0 - assert cs.main(d) == 0 - assert cs.main('--check-hidden', op.join(d, '.abandonned.txt')) == 1 - assert cs.main('--check-hidden', d) == 1 - assert cs.main('--check-hidden', '--check-filenames', - op.join(d, '.abandonned.txt')) == 2 - assert cs.main('--check-hidden', '--check-filenames', d) == 2 + typo_file = tmp_path / ".abandonned.txt" + hidden_file.rename(typo_file) + assert cs.main(typo_file) == 0 + assert cs.main(tmp_path) == 0 + assert cs.main("--check-hidden", typo_file) == 1 + assert cs.main("--check-hidden", tmp_path) == 1 + assert cs.main("--check-hidden", "--check-filenames", typo_file) == 2 + assert cs.main("--check-hidden", "--check-filenames", tmp_path) == 2 # hidden directory - assert cs.main(d) == 0 - assert cs.main('--check-hidden', d) == 1 - assert cs.main('--check-hidden', '--check-filenames', d) == 2 - os.mkdir(op.join(d, '.abandonned')) - copyfile(op.join(d, '.abandonned.txt'), - op.join(d, '.abandonned', 'abandonned.txt')) - assert cs.main(d) == 0 - assert cs.main('--check-hidden', d) == 2 - assert cs.main('--check-hidden', '--check-filenames', d) == 5 - - -def test_case_handling(tmpdir, capsys): + assert cs.main(tmp_path) == 0 + assert cs.main("--check-hidden", tmp_path) == 1 + assert cs.main("--check-hidden", "--check-filenames", tmp_path) == 2 + hidden_dir = tmp_path / ".abandonned" + hidden_dir.mkdir() + copyfile(typo_file, hidden_dir / typo_file.name) + assert cs.main(tmp_path) == 0 + assert cs.main("--check-hidden", tmp_path) == 2 + assert cs.main("--check-hidden", "--check-filenames", tmp_path) == 5 + # check again with a relative path + try: + rel = op.relpath(tmp_path) + except ValueError: + # Windows: path is on mount 'C:', start on mount 'D:' + pass + else: + assert cs.main(rel) == 0 + assert cs.main("--check-hidden", rel) == 2 + assert cs.main("--check-hidden", "--check-filenames", rel) == 5 + # hidden subdirectory + assert cs.main(tmp_path) == 0 + assert cs.main("--check-hidden", tmp_path) == 2 + assert cs.main("--check-hidden", "--check-filenames", tmp_path) == 5 + subdir = tmp_path / "subdir" + subdir.mkdir() + hidden_subdir = subdir / ".abandonned" + hidden_subdir.mkdir() + copyfile(typo_file, hidden_subdir / typo_file.name) + assert cs.main(tmp_path) == 0 + assert cs.main("--check-hidden", tmp_path) == 3 + assert cs.main("--check-hidden", "--check-filenames", tmp_path) == 8 + + +def test_case_handling( + tmp_path: Path, + capsys: pytest.CaptureFixture[str], +) -> None: """Test that capitalized entries get detected properly.""" # Some simple Unicode things - with open(op.join(str(tmpdir), 'tmp'), 'w') as f: - pass + fname = tmp_path / "tmp" + fname.touch() # with CaptureStdout() as sio: - assert cs.main(f.name) == 0 - with open(f.name, 'wb') as f: - f.write('this has an ACII error'.encode('utf-8')) - code, stdout, _ = cs.main(f.name, std=True) + assert cs.main(fname) == 0 + fname.write_bytes(b"this has an ACII error") + result = cs.main(fname, std=True) + assert isinstance(result, tuple) + code, stdout, _ = result assert code == 1 - assert 'ASCII' in stdout - code, _, stderr = cs.main('-w', f.name, std=True) + assert "ASCII" in stdout + result = cs.main("-w", fname, std=True) + assert isinstance(result, tuple) + code, _, stderr = result assert code == 0 - assert 'FIXED' in stderr - with open(f.name, 'rb') as f: - assert f.read().decode('utf-8') == 'this has an ASCII error' + assert "FIXED" in stderr + assert fname.read_text(encoding="utf-8") == "this has an ASCII error" -def _helper_test_case_handling_in_fixes(tmpdir, capsys, reason): - d = str(tmpdir) - - with open(op.join(d, 'dictionary.txt'), 'w') as f: - if reason: - f.write('adoptor->adopter, adaptor, reason\n') - else: - f.write('adoptor->adopter, adaptor,\n') - dictionary_name = f.name +def _helper_test_case_handling_in_fixes( + tmp_path: Path, + capsys: pytest.CaptureFixture[str], + reason: bool, +) -> None: + dictionary_name = tmp_path / "dictionary.txt" + if reason: + dictionary_name.write_text("adoptor->adopter, adaptor, reason\n") + else: + dictionary_name.write_text("adoptor->adopter, adaptor,\n") # the mispelled word is entirely lowercase - with open(op.join(d, 'bad.txt'), 'w') as f: - f.write('early adoptor\n') - code, stdout, _ = cs.main('-D', dictionary_name, f.name, std=True) + fname = tmp_path / "bad.txt" + fname.write_text("early adoptor\n") + result = cs.main("-D", dictionary_name, fname, std=True) + assert isinstance(result, tuple) + code, stdout, _ = result # all suggested fixes must be lowercase too - assert 'adopter, adaptor' in stdout + assert "adopter, adaptor" in stdout # the reason, if any, must not be modified if reason: - assert 'reason' in stdout + assert "reason" in stdout # the mispelled word is capitalized - with open(op.join(d, 'bad.txt'), 'w') as f: - f.write('Early Adoptor\n') - code, stdout, _ = cs.main('-D', dictionary_name, f.name, std=True) + fname.write_text("Early Adoptor\n") + result = cs.main("-D", dictionary_name, fname, std=True) + assert isinstance(result, tuple) + code, stdout, _ = result # all suggested fixes must be capitalized too - assert 'Adopter, Adaptor' in stdout + assert "Adopter, Adaptor" in stdout # the reason, if any, must not be modified if reason: - assert 'reason' in stdout + assert "reason" in stdout # the mispelled word is entirely uppercase - with open(op.join(d, 'bad.txt'), 'w') as f: - f.write('EARLY ADOPTOR\n') - code, stdout, _ = cs.main('-D', dictionary_name, f.name, std=True) + fname.write_text("EARLY ADOPTOR\n") + result = cs.main("-D", dictionary_name, fname, std=True) + assert isinstance(result, tuple) + code, stdout, _ = result # all suggested fixes must be uppercase too - assert 'ADOPTER, ADAPTOR' in stdout + assert "ADOPTER, ADAPTOR" in stdout # the reason, if any, must not be modified if reason: - assert 'reason' in stdout + assert "reason" in stdout # the mispelled word mixes lowercase and uppercase - with open(op.join(d, 'bad.txt'), 'w') as f: - f.write('EaRlY AdOpToR\n') - code, stdout, _ = cs.main('-D', dictionary_name, f.name, std=True) + fname.write_text("EaRlY AdOpToR\n") + result = cs.main("-D", dictionary_name, fname, std=True) + assert isinstance(result, tuple) + code, stdout, _ = result # all suggested fixes should be lowercase - assert 'adopter, adaptor' in stdout + assert "adopter, adaptor" in stdout # the reason, if any, must not be modified if reason: - assert 'reason' in stdout + assert "reason" in stdout -def test_case_handling_in_fixes(tmpdir, capsys): +def test_case_handling_in_fixes( + tmp_path: Path, capsys: pytest.CaptureFixture[str] +) -> None: """Test that the case of fixes is similar to the mispelled word.""" - _helper_test_case_handling_in_fixes(tmpdir, capsys, reason=False) - _helper_test_case_handling_in_fixes(tmpdir, capsys, reason=True) + _helper_test_case_handling_in_fixes(tmp_path, capsys, reason=False) + _helper_test_case_handling_in_fixes(tmp_path, capsys, reason=True) -def test_context(tmpdir, capsys): +def test_context( + tmp_path: Path, + capsys: pytest.CaptureFixture[str], +) -> None: """Test context options.""" - d = str(tmpdir) - with open(op.join(d, 'context.txt'), 'w') as f: - f.write('line 1\nline 2\nline 3 abandonned\nline 4\nline 5') + (tmp_path / "context.txt").write_text( + "line 1\nline 2\nline 3 abandonned\nline 4\nline 5" + ) # symmetric context, fully within file - code, stdout, _ = cs.main('-C', '1', d, std=True) + result = cs.main("-C", "1", tmp_path, std=True) + assert isinstance(result, tuple) + code, stdout, _ = result assert code == 1 - lines = stdout.split('\n') + lines = stdout.split("\n") assert len(lines) == 5 - assert lines[0] == ': line 2' - assert lines[1] == '> line 3 abandonned' - assert lines[2] == ': line 4' + assert lines[0] == ": line 2" + assert lines[1] == "> line 3 abandonned" + assert lines[2] == ": line 4" # requested context is bigger than the file - code, stdout, _ = cs.main('-C', '10', d, std=True) + result = cs.main("-C", "10", tmp_path, std=True) + assert isinstance(result, tuple) + code, stdout, _ = result assert code == 1 - lines = stdout.split('\n') + lines = stdout.split("\n") assert len(lines) == 7 - assert lines[0] == ': line 1' - assert lines[1] == ': line 2' - assert lines[2] == '> line 3 abandonned' - assert lines[3] == ': line 4' - assert lines[4] == ': line 5' + assert lines[0] == ": line 1" + assert lines[1] == ": line 2" + assert lines[2] == "> line 3 abandonned" + assert lines[3] == ": line 4" + assert lines[4] == ": line 5" # only before context - code, stdout, _ = cs.main('-B', '2', d, std=True) + result = cs.main("-B", "2", tmp_path, std=True) + assert isinstance(result, tuple) + code, stdout, _ = result assert code == 1 - lines = stdout.split('\n') + lines = stdout.split("\n") assert len(lines) == 5 - assert lines[0] == ': line 1' - assert lines[1] == ': line 2' - assert lines[2] == '> line 3 abandonned' + assert lines[0] == ": line 1" + assert lines[1] == ": line 2" + assert lines[2] == "> line 3 abandonned" # only after context - code, stdout, _ = cs.main('-A', '1', d, std=True) + result = cs.main("-A", "1", tmp_path, std=True) + assert isinstance(result, tuple) + code, stdout, _ = result assert code == 1 - lines = stdout.split('\n') + lines = stdout.split("\n") assert len(lines) == 4 - assert lines[0] == '> line 3 abandonned' - assert lines[1] == ': line 4' + assert lines[0] == "> line 3 abandonned" + assert lines[1] == ": line 4" # asymmetric context - code, stdout, _ = cs.main('-B', '2', '-A', '1', d, std=True) + result = cs.main("-B", "2", "-A", "1", tmp_path, std=True) + assert isinstance(result, tuple) + code, stdout, _ = result assert code == 1 - lines = stdout.split('\n') + lines = stdout.split("\n") assert len(lines) == 6 - assert lines[0] == ': line 1' - assert lines[1] == ': line 2' - assert lines[2] == '> line 3 abandonned' - assert lines[3] == ': line 4' + assert lines[0] == ": line 1" + assert lines[1] == ": line 2" + assert lines[2] == "> line 3 abandonned" + assert lines[3] == ": line 4" # both '-C' and '-A' on the command line - code, _, stderr = cs.main('-C', '2', '-A', '1', d, std=True) + result = cs.main("-C", "2", "-A", "1", tmp_path, std=True) + assert isinstance(result, tuple) + code, _, stderr = result assert code == EX_USAGE - lines = stderr.split('\n') - assert 'ERROR' in lines[0] + lines = stderr.split("\n") + assert "ERROR" in lines[0] # both '-C' and '-B' on the command line - code, _, stderr = cs.main('-C', '2', '-B', '1', d, std=True) + result = cs.main("-C", "2", "-B", "1", tmp_path, std=True) + assert isinstance(result, tuple) + code, _, stderr = result assert code == EX_USAGE - lines = stderr.split('\n') - assert 'ERROR' in lines[0] + lines = stderr.split("\n") + assert "ERROR" in lines[0] -def test_ignore_regex_option(tmpdir, capsys): +def test_ignore_regex_option( + tmp_path: Path, + capsys: pytest.CaptureFixture[str], +) -> None: """Test ignore regex option functionality.""" - d = str(tmpdir) # Invalid regex. - code, stdout, _ = cs.main('--ignore-regex=(', std=True) + result = cs.main("--ignore-regex=(", std=True) + assert isinstance(result, tuple) + code, stdout, _ = result assert code == EX_USAGE - assert 'usage:' in stdout + assert "usage:" in stdout - with open(op.join(d, 'flag.txt'), 'w') as f: - f.write('# Please see http://example.com/abandonned for info\n') + fname = tmp_path / "flag.txt" + fname.write_text("# Please see http://example.com/abandonned for info\n") # Test file has 1 invalid entry, and it's not ignored by default. - assert cs.main(f.name) == 1 + assert cs.main(fname) == 1 # An empty regex is the default value, and nothing is ignored. - assert cs.main(f.name, '--ignore-regex=') == 1 - assert cs.main(f.name, '--ignore-regex=""') == 1 + assert cs.main(fname, "--ignore-regex=") == 1 + assert cs.main(fname, '--ignore-regex=""') == 1 # Non-matching regex results in nothing being ignored. - assert cs.main(f.name, '--ignore-regex=^$') == 1 + assert cs.main(fname, "--ignore-regex=^$") == 1 # A word can be ignored. - assert cs.main(f.name, '--ignore-regex=abandonned') == 0 + assert cs.main(fname, "--ignore-regex=abandonned") == 0 # Ignoring part of the word can result in odd behavior. - assert cs.main(f.name, '--ignore-regex=nn') == 0 + assert cs.main(fname, "--ignore-regex=nn") == 0 - with open(op.join(d, 'flag.txt'), 'w') as f: - f.write('abandonned donn\n') + fname.write_text("abandonned donn\n") # Test file has 2 invalid entries. - assert cs.main(f.name) == 2 + assert cs.main(fname) == 2 # Ignoring donn breaks them both. - assert cs.main(f.name, '--ignore-regex=donn') == 0 + assert cs.main(fname, "--ignore-regex=donn") == 0 # Adding word breaks causes only one to be ignored. - assert cs.main(f.name, r'--ignore-regex=\bdonn\b') == 1 + assert cs.main(fname, r"--ignore-regex=\bdonn\b") == 1 -def test_uri_regex_option(tmpdir, capsys): +def test_uri_regex_option( + tmp_path: Path, + capsys: pytest.CaptureFixture[str], +) -> None: """Test --uri-regex option functionality.""" - d = str(tmpdir) # Invalid regex. - code, stdout, _ = cs.main('--uri-regex=(', std=True) + result = cs.main("--uri-regex=(", std=True) + assert isinstance(result, tuple) + code, stdout, _ = result assert code == EX_USAGE - assert 'usage:' in stdout + assert "usage:" in stdout - with open(op.join(d, 'flag.txt'), 'w') as f: - f.write('# Please see http://abandonned.com for info\n') + fname = tmp_path / "flag.txt" + fname.write_text("# Please see http://abandonned.com for info\n") # By default, the standard regex is used. - assert cs.main(f.name) == 1 - assert cs.main(f.name, '--uri-ignore-words-list=abandonned') == 0 + assert cs.main(fname) == 1 + assert cs.main(fname, "--uri-ignore-words-list=abandonned") == 0 # If empty, nothing matches. - assert cs.main(f.name, '--uri-regex=', - '--uri-ignore-words-list=abandonned') == 0 + assert cs.main(fname, "--uri-regex=", "--uri-ignore-words-list=abandonned") == 0 # Can manually match urls. - assert cs.main(f.name, '--uri-regex=\\bhttp.*\\b', - '--uri-ignore-words-list=abandonned') == 0 + assert ( + cs.main(fname, "--uri-regex=\\bhttp.*\\b", "--uri-ignore-words-list=abandonned") + == 0 + ) # Can also match arbitrary content. - with open(op.join(d, 'flag.txt'), 'w') as f: - f.write('abandonned') - assert cs.main(f.name) == 1 - assert cs.main(f.name, '--uri-ignore-words-list=abandonned') == 1 - assert cs.main(f.name, '--uri-regex=.*') == 1 - assert cs.main(f.name, '--uri-regex=.*', - '--uri-ignore-words-list=abandonned') == 0 + fname.write_text("abandonned") + assert cs.main(fname) == 1 + assert cs.main(fname, "--uri-ignore-words-list=abandonned") == 1 + assert cs.main(fname, "--uri-regex=.*") == 1 + assert cs.main(fname, "--uri-regex=.*", "--uri-ignore-words-list=abandonned") == 0 -def test_uri_ignore_words_list_option_uri(tmpdir, capsys): +def test_uri_ignore_words_list_option_uri( + tmp_path: Path, + capsys: pytest.CaptureFixture[str], +) -> None: """Test ignore regex option functionality.""" - d = str(tmpdir) - with open(op.join(d, 'flag.txt'), 'w') as f: - f.write('# Please see http://example.com/abandonned for info\n') + fname = tmp_path / "flag.txt" + fname.write_text("# Please see http://example.com/abandonned for info\n") # Test file has 1 invalid entry, and it's not ignored by default. - assert cs.main(f.name) == 1 + assert cs.main(fname) == 1 # An empty list is the default value, and nothing is ignored. - assert cs.main(f.name, '--uri-ignore-words-list=') == 1 + assert cs.main(fname, "--uri-ignore-words-list=") == 1 # Non-matching regex results in nothing being ignored. - assert cs.main(f.name, '--uri-ignore-words-list=foo,example') == 1 + assert cs.main(fname, "--uri-ignore-words-list=foo,example") == 1 # A word can be ignored. - assert cs.main(f.name, '--uri-ignore-words-list=abandonned') == 0 - assert cs.main(f.name, '--uri-ignore-words-list=foo,abandonned,bar') == 0 - assert cs.main(f.name, '--uri-ignore-words-list=*') == 0 + assert cs.main(fname, "--uri-ignore-words-list=abandonned") == 0 + assert cs.main(fname, "--uri-ignore-words-list=foo,abandonned,bar") == 0 + assert cs.main(fname, "--uri-ignore-words-list=*") == 0 # The match must be for the complete word. - assert cs.main(f.name, '--uri-ignore-words-list=abandonn') == 1 + assert cs.main(fname, "--uri-ignore-words-list=abandonn") == 1 - with open(op.join(d, 'flag.txt'), 'w') as f: - f.write('abandonned http://example.com/abandonned\n') + fname.write_text("abandonned http://example.com/abandonned\n") # Test file has 2 invalid entries. - assert cs.main(f.name) == 2 + assert cs.main(fname) == 2 # Ignoring the value in the URI won't ignore the word completely. - assert cs.main(f.name, '--uri-ignore-words-list=abandonned') == 1 - assert cs.main(f.name, '--uri-ignore-words-list=*') == 1 + assert cs.main(fname, "--uri-ignore-words-list=abandonned") == 1 + assert cs.main(fname, "--uri-ignore-words-list=*") == 1 # The regular --ignore-words-list will ignore both. - assert cs.main(f.name, '--ignore-words-list=abandonned') == 0 + assert cs.main(fname, "--ignore-words-list=abandonned") == 0 - variation_option = '--uri-ignore-words-list=abandonned' + variation_option = "--uri-ignore-words-list=abandonned" # Variations where an error is ignored. - for variation in ('# Please see http://abandonned for info\n', - '# Please see "http://abandonned" for info\n', - # This variation could be un-ignored, but it'd require a - # more complex regex as " is valid in parts of URIs. - '# Please see "http://foo"abandonned for info\n', - '# Please see https://abandonned for info\n', - '# Please see ftp://abandonned for info\n', - '# Please see http://example/abandonned for info\n', - '# Please see http://example.com/abandonned for info\n', - '# Please see http://exam.com/ple#abandonned for info\n', - '# Please see http://exam.com/ple?abandonned for info\n', - '# Please see http://127.0.0.1/abandonned for info\n', - '# Please see http://[2001:0db8:85a3:0000:0000:8a2e:0370' - ':7334]/abandonned for info\n'): - with open(op.join(d, 'flag.txt'), 'w') as f: - f.write(variation) - assert cs.main(f.name) == 1, variation - assert cs.main(f.name, variation_option) == 0, variation + for variation in ( + "# Please see http://abandonned for info\n", + '# Please see "http://abandonned" for info\n', + # This variation could be un-ignored, but it'd require a + # more complex regex as " is valid in parts of URIs. + '# Please see "http://foo"abandonned for info\n', + "# Please see https://abandonned for info\n", + "# Please see ftp://abandonned for info\n", + "# Please see http://example/abandonned for info\n", + "# Please see http://example.com/abandonned for info\n", + "# Please see http://exam.com/ple#abandonned for info\n", + "# Please see http://exam.com/ple?abandonned for info\n", + "# Please see http://127.0.0.1/abandonned for info\n", + "# Please see http://[2001:0db8:85a3:0000:0000:8a2e:0370" + ":7334]/abandonned for info\n", + ): + fname.write_text(variation) + assert cs.main(fname) == 1, variation + assert cs.main(fname, variation_option) == 0, variation # Variations where no error is ignored. - for variation in ('# Please see abandonned/ for info\n', - '# Please see http:abandonned for info\n', - '# Please see foo/abandonned for info\n', - '# Please see http://foo abandonned for info\n'): - with open(op.join(d, 'flag.txt'), 'w') as f: - f.write(variation) - assert cs.main(f.name) == 1, variation - assert cs.main(f.name, variation_option) == 1, variation - - -def test_uri_ignore_words_list_option_email(tmpdir, capsys): + for variation in ( + "# Please see abandonned/ for info\n", + "# Please see http:abandonned for info\n", + "# Please see foo/abandonned for info\n", + "# Please see http://foo abandonned for info\n", + ): + fname.write_text(variation) + assert cs.main(fname) == 1, variation + assert cs.main(fname, variation_option) == 1, variation + + +def test_uri_ignore_words_list_option_email( + tmp_path: Path, + capsys: pytest.CaptureFixture[str], +) -> None: """Test ignore regex option functionality.""" - d = str(tmpdir) - with open(op.join(d, 'flag.txt'), 'w') as f: - f.write('# Please see example@abandonned.com for info\n') + fname = tmp_path / "flag.txt" + fname.write_text("# Please see example@abandonned.com for info\n") # Test file has 1 invalid entry, and it's not ignored by default. - assert cs.main(f.name) == 1 + assert cs.main(fname) == 1 # An empty list is the default value, and nothing is ignored. - assert cs.main(f.name, '--uri-ignore-words-list=') == 1 + assert cs.main(fname, "--uri-ignore-words-list=") == 1 # Non-matching regex results in nothing being ignored. - assert cs.main(f.name, '--uri-ignore-words-list=foo,example') == 1 + assert cs.main(fname, "--uri-ignore-words-list=foo,example") == 1 # A word can be ignored. - assert cs.main(f.name, '--uri-ignore-words-list=abandonned') == 0 - assert cs.main(f.name, '--uri-ignore-words-list=foo,abandonned,bar') == 0 - assert cs.main(f.name, '--uri-ignore-words-list=*') == 0 + assert cs.main(fname, "--uri-ignore-words-list=abandonned") == 0 + assert cs.main(fname, "--uri-ignore-words-list=foo,abandonned,bar") == 0 + assert cs.main(fname, "--uri-ignore-words-list=*") == 0 # The match must be for the complete word. - assert cs.main(f.name, '--uri-ignore-words-list=abandonn') == 1 + assert cs.main(fname, "--uri-ignore-words-list=abandonn") == 1 - with open(op.join(d, 'flag.txt'), 'w') as f: - f.write('abandonned example@abandonned.com\n') + fname.write_text("abandonned example@abandonned.com\n") # Test file has 2 invalid entries. - assert cs.main(f.name) == 2 + assert cs.main(fname) == 2 # Ignoring the value in the URI won't ignore the word completely. - assert cs.main(f.name, '--uri-ignore-words-list=abandonned') == 1 - assert cs.main(f.name, '--uri-ignore-words-list=*') == 1 + assert cs.main(fname, "--uri-ignore-words-list=abandonned") == 1 + assert cs.main(fname, "--uri-ignore-words-list=*") == 1 # The regular --ignore-words-list will ignore both. - assert cs.main(f.name, '--ignore-words-list=abandonned') == 0 + assert cs.main(fname, "--ignore-words-list=abandonned") == 0 - variation_option = '--uri-ignore-words-list=abandonned' + variation_option = "--uri-ignore-words-list=abandonned" # Variations where an error is ignored. - for variation in ('# Please see example@abandonned for info\n', - '# Please see abandonned@example for info\n', - '# Please see abandonned@example.com for info\n', - '# Please see mailto:abandonned@example.com?subject=Test' - ' for info\n'): - with open(op.join(d, 'flag.txt'), 'w') as f: - f.write(variation) - assert cs.main(f.name) == 1, variation - assert cs.main(f.name, variation_option) == 0, variation + for variation in ( + "# Please see example@abandonned for info\n", + "# Please see abandonned@example for info\n", + "# Please see abandonned@example.com for info\n", + "# Please see mailto:abandonned@example.com?subject=Test for info\n", + ): + fname.write_text(variation) + assert cs.main(fname) == 1, variation + assert cs.main(fname, variation_option) == 0, variation # Variations where no error is ignored. - for variation in ('# Please see example @ abandonned for info\n', - '# Please see abandonned@ example for info\n', - '# Please see mailto:foo@example.com?subject=Test' - ' abandonned for info\n'): - with open(op.join(d, 'flag.txt'), 'w') as f: - f.write(variation) - assert cs.main(f.name) == 1, variation - assert cs.main(f.name, variation_option) == 1, variation + for variation in ( + "# Please see example @ abandonned for info\n", + "# Please see abandonned@ example for info\n", + "# Please see mailto:foo@example.com?subject=Test abandonned for info\n", + ): + fname.write_text(variation) + assert cs.main(fname) == 1, variation + assert cs.main(fname, variation_option) == 1, variation -def test_uri_regex_def(): +def test_uri_regex_def() -> None: uri_regex = re.compile(uri_regex_def) # Tests based on https://mathiasbynens.be/demo/url-regex true_positives = ( - 'http://foo.com/blah_blah', - 'http://foo.com/blah_blah/', - 'http://foo.com/blah_blah_(wikipedia)', - 'http://foo.com/blah_blah_(wikipedia)_(again)', - 'http://www.example.com/wpstyle/?p=364', - 'https://www.example.com/foo/?bar=baz&inga=42&quux', - 'http://✪df.ws/123', - 'http://userid:password@example.com:8080', - 'http://userid:password@example.com:8080/', - 'http://userid@example.com', - 'http://userid@example.com/', - 'http://userid@example.com:8080', - 'http://userid@example.com:8080/', - 'http://userid:password@example.com', - 'http://userid:password@example.com/', - 'http://142.42.1.1/', - 'http://142.42.1.1:8080/', - 'http://➡.ws/䨹', - 'http://⌘.ws', - 'http://⌘.ws/', - 'http://foo.com/blah_(wikipedia)#cite-1', - 'http://foo.com/blah_(wikipedia)_blah#cite-1', - 'http://foo.com/unicode_(✪)_in_parens', - 'http://foo.com/(something)?after=parens', - 'http://☺.damowmow.com/', - 'http://code.google.com/events/#&product=browser', - 'http://j.mp', - 'ftp://foo.bar/baz', - 'http://foo.bar/?q=Test%20URL-encoded%20stuff', - 'http://مثال.إختبار', - 'http://例子.测试', - 'http://उदाहरण.परीक्षा', + "http://foo.com/blah_blah", + "http://foo.com/blah_blah/", + "http://foo.com/blah_blah_(wikipedia)", + "http://foo.com/blah_blah_(wikipedia)_(again)", + "http://www.example.com/wpstyle/?p=364", + "https://www.example.com/foo/?bar=baz&inga=42&quux", + "http://✪df.ws/123", + "http://userid:password@example.com:8080", + "http://userid:password@example.com:8080/", + "http://userid@example.com", + "http://userid@example.com/", + "http://userid@example.com:8080", + "http://userid@example.com:8080/", + "http://userid:password@example.com", + "http://userid:password@example.com/", + "http://142.42.1.1/", + "http://142.42.1.1:8080/", + "http://➡.ws/䨹", + "http://⌘.ws", + "http://⌘.ws/", + "http://foo.com/blah_(wikipedia)#cite-1", + "http://foo.com/blah_(wikipedia)_blah#cite-1", + "http://foo.com/unicode_(✪)_in_parens", + "http://foo.com/(something)?after=parens", + "http://☺.damowmow.com/", + "http://code.google.com/events/#&product=browser", + "http://j.mp", + "ftp://foo.bar/baz", + "http://foo.bar/?q=Test%20URL-encoded%20stuff", + "http://مثال.إختبار", + "http://例子.测试", + "http://उदाहरण.परीक्षा", "http://-.~_!$&'()*+,;=:%40:80%2f::::::@example.com", - 'http://1337.net', - 'http://a.b-c.de', - 'http://223.255.255.254', + "http://1337.net", + "http://a.b-c.de", + "http://223.255.255.254", ) true_negatives = ( - 'http://', - '//', - '//a', - '///a', - '///', - 'foo.com', - 'rdar://1234', - 'h://test', - '://should.fail', - 'ftps://foo.bar/', + "http://", + "//", + "//a", + "///a", + "///", + "foo.com", + "rdar://1234", + "h://test", + "://should.fail", + "ftps://foo.bar/", ) false_positives = ( - 'http://.', - 'http://..', - 'http://../', - 'http://?', - 'http://??', - 'http://??/', - 'http://#', - 'http://##', - 'http://##/', - 'http:///a', - 'http://-error-.invalid/', - 'http://a.b--c.de/', - 'http://-a.b.co', - 'http://a.b-.co', - 'http://0.0.0.0', - 'http://10.1.1.0', - 'http://10.1.1.255', - 'http://224.1.1.1', - 'http://1.1.1.1.1', - 'http://123.123.123', - 'http://3628126748', - 'http://.www.foo.bar/', - 'http://www.foo.bar./', - 'http://.www.foo.bar./', - 'http://10.1.1.1', + "http://.", + "http://..", + "http://../", + "http://?", + "http://??", + "http://??/", + "http://#", + "http://##", + "http://##/", + "http:///a", + "http://-error-.invalid/", + "http://a.b--c.de/", + "http://-a.b.co", + "http://a.b-.co", + "http://0.0.0.0", + "http://10.1.1.0", + "http://10.1.1.255", + "http://224.1.1.1", + "http://1.1.1.1.1", + "http://123.123.123", + "http://3628126748", + "http://.www.foo.bar/", + "http://www.foo.bar./", + "http://.www.foo.bar./", + "http://10.1.1.1", ) - boilerplate = 'Surrounding text %s more text' + boilerplate = "Surrounding text %s more text" for uri in true_positives + false_positives: assert uri_regex.findall(uri) == [uri], uri @@ -804,65 +957,101 @@ def test_uri_regex_def(): assert not uri_regex.findall(boilerplate % uri), uri -@pytest.mark.parametrize('kind', ('toml', 'cfg')) -def test_config_toml(tmp_path, capsys, kind): +def test_quiet_option_32( + tmp_path: Path, + tmpdir: pytest.TempPathFactory, + capsys: pytest.CaptureFixture[str], +) -> None: + d = tmp_path / "files" + d.mkdir() + conf = str(tmp_path / "setup.cfg") + with open(conf, "w") as f: + # It must contain a "codespell" section. + f.write("[codespell]\n") + args = ("--config", conf) + + # Config files should NOT be in output. + result = cs.main(str(d), *args, "--quiet-level=32", std=True) + assert isinstance(result, tuple) + code, stdout, _ = result + assert code == 0 + assert "Used config files:" not in stdout + + # Config files SHOULD be in output. + result = cs.main(str(d), *args, "--quiet-level=2", std=True) + assert isinstance(result, tuple) + code, stdout, _ = result + assert code == 0 + assert "Used config files:" in stdout + assert "setup.cfg" in stdout + + +@pytest.mark.parametrize("kind", ("toml", "cfg")) +def test_config_toml( + tmp_path: Path, + capsys: pytest.CaptureFixture[str], + kind: str, +) -> None: """Test loading options from a config file or toml.""" - d = tmp_path / 'files' + d = tmp_path / "files" d.mkdir() - with open(d / 'bad.txt', 'w') as f: - f.write('abandonned donn\n') - with open(d / 'good.txt', 'w') as f: - f.write("good") + (d / "bad.txt").write_text("abandonned donn\n") + (d / "good.txt").write_text("good") # Should fail when checking both. - code, stdout, _ = cs.main(str(d), count=True, std=True) + result = cs.main(d, count=True, std=True) + assert isinstance(result, tuple) + code, stdout, _ = result # Code in this case is not exit code, but count of misspellings. assert code == 2 - assert 'bad.txt' in stdout + assert "bad.txt" in stdout - if kind == 'cfg': - conffile = str(tmp_path / 'setup.cfg') - args = ('--config', conffile) - with open(conffile, 'w') as f: - f.write("""\ + if kind == "cfg": + conffile = tmp_path / "setup.cfg" + args = ("--config", conffile) + conffile.write_text( + """\ [codespell] skip = bad.txt, whatever.txt count = -""") +""" + ) else: - assert kind == 'toml' - pytest.importorskip('tomli') - tomlfile = str(tmp_path / 'pyproject.toml') - args = ('--toml', tomlfile) - with open(tomlfile, 'w') as f: - f.write("""\ + assert kind == "toml" + if sys.version_info < (3, 11): + pytest.importorskip("tomli") + tomlfile = tmp_path / "pyproject.toml" + args = ("--toml", tomlfile) + tomlfile.write_text( + """\ [tool.codespell] skip = 'bad.txt,whatever.txt' count = false -""") +""" + ) # Should pass when skipping bad.txt - code, stdout, _ = cs.main(str(d), *args, count=True, std=True) + result = cs.main(d, *args, count=True, std=True) + assert isinstance(result, tuple) + code, stdout, _ = result assert code == 0 - assert 'bad.txt' not in stdout + assert "bad.txt" not in stdout # And both should automatically work if they're in cwd - cwd = os.getcwd() + cwd = Path.cwd() try: os.chdir(tmp_path) - code, stdout, _ = cs.main(str(d), count=True, std=True) + result = cs.main(d, count=True, std=True) + assert isinstance(result, tuple) + code, stdout, _ = result finally: os.chdir(cwd) assert code == 0 - assert 'bad.txt' not in stdout + assert "bad.txt" not in stdout @contextlib.contextmanager -def FakeStdin(text): - if sys.version[0] == '2': - from StringIO import StringIO - else: - from io import StringIO +def FakeStdin(text: str) -> Generator[None, None, None]: oldin = sys.stdin try: in_ = StringIO(text) diff --git a/codespell_lib/tests/test_dictionary.py b/codespell_lib/tests/test_dictionary.py index 6d246d35ac..c9302ae34d 100644 --- a/codespell_lib/tests/test_dictionary.py +++ b/codespell_lib/tests/test_dictionary.py @@ -1,254 +1,330 @@ -# -*- coding: utf-8 -*- - import glob -import os.path as op import os +import os.path as op import re import warnings +from typing import Any, Dict, Iterable, Optional, Set, Tuple import pytest -from codespell_lib._codespell import _builtin_dictionaries -from codespell_lib._codespell import supported_languages +from codespell_lib._codespell import _builtin_dictionaries, supported_languages -spellers = dict() +spellers = {} try: - import aspell + import aspell # type: ignore[import] + for lang in supported_languages: - spellers[lang] = aspell.Speller('lang', lang) + spellers[lang] = aspell.Speller("lang", lang) except Exception as exp: # probably ImportError, but maybe also language - if os.getenv('REQUIRE_ASPELL', 'false').lower() == 'true': + if os.getenv("REQUIRE_ASPELL", "false").lower() == "true": raise RuntimeError( - 'Cannot run complete tests without aspell when ' - 'REQUIRE_ASPELL=true. Got error during import:\n%s' - % (exp,)) + "Cannot run complete tests without aspell when " + "REQUIRE_ASPELL=true. Got error during import:\n%s" % (exp,) + ) else: warnings.warn( - 'aspell not found, but not required, skipping aspell tests. Got ' - 'error during import:\n%s' % (exp,)) + "aspell not found, but not required, skipping aspell tests. Got " + "error during import:\n%s" % (exp,) + ) -global_err_dicts = dict() -global_pairs = set() +global_err_dicts: Dict[str, Dict[str, Any]] = {} +global_pairs: Set[Tuple[str, str]] = set() # Filename, should be seen as errors in aspell or not -_data_dir = op.join(op.dirname(__file__), '..', 'data') +_data_dir = op.join(op.dirname(__file__), "..", "data") _fnames_in_aspell = [ - (op.join(_data_dir, 'dictionary%s.txt' % d[2]), d[3:5], d[5:7]) - for d in _builtin_dictionaries] -fname_params = pytest.mark.parametrize('fname, in_aspell, in_dictionary', _fnames_in_aspell) # noqa: E501 + (op.join(_data_dir, "dictionary%s.txt" % d[2]), d[3:5], d[5:7]) + for d in _builtin_dictionaries +] +fname_params = pytest.mark.parametrize( + "fname, in_aspell, in_dictionary", _fnames_in_aspell +) # noqa: E501 -def test_dictionaries_exist(): +def test_dictionaries_exist() -> None: """Test consistency of dictionaries.""" - doc_fnames = set(op.basename(f[0]) for f in _fnames_in_aspell) - got_fnames = set(op.basename(f) - for f in glob.glob(op.join(_data_dir, '*.txt'))) + doc_fnames = {op.basename(f[0]) for f in _fnames_in_aspell} + got_fnames = {op.basename(f) for f in glob.glob(op.join(_data_dir, "*.txt"))} assert doc_fnames == got_fnames @fname_params -def test_dictionary_formatting(fname, in_aspell, in_dictionary): +def test_dictionary_formatting( + fname: str, + in_aspell: Tuple[bool, bool], + in_dictionary: Tuple[Iterable[str], Iterable[str]], +) -> None: """Test that all dictionary entries are valid.""" - errors = list() - with open(fname, 'rb') as fid: + errors = [] + with open(fname, encoding="utf-8") as fid: for line in fid: - err, rep = line.decode('utf-8').split('->') + err, rep = line.split("->") err = err.lower() - rep = rep.rstrip('\n') + rep = rep.rstrip("\n") try: _check_err_rep(err, rep, in_aspell, fname, in_dictionary) except AssertionError as exp: - errors.append(str(exp).split('\n')[0]) - if len(errors): - raise AssertionError('\n' + '\n'.join(errors)) + errors.append(str(exp).split("\n")[0]) + if errors: + raise AssertionError("\n" + "\n".join(errors)) -def _check_aspell(phrase, msg, in_aspell, fname, languages): +def _check_aspell( + phrase: str, + msg: str, + in_aspell: Optional[bool], + fname: str, + languages: Iterable[str], +) -> None: if not spellers: # if no spellcheckers exist return # cannot check if in_aspell is None: return # don't check - if ' ' in phrase: + if " " in phrase: for word in phrase.split(): _check_aspell(word, msg, in_aspell, fname, languages) return # stop normal checking as we've done each word above - this_in_aspell = any(spellers[lang].check(phrase.encode( - spellers[lang].ConfigKeys()['encoding'][1])) for lang in languages) - end = 'be in aspell dictionaries (%s) for dictionary %s' % ( - ', '.join(languages), fname) + this_in_aspell = any( + spellers[lang].check(phrase.encode(spellers[lang].ConfigKeys()["encoding"][1])) + for lang in languages + ) + end = "be in aspell dictionaries ({}) for dictionary {}".format( + ", ".join(languages), + fname, + ) if in_aspell: # should be an error in aspell - assert this_in_aspell, '%s should %s' % (msg, end) + assert this_in_aspell, f"{msg} should {end}" else: # shouldn't be - assert not this_in_aspell, '%s should not %s' % (msg, end) + assert not this_in_aspell, f"{msg} should not {end}" -whitespace = re.compile(r'\s') -start_whitespace = re.compile(r'^\s') -start_comma = re.compile(r'^,') -whitespace_comma = re.compile(r'\s,') -comma_whitespaces = re.compile(r',\s\s') -comma_without_space = re.compile(r',[^ ]') -whitespace_end = re.compile(r'\s+$') -single_comma = re.compile(r'^[^,]*,\s*$') +whitespace = re.compile(r"\s") +start_whitespace = re.compile(r"^\s") +start_comma = re.compile(r"^,") +whitespace_comma = re.compile(r"\s,") +comma_whitespaces = re.compile(r",\s\s") +comma_without_space = re.compile(r",[^ ]") +whitespace_end = re.compile(r"\s+$") +single_comma = re.compile(r"^[^,]*,\s*$") -def _check_err_rep(err, rep, in_aspell, fname, languages): - assert whitespace.search(err) is None, 'error %r has whitespace' % err - assert ',' not in err, 'error %r has a comma' % err - assert len(rep) > 0, ('error %s: correction %r must be non-empty' - % (err, rep)) - assert not start_whitespace.match(rep), ('error %s: correction %r ' - 'cannot start with whitespace' - % (err, rep)) - _check_aspell(err, 'error %r' % (err,), in_aspell[0], fname, languages[0]) - prefix = 'error %s: correction %r' % (err, rep) - for (r, msg) in [ - (start_comma, - '%s starts with a comma'), - (whitespace_comma, - '%s contains a whitespace character followed by a comma'), - (comma_whitespaces, - '%s contains a comma followed by multiple whitespace characters'), - (comma_without_space, - '%s contains a comma *not* followed by a space'), - (whitespace_end, - '%s has a trailing space'), - (single_comma, - '%s has a single entry but contains a trailing comma')]: - assert not r.search(rep), (msg % (prefix,)) +def _check_err_rep( + err: str, + rep: str, + in_aspell: Tuple[Optional[bool], Optional[bool]], + fname: str, + languages: Tuple[Iterable[str], Iterable[str]], +) -> None: + assert whitespace.search(err) is None, "error %r has whitespace" % err + assert "," not in err, "error %r has a comma" % err + assert len(rep) > 0, f"error {err}: correction {rep!r} must be non-empty" + assert not start_whitespace.match( + rep + ), f"error {err}: correction {rep!r} cannot start with whitespace" + _check_aspell(err, f"error {err!r}", in_aspell[0], fname, languages[0]) + prefix = f"error {err}: correction {rep!r}" + for regex, msg in [ + (start_comma, "%s starts with a comma"), + ( + whitespace_comma, + "%s contains a whitespace character followed by a comma", + ), + ( + comma_whitespaces, + "%s contains a comma followed by multiple whitespace characters", + ), + (comma_without_space, "%s contains a comma *not* followed by a space"), + (whitespace_end, "%s has a trailing space"), + (single_comma, "%s has a single entry but contains a trailing comma"), + ]: + assert not regex.search(rep), msg % (prefix,) del msg - if rep.count(','): - assert rep.endswith(','), ('error %s: multiple corrections must end ' - 'with trailing ","' % (err,)) - reps = [r.strip() for r in rep.split(',')] + if rep.count(","): + assert rep.endswith( + "," + ), "error %s: multiple corrections must end " 'with trailing ","' % (err,) + reps = [r.strip() for r in rep.split(",")] reps = [r for r in reps if len(r)] for r in reps: - assert err != r.lower(), ('error %r corrects to itself amongst others' - % (err,)) + assert err != r.lower(), f"error {err!r} corrects to itself amongst others" _check_aspell( - r, 'error %s: correction %r' % (err, r), - in_aspell[1], fname, languages[1]) + r, + f"error {err}: correction {r!r}", + in_aspell[1], + fname, + languages[1], + ) # aspell dictionary is case sensitive, so pass the original case into there # we could ignore the case, but that would miss things like days of the # week which we want to be correct reps = [r.lower() for r in reps] - assert len(set(reps)) == len(reps), ('error %s: corrections "%s" are not ' - '(lower-case) unique' % (err, rep)) + assert len(set(reps)) == len( + reps + ), 'error %s: corrections "%s" are not ' "(lower-case) unique" % (err, rep) -@pytest.mark.parametrize('err, rep, match', [ - ('a a', 'bar', 'has whitespace'), - ('a,a', 'bar', 'has a comma'), - ('a', '', 'non-empty'), - ('a', ' bar', 'start with whitespace'), - ('a', ',bar', 'starts with a comma'), - ('a', 'bar,bat', '.*not.*followed by a space'), - ('a', 'bar ', 'trailing space'), - ('a', 'b ,ar', 'contains a whitespace.*followed by a comma'), - ('a', 'bar,', 'single entry.*comma'), - ('a', 'bar, bat', 'must end with trailing ","'), - ('a', 'a, bar,', 'corrects to itself amongst others'), - ('a', 'a', 'corrects to itself'), - ('a', 'bar, Bar,', 'unique'), -]) -def test_error_checking(err, rep, match): +@pytest.mark.parametrize( + "err, rep, match", + [ + ("a a", "bar", "has whitespace"), + ("a,a", "bar", "has a comma"), + ("a", "", "non-empty"), + ("a", " bar", "start with whitespace"), + ("a", ",bar", "starts with a comma"), + ("a", "bar,bat", ".*not.*followed by a space"), + ("a", "bar ", "trailing space"), + ("a", "b ,ar", "contains a whitespace.*followed by a comma"), + ("a", "bar,", "single entry.*comma"), + ("a", "bar, bat", 'must end with trailing ","'), + ("a", "a, bar,", "corrects to itself amongst others"), + ("a", "a", "corrects to itself"), + ("a", "bar, Bar,", "unique"), + ], +) +def test_error_checking(err: str, rep: str, match: str) -> None: """Test that our error checking works.""" with pytest.raises(AssertionError, match=match): - _check_err_rep(err, rep, (None, None), 'dummy', - (supported_languages, supported_languages)) + _check_err_rep( + err, + rep, + (None, None), + "dummy", + (supported_languages, supported_languages), + ) -@pytest.mark.skipif(not spellers, reason='requires aspell-en') -@pytest.mark.parametrize('err, rep, err_aspell, rep_aspell, match', [ - # This doesn't raise any exceptions, so skip for now: - # pytest.param('a', 'uvw, bar,', None, None, 'should be in aspell'), - ('abcdef', 'uvwxyz, bar,', True, None, 'should be in aspell'), - ('a', 'uvwxyz, bar,', False, None, 'should not be in aspell'), - ('a', 'abcdef, uvwxyz,', None, True, 'should be in aspell'), - ('abcdef', 'uvwxyz, bar,', True, True, 'should be in aspell'), - ('abcdef', 'uvwxyz, bar,', False, True, 'should be in aspell'), - ('a', 'bar, back,', None, False, 'should not be in aspell'), - ('a', 'bar, back, Wednesday,', None, False, 'should not be in aspell'), - ('abcdef', 'ghijkl, uvwxyz,', True, False, 'should be in aspell'), - ('abcdef', 'uvwxyz, bar,', False, False, 'should not be in aspell'), - # Multi-word corrections - # One multi-word, both parts - ('a', 'abcdef uvwxyz', None, True, 'should be in aspell'), - ('a', 'bar back', None, False, 'should not be in aspell'), - ('a', 'bar back Wednesday', None, False, 'should not be in aspell'), - # Second multi-word, both parts - ('a', 'bar back, abcdef uvwxyz, bar,', None, True, 'should be in aspell'), - ('a', 'abcdef uvwxyz, bar back, ghijkl,', None, False, 'should not be in aspell'), # noqa: E501 - # One multi-word, second part - ('a', 'bar abcdef', None, True, 'should be in aspell'), - ('a', 'abcdef back', None, False, 'should not be in aspell'), -]) -def test_error_checking_in_aspell(err, rep, err_aspell, rep_aspell, match): +@pytest.mark.skipif(not spellers, reason="requires aspell-en") +@pytest.mark.parametrize( + "err, rep, err_aspell, rep_aspell, match", + [ + # This doesn't raise any exceptions, so skip for now: + # pytest.param('a', 'uvw, bar,', None, None, 'should be in aspell'), + ("abcdef", "uvwxyz, bar,", True, None, "should be in aspell"), + ("a", "uvwxyz, bar,", False, None, "should not be in aspell"), + ("a", "abcdef, uvwxyz,", None, True, "should be in aspell"), + ("abcdef", "uvwxyz, bar,", True, True, "should be in aspell"), + ("abcdef", "uvwxyz, bar,", False, True, "should be in aspell"), + ("a", "bar, back,", None, False, "should not be in aspell"), + ("a", "bar, back, Wednesday,", None, False, "should not be in aspell"), + ("abcdef", "ghijkl, uvwxyz,", True, False, "should be in aspell"), + ("abcdef", "uvwxyz, bar,", False, False, "should not be in aspell"), + # Multi-word corrections + # One multi-word, both parts + ("a", "abcdef uvwxyz", None, True, "should be in aspell"), + ("a", "bar back", None, False, "should not be in aspell"), + ("a", "bar back Wednesday", None, False, "should not be in aspell"), + # Second multi-word, both parts + ( + "a", + "bar back, abcdef uvwxyz, bar,", + None, + True, + "should be in aspell", + ), + ( + "a", + "abcdef uvwxyz, bar back, ghijkl,", + None, + False, + "should not be in aspell", + ), # noqa: E501 + # One multi-word, second part + ("a", "bar abcdef", None, True, "should be in aspell"), + ("a", "abcdef back", None, False, "should not be in aspell"), + ], +) +def test_error_checking_in_aspell( + err: str, + rep: str, + err_aspell: Optional[bool], + rep_aspell: Optional[bool], + match: str, +) -> None: """Test that our error checking works with aspell.""" with pytest.raises(AssertionError, match=match): _check_err_rep( - err, rep, (err_aspell, rep_aspell), 'dummy', - (supported_languages, supported_languages)) + err, + rep, + (err_aspell, rep_aspell), + "dummy", + (supported_languages, supported_languages), + ) # allow some duplicates, like "m-i-n-i-m-i-s-e", or "c-a-l-c-u-l-a-t-a-b-l-e" # correction in left can appear as typo in right allowed_dups = { - ('dictionary.txt', 'dictionary_code.txt'), - ('dictionary.txt', 'dictionary_en-GB_to_en-US.txt'), - ('dictionary.txt', 'dictionary_names.txt'), - ('dictionary.txt', 'dictionary_rare.txt'), - ('dictionary.txt', 'dictionary_usage.txt'), - ('dictionary_code.txt', 'dictionary_rare.txt'), - ('dictionary_rare.txt', 'dictionary_usage.txt'), + ("dictionary.txt", "dictionary_code.txt"), + ("dictionary.txt", "dictionary_en-GB_to_en-US.txt"), + ("dictionary.txt", "dictionary_names.txt"), + ("dictionary.txt", "dictionary_rare.txt"), + ("dictionary.txt", "dictionary_usage.txt"), + ("dictionary_code.txt", "dictionary_rare.txt"), + ("dictionary_rare.txt", "dictionary_usage.txt"), } @fname_params -@pytest.mark.dependency(name='dictionary loop') -def test_dictionary_looping(fname, in_aspell, in_dictionary): +@pytest.mark.dependency(name="dictionary loop") +def test_dictionary_looping( + fname: str, + in_aspell: Tuple[bool, bool], + in_dictionary: Tuple[bool, bool], +) -> None: """Test that all dictionary entries are valid.""" - this_err_dict = dict() + this_err_dict = {} short_fname = op.basename(fname) - with open(fname, 'rb') as fid: + with open(fname, encoding="utf-8") as fid: for line in fid: - err, rep = line.decode('utf-8').split('->') + err, rep = line.split("->") err = err.lower() - assert err not in this_err_dict, \ - 'error %r already exists in %s' % (err, short_fname) - rep = rep.rstrip('\n') - reps = [r.strip() for r in rep.lower().split(',')] + assert err not in this_err_dict, "error {!r} already exists in {}".format( + err, + short_fname, + ) + rep = rep.rstrip("\n") + reps = [r.strip() for r in rep.lower().split(",")] reps = [r for r in reps if len(r)] this_err_dict[err] = reps # 1. check the dict against itself (diagonal) for err in this_err_dict: for r in this_err_dict[err]: - assert r not in this_err_dict, \ - ('error %s: correction %s is an error itself in the same ' - 'dictionary file %s' % (err, r, short_fname)) + assert r not in this_err_dict, ( + "error %s: correction %s is an error itself in the same " + "dictionary file %s" % (err, r, short_fname) + ) pair = (short_fname, short_fname) assert pair not in global_pairs global_pairs.add(pair) for other_fname, other_err_dict in global_err_dicts.items(): # error duplication (eventually maybe we should just merge?) for err in this_err_dict: - assert err not in other_err_dict, \ - ('error %r in dictionary %s already exists in dictionary ' - '%s' % (err, short_fname, other_fname)) + assert ( + err not in other_err_dict + ), "error {!r} in dictionary {} already exists in dictionary {}".format( + err, + short_fname, + other_fname, + ) # 2. check corrections in this dict against other dicts (upper) pair = (short_fname, other_fname) if pair not in allowed_dups: for err in this_err_dict: - assert err not in other_err_dict, \ - ('error %r in dictionary %s already exists in dictionary ' - '%s' % (err, short_fname, other_fname)) + assert ( + err not in other_err_dict + ), "error {!r} in dictionary {} already exists in dictionary {}".format( + err, + short_fname, + other_fname, + ) for r in this_err_dict[err]: - assert r not in other_err_dict, \ - ('error %s: correction %s from dictionary %s is an ' - 'error itself in dictionary %s' - % (err, r, short_fname, other_fname)) + assert r not in other_err_dict, ( + "error %s: correction %s from dictionary %s is an " + "error itself in dictionary %s" + % (err, r, short_fname, other_fname) + ) assert pair not in global_pairs global_pairs.add(pair) # 3. check corrections in other dicts against this dict (lower) @@ -256,17 +332,18 @@ def test_dictionary_looping(fname, in_aspell, in_dictionary): if pair not in allowed_dups: for err in other_err_dict: for r in other_err_dict[err]: - assert r not in this_err_dict, \ - ('error %s: correction %s from dictionary %s is an ' - 'error itself in dictionary %s' - % (err, r, other_fname, short_fname)) + assert r not in this_err_dict, ( + "error %s: correction %s from dictionary %s is an " + "error itself in dictionary %s" + % (err, r, other_fname, short_fname) + ) assert pair not in global_pairs global_pairs.add(pair) global_err_dicts[short_fname] = this_err_dict -@pytest.mark.dependency(depends=['dictionary loop']) -def test_ran_all(): +@pytest.mark.dependency(depends=["dictionary loop"]) +def test_ran_all() -> None: """Test that all pairwise tests ran.""" for f1, _, _ in _fnames_in_aspell: f1 = op.basename(f1) diff --git a/pyproject-codespell.precommit-toml b/pyproject-codespell.precommit-toml new file mode 100644 index 0000000000..e49d999770 --- /dev/null +++ b/pyproject-codespell.precommit-toml @@ -0,0 +1,7 @@ +[tool.codespell] +#builtin = ["clear","rare","informal","usage","code","names"] +builtin = "clear,rare,informal,usage,code,names" +#ignore-words-list = ["uint"] +ignore-words-list = "adn,master,uint" +#skip=[ "./.*","codespell_lib/data/*","codespell_lib/tests/*"] +skip="./.*,codespell_lib/data/*,codespell_lib/tests/*" diff --git a/pyproject.toml b/pyproject.toml index 431834f0bc..1d6ee00905 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -17,18 +17,29 @@ classifiers = [ "Operating System :: Microsoft :: Windows", "Operating System :: POSIX", "Operating System :: Unix", - "Operating System :: MacOS" + "Operating System :: MacOS", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3 :: Only", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", ] dependencies = [] dynamic = ["version"] [project.optional-dependencies] dev = [ - "check-manifest", + "build", + "chardet", "flake8", + "flake8-pyproject", "pytest", "pytest-cov", "pytest-dependency", + "Pygments", "tomli" ] hard-encoding-detection = [ @@ -37,6 +48,13 @@ hard-encoding-detection = [ toml = [ "tomli; python_version < '3.11'" ] +types = [ + "chardet>=5.1.0", + "mypy", + "pytest", + "pytest-cov", + "pytest-dependency", +] [project.scripts] codespell = "codespell_lib:_script_main" @@ -46,7 +64,7 @@ homepage = "https://github.com/codespell-project/codespell" repository = "https://github.com/codespell-project/codespell" [build-system] -requires = ["setuptools>=45", "setuptools_scm[toml]>=6.2", "wheel"] +requires = ["setuptools>=64", "setuptools_scm[toml]>=6.2"] build-backend = "setuptools.build_meta" [tool.setuptools_scm] @@ -61,8 +79,76 @@ exclude = [ [tool.setuptools.package-data] codespell_lib = [ "data/dictionary*.txt", - "data/linux-kernel.exclude" + "data/linux-kernel.exclude", + "py.typed", ] -[tool.check-manifest] -ignore = ["codespell_lib/_version.py"] +[tool.autoflake] +in-place = true +recursive = true +expand-star-imports = true + +[tool.bandit] +skip = "B101,B404,B603" +recursive = true + +# TODO: reintegrate codespell configuration after updating test cases +#[tool.codespell] +#builtin = ["clear","rare","informal","usage","code","names"] +#ignore-words-list = ["uint"] +#skip=[ "./.*","codespell_lib/data/*","codespell_lib/tests/*"] + +[tool.flake8] +max-line-length = "88" +extend-ignore = "E203" + +[tool.isort] +profile = "black" + +[tool.mypy] +pretty = true +show_error_codes = true +strict = true + +[tool.pylint] +reports=false +py-version="3.7" +disable = [ + "broad-except", + "consider-using-f-string", + "consider-using-dict-items", + "consider-using-with", + "fixme", + "import-error", + "import-outside-toplevel", + "invalid-name", + "line-too-long", + "missing-class-docstring", + "missing-module-docstring", + "missing-function-docstring", + "no-else-raise", + "no-else-return", + "raise-missing-from", + "redefined-outer-name", + "subprocess-run-check", + "too-many-arguments", + "too-many-lines", + "too-many-locals", + "too-many-branches", + "too-many-statements", + "too-many-return-statements", + "too-few-public-methods", + "unneeded-not", + "unspecified-encoding", + "unused-argument", + "unused-variable", + "use-maxsplit-arg" +] + + +[tool.pylint.FORMAT] +good-names=["F","r","i","n"] +# include-naming-hint=yes + +[tool.pytest.ini_options] +addopts = "--cov=codespell_lib -rs --cov-report= --tb=short --junit-xml=junit-results.xml" diff --git a/setup.cfg b/setup.cfg deleted file mode 100644 index fe05ee4f73..0000000000 --- a/setup.cfg +++ /dev/null @@ -1,6 +0,0 @@ -[tool:pytest] -addopts = --cov=codespell_lib -rs --cov-report= --tb=short - -[flake8] -exclude = build, ci-helpers -ignore = diff --git a/setup.py b/setup.py deleted file mode 100755 index 4fe2f90ac6..0000000000 --- a/setup.py +++ /dev/null @@ -1,6 +0,0 @@ -#! /usr/bin/env python - -from setuptools import setup - -if __name__ == "__main__": - setup()