Fix: Ensure fish completion handles multiline help strings correctly #3126
+71
−8
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request addresses issue #3043 by correctly handling multiline help strings when generating shell completion scripts for the fish shell.
Problem:
Previously, commands with multiline help text would cause errors or incorrect completion behavior in fish shell due to improper escaping of newlines within the help strings.
Changes:
src/click/shell_completion.pyto correctly escape newline characters (\n) within help texts before outputting them to the fish completion script.tests/test_shell_completion.py::test_fish_multiline_help_completeto specifically verify that multiline help strings are processed correctly and do not cause errors.CHANGES.rstfile has been updated to include this fix, referencing issue Multi-line help text is not handled correctly in fish #3043..gitignorefile was also updated as part of the pre-commit hooks.fixes #3043