pre-commit / pre-commit-hooks

Some out-of-the-box hooks for pre-commit
MIT License
5.2k stars 694 forks source link

Add argument to skip formatting in f-string with `double-string-fixer` #1045

Closed SachiaLanlus closed 4 months ago

SachiaLanlus commented 4 months ago

Thank you for this great project. It saves me so much time for chore stuff. However there is a thing about double-string-fixer annoying me these days. My team's dev env is set to be Python 3.8. But my dev env is Python 3.12 for some script to run. But if I trigger a pre-commit. It will change the quote sign in nested f-string for me. Which is not allowed in the Python 3.8. Is there any method to skip this check inside f-string or to specify python-version in argument?

I think this issue is related to https://github.com/pre-commit/pre-commit-hooks/issues/971 and https://github.com/pre-commit/pre-commit-hooks/pull/973

asottile commented 4 months ago

you're using an outdated version

SachiaLanlus commented 4 months ago

you're using an outdated version

I don't think so. I mean the target env is Python 3.8. So the quote sign in f-string should not be the same as the outer. But the env which I execute pre-commit is Python 3.12. The only way to let it respect Python 3.8 standard is to set the default_language_version. I just wonder if there is a argument or flag to indicate the target version of this single rule.

asottile commented 4 months ago

show your configuration then

SachiaLanlus commented 4 months ago

show your configuration then

I will paste the config when I back to work tmr.

SachiaLanlus commented 4 months ago

looks like you are right. update to the latest version fix the issue. thank you

asottile commented 4 months ago

try that before reporting an issue next time