The default exclude patterns are anchored to the start of the path as given, so they only match when the excluded directory sits directly under the current working directory. Checking a subdirectory or an absolute path descends into venvs, __pycache__, and other directories that should be excluded.
Reproducer — given a tree:
proj/
.venv/file.py
__pycache__/file.py
$ docsig proj
$ docsig /abs/path/to/proj
Both descend into .venv/ and report errors for files that the default excludes are meant to skip. Only docsig . run from inside proj/ behaves correctly.
Expected: the default excludes apply however the checked path is given — relative, a subdirectory, or absolute.
The default exclude patterns are anchored to the start of the path as given, so they only match when the excluded directory sits directly under the current working directory. Checking a subdirectory or an absolute path descends into venvs,
__pycache__, and other directories that should be excluded.Reproducer — given a tree:
Both descend into
.venv/and report errors for files that the default excludes are meant to skip. Onlydocsig .run from insideproj/behaves correctly.Expected: the default excludes apply however the checked path is given — relative, a subdirectory, or absolute.