Open yarikoptic opened 10 months ago
$ echo unecessary > foobar
$
$ codespell foobar
foobar:1: unecessary ==> unnecessary
$
$ codespell -S foobar foobar
$
Could it be that .codespellrc
is not taken into account when codespell is run by pre-commit?
-H
/--check-hidden
help?
- Could it be that
.codespellrc
is not taken into account when codespell is run by pre-commit?
I think it might be more of the case of directories listed in skip
❯ grep skip .codespellrc
skip = .git,*.pdf,*.svg,versioneer.py,package-lock.json,_vendor,*.css
❯ codespell
❯ codespell **/_vendor
src/prefect/_vendor/fastapi/utils.py:131: unecessary ==> unnecessary
2. Does option
-H
/--check-hidden
help?
oh, it does! besides that I need to skip
.codespellrc
explicitly then. I should probably make this "default" in my "codespellit" script.
oh, it does! besides that I need to
skip
.codespellrc
explicitly then. I should probably make this "default" in my "codespellit" script.
Mmmh.. I wonder whether we should always skip files named .codespellrc
.
❯ grep skip .codespellrc
skip = .git,*.pdf,*.svg,versioneer.py,package-lock.json,_vendor,*.css
❯ codespell
❯ codespell src
❯ codespell src/prefect
❯ codespell src/prefect/_vendor
src/prefect/_vendor/fastapi/utils.py:131: unecessary ==> unnecessary
❯ codespell src/prefect/_vendor/fastapi
src/prefect/_vendor/fastapi/utils.py:131: unecessary ==> unnecessary
It looks like we don't test well enough the root directory passed as an argument.
FWIW, if I have missed the point above -- seems to apply also for target filename, not just folder:
❯ codespell community/front-end/ofe/
❯ codespell community/front-end/
❯ codespell community/
❯ codespell
❯ codespell --version
2.2.6
❯ pre-commit run --all codespell
codespell................................................................Failed
- hook id: codespell
- exit code: 65
community/front-end/ofe/requirements.txt:4: astroid ==> asteroid
community/front-end/ofe/website/ghpcfe/static/js/bootstrap.bundle.js:2947: trough ==> through
community/front-end/ofe/website/ghpcfe/static/js/bootstrap.bundle.js:3420: othwerise ==> otherwise
community/front-end/ofe/website/ghpcfe/static/js/bootstrap.bundle.js:3842: ofset ==> offset, of set
community/front-end/ofe/website/ghpcfe/static/js/bootstrap.bundle.js:3873: trough ==> through
community/front-end/ofe/website/ghpcfe/static/js/jquery.formset.js:166: thnaks ==> thanks
community/front-end/ofe/website/ghpcfe/static/js/jquery-ui.js:2176: guarnteed ==> guaranteed
community/front-end/ofe/website/ghpcfe/static/js/jquery-ui.js:6353: enhancments ==> enhancements
community/front-end/ofe/website/ghpcfe/static/js/jquery-ui.js:6521: enhancment ==> enhancement
community/front-end/ofe/website/ghpcfe/static/js/jquery-ui.js:7308: multipe ==> multiple
community/front-end/ofe/website/ghpcfe/static/js/jquery-ui.js:8018: Deffered ==> Differed, Deferred
community/front-end/ofe/website/ghpcfe/static/js/jquery-ui.js:8827: calender ==> calendar
community/front-end/ofe/website/ghpcfe/static/js/jquery-ui.js:8918: calender ==> calendar
community/front-end/ofe/website/ghpcfe/static/js/jquery-ui.js:8920: calender ==> calendar
community/front-end/ofe/website/ghpcfe/static/js/jquery-ui.js:8923: calender ==> calendar
community/front-end/ofe/website/ghpcfe/static/js/jquery-ui.js:8925: calender ==> calendar
community/front-end/ofe/website/ghpcfe/static/js/jquery-ui.js:8927: calender ==> calendar
community/front-end/ofe/website/ghpcfe/static/js/jquery-ui.js:8930: calender ==> calendar
community/front-end/ofe/website/ghpcfe/static/js/jquery-ui.js:8932: calender ==> calendar
community/front-end/ofe/website/ghpcfe/static/js/jquery-ui.js:8945: calender ==> calendar
community/front-end/ofe/website/ghpcfe/static/js/jquery-ui.js:8956: calender ==> calendar
community/front-end/ofe/website/ghpcfe/static/js/jquery-ui.js:8988: calender ==> calendar
community/front-end/ofe/website/ghpcfe/static/js/jquery-ui.js:8995: calender ==> calendar
community/front-end/ofe/website/ghpcfe/static/js/jquery-ui.js:8997: calender ==> calendar
community/front-end/ofe/website/ghpcfe/static/js/jquery-ui.js:9493: overriden ==> overridden
community/front-end/ofe/website/ghpcfe/static/js/jquery-ui.js:10468: modfied ==> modified
community/front-end/ofe/website/ghpcfe/static/js/jquery-ui.js:12226: openening ==> opening
community/front-end/ofe/website/ghpcfe/static/js/jquery-ui.js:13972: inital ==> initial
community/front-end/ofe/website/ghpcfe/static/js/jquery-ui.js:16590: get's ==> gets
community/front-end/ofe/website/ghpcfe/static/js/jquery-ui.js:17906: durning ==> during
❯ grep skip .codespellrc
skip = .git,*.pdf,*.svg,*.min.js,*.js.map,js,requirements.txt
ping on this issue -- any hope to get it addressed soon? need help?
I think this one is tougher than it seems.
Suppose we have this setup:
a
└── b
└── c
└── file.txt
If the skip list contains b/c
, it should work with all of:
codespell -S b/c a
codespell -S b/c a/b
codespell -S b/c a/b/c
codespell -S b/c a/b/c/file.txt
Perhaps all cases are not relevant with pre-commit, but they should be addressed nevertheless.
To properly work under Windows, the path separator may need to be normalised.
Also should paths be normalised?
codespell -S b/c a/b/c/../../another_dir/another_file.txt
Also should paths be normalised?
yeah, probably since otherwise no way for all path components consideration, but then I think only the relative to CWD should be taken since otherwise the full path could contain it e.g. /home/mine/a/b/some/project/do/not/skip/me
It depends on how pre-commit calls codespell. Paths relative to CWD or absolute paths?
while at it (in django-rest-framework)
and the same when I run from subfolder. So - relative paths. I even did modification of a single file within subfolder and invoked within subfolder -- got relative path from the top
I ran into it before but forgot to report, and now didn't find open issue. Currently inspired by https://github.com/PrefectHQ/prefect/pull/10893 where running
codespell
in CLI directly results in no hits, butpre-commit
reports:Problems:
If I define files to
skip
in codespell configuration (e.g. in.codespellrc
), those files will not be skipped inpre-commit run --all
since ( I guess) pre-commit would pass those paths explicitly tocodespell
invocation and thus it would not account forskip
.Also, complimentary, may be
codespell
should check in.dotdirs
like.github
etc?