Modernize packaging using setuptools, build, and setuptools_scm instead of pbr.
spelling:ignorerole for marking inline text to not be checked. See Configuration Options for more details.
#193 Remove excessive debug printing in :spelling:word: and spelling builder implementations.
#188 Fix :spelling:word: directives from being printed verbatim in output files.
Convert to use Sphinx domains. Add
spellingdirective report that it is deprecated.
spelling:wordrole for marking inline text as spelled correctly.
#180 Suppress SystemExit errors in ImportableModuleFilter caused by importing modules that run code on import and exit when that code sees an error. Bug report and reproducer provided by Trevor Gross.
#151 Added configuration option to limit the number of suggestions output. See Configuration Options for more details. Idea contributed by Trevor Gross.
#169 Adds the ability to pass in multiple wordlists via the sphinx command line as
#36 Include captions of figures in the set of nodes for which the text is checked.
#160 Fixed issue with the builder crashing when reporting a misspelled word in a python docstring.
Fix a problem that occurred when the extra word list is empty and an IndexError is thrown. Prevent the error by checking the contents of the file before using the list.
#153 Ensure the correct relative filename is reported as the location of a misspelled word when the word is in an included file. Log the location ourselves instead of letting the logging system compute it for consistency until the fix is merged into Sphinx.
Change default env list for local tox runs to only include the current python version, as defined by the installation of tox.
Tell tox to pass PYENCHANT_LIBRARY_PATH through to commands. On macOS it can be a little tricky to set up libenchant if your default python does not match the one used by Homebrew for the library. Setting the variable to point to the library fixes that, but we don’t want to set it in this file for everyone so use passenv to tell tox to pass the setting through when running the commands for each env.
#159 Report using the line number of the misspelled word instead of using the first line of the node, in both the log and .spelling output file.
__main__as a special module name that cannot be imported. If the test suite is invoked by running
python -m pytestinstead of
pytestthen there will be no
__main__and find_spec() will fail, so this change makes the tests work in both modes.
#144 Fix python filename handling in
ImportableModuleFilter. If the word looks like a python module filename, strip the extension to avoid the side-effect of actually importing the module. This prevents, for example,
'setup.py'triggering an import of the
setupmodule during a doc build, which makes it look like Sphinx is complaining about a commandline argument.
#137 replace the use of deprecated
#123 adds the
spelling_verboseconfiguration option for controlling whether misspelled words are printed to the console as well as the output log files. See Output Options for details.
#116 adds a config option spelling_warning that makes individual messages about misspellings warnings. The same change also updates the formatting of the message to make it easier for IDEs to parse, allowing the editor to navigate to the location of the misspelled word. See Output Options for details. Contributed by Robert Cohn.
#105 reverts a change that switched from imp to importlib. Using importlib.find_spec() is not safe at runtime as it can import modules which will cause side effects within environments.
This major release drops support for Python 3.5. This version is not maintained anymore.
Fixes an issue with ellipsis incorrectly being interpreted as relative imports and triggering a ValueError in the ImportableModuleFilter. See #96 for details.
With this release, sphinxcontrib-spelling moves from beta to stable. It also updates the use of Python 3, including packaging metadata, code style, and test configuration.
Add packaging metadata declaring the project stable.
Add packaging metadata declaring support for Python 3 only.
Add packaging metadata indicating that this is a sphinx extension.
Replace use of deprecated imp module with importlib.
Update use of pyenchant.get_tokenizer() to pass filters argument as a keyword and avoid a runtime warning message.
Remove unused test dependency on fixtures.
Use pyupgrade to modernize the source code.
Added a new filter (
sphinxcontrib.spelling.filters.ContributorFilter) that treats contributor names extracted from the git history as spelled correctly, making it easier to refer to the names in acknowledgments . Includes a new configuration option,
spelling_ignore_contributor_namesto enable it.
Add a configuration option
spelling_exclude_patternsto manage skipping spell checking for some input files. The option uses a list of glob-style patterns that are matched against the source file names relative to the source directory. See Configuration Options for more details. Contributed by sdelliot.
Updated to only create
.spellingoutput files for inputs that generate spelling warnings. Fixes #63.
The builder is now registered using an entry point, so that if the
spellingdirective is not used in a project
sphinxcontrib.spellingdoes not need to be included explicitly in the
conf.pyin order to use it with the project on the command line.
PyEnchant is an optional dependency. If it is not installed, the spell checker will not work, but the extension can still be initialized. This allows projects that use spell checking to publish their documentation to
readthedocs.org, where it is not possible to install PyEnchant.
Restore support for parallel builds. Words that do not appear in any configured dictionary are written to a file named based on the input file, with the
.rstextension replaced with
Mark as unsafe for parallel builds (contributed by Jared Dillard)
Add -W arg to sphinx-build in docs so warnings cause error (contributed by Elsa Gonsiorowski, PhD)
Add an option to show the line containing a misspelling for context (contributed by Huon Wilson)
Drop Python 2.7 support. (contributed by Johannes Raggam)
pyenchant is now maintained (contributed by Adam Johnson
Logging: use warning() instead of its deprecated alias (contributed by Sergey Kolosov)
Support additional contractions (contributed by David Baumgold)
require Sphinx >= 2.0.0
declare support for Python 3.6
fix remaining logging issue (contributed by Timotheus Kampik)
Remove usage of deprecated logging API (contributed by Tim Graham)
Fix a bug with empty word lists (contributed by FabioRosado)
Update dependency management to use setuptools extras
Document how to create multiple wordfiles (contributed by FabioRosado)
Note that PyEnchant is unmaintained and fix links (contributed by Marti Raudsepp)
Don’t use mutable default argument (contributed by Daniele Tricoli)
Make it possible to provide several wordlists (contributed by Tobias Olausson)
Update developer documentation (contributed by Tobias Olausson)
Update home page link (contributed by Devin Sevilla)
use the right method to emit warnings
disable smart quotes so that we can recognize contractions/possessives correctly (contributed by Alex Gaynor)
Don’t fail by default (contributed by Stephen Finucane)
Mark the extension as safe for parallel reading (contributed by Alex Gaynor)
be more verbose about configuration options
switch to testrepository for running tests
update Python 3.3 to 3.5
make it possible to specify tokenizer #7 (contributed by Timotheus Kampik)
pypi.python.orgpackage name checker (contributed by John-Scott Atlakson)
Removed unnecessary shebang lines from non-script files (contributed by Avram Lubkin)
Re-enable the PyEnchant dependency (contributed by Julian Berman)
Fixed issue with six under Python 3.4
str.isupper()instead of ad-hoc method
fix syntax for tags directive
Removed no more used CHANGES file
Fix unicode error in
Make error output useful in emacs compiler mode
Only show the words being added to a local dictionary if debugging is enabled.
Add Python 3.3 support.
Add PyPy support.
Use pbr for packaging.
Update tox config to work with forked version of PyEnchant until changes are accepted upstream.
Fixed detection of builtins under PyPy, contributed by Hong Minhee (https://bitbucket.org/dahlia).
Handle text nodes without parents. (#19)
Include the input document name in the console output.
Use the Sphinx wrapper for registering a directive.
Add the document name to the messages showing the contents of a local dictionary created by the
Add title nodes to the list of node types checked for spelling. Resolves issue #17.
Add test/test_wordlist.txt to the manifest so it is included in the source distribution and the tests will pass. Resolves issue #17.
Documentation patch from Hank Gay.
Fix initialization so the per-document filters work even if no
spellingdirective is used.
Add an option treat the names of packages on PyPI as spelled properly.
Add an option to treat CamelCase names as spelled properly.
Add an option to treat acronyms as spelled properly.
Add an option to treat Python built-ins as spelled properly.
Add an option to treat names that can be found as modules as spelled properly.
Add an option to let the user provide a list of other filter classes for the tokenizer.
spellingdirective for passing local configuration settings to the spelling checker. This version allows setting a list of words known to be spelled correctly.
Re-implement using just a Builder, without a separate visitor class.
Show the file and line number of any words not appearing in the dictionary, instead of the section title.
Log the file, line, and unknown words as the documents are processed.
Warn but otherwise ignore unknown node types.
First public release.