pre-commit/tests
Claude c064dd83df
Cap hook output at terminal width to prevent wrapping
Previously, _compute_cols() would calculate the ideal column width based
on hook names and message lengths, with a minimum of 80 columns. However,
it didn't consider the actual terminal width, causing the "Passed/Failed"
status to wrap to the next line on narrower terminals.

This change:
- Adds terminal width detection using shutil.get_terminal_size()
- Caps the column width at the terminal width to prevent wrapping
- Maintains the minimum of 80 columns when terminal is wide enough
- Falls back to 80 columns if terminal size cannot be determined

The algorithm now ensures output always fits within the terminal width,
similar to how pytest handles its output formatting.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Kamil Monicz <kamil@monicz.dev>
Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-28 13:28:22 +00:00
..
commands Cap hook output at terminal width to prevent wrapping 2025-10-28 13:28:22 +00:00
languages handle SecurityOptions: null in docker response 2025-09-06 14:40:20 -04:00
meta_hooks drop python 3.6 support 2022-01-18 18:44:20 -05:00
__init__.py Initial commit. 2014-03-12 20:25:19 -07:00
clientlib_test.py add warning for deprecated stages values in default_stages 2024-09-30 19:22:14 -04:00
color_test.py drop python 3.6 support 2022-01-18 18:44:20 -05:00
conftest.py replace log_info_mock with pytest's caplog 2024-09-30 19:58:16 -04:00
envcontext_test.py drop python 3.6 support 2022-01-18 18:44:20 -05:00
error_handler_test.py Remove expected_returncode from CalledProcessError 2022-10-30 15:31:45 -05:00
git_test.py fix: crash on ambiguous ref 'HEAD' 2025-03-15 15:23:15 -04:00
lang_base_test.py Refactor target_concurrency tests 2023-09-10 08:39:19 -04:00
logging_handler_test.py drop python 3.6 support 2022-01-18 18:44:20 -05:00
main_test.py make --hook-type and stages match 2023-03-11 14:26:14 -05:00
output_test.py drop python 3.6 support 2022-01-18 18:44:20 -05:00
parse_shebang_test.py use sys.executable instead of echo.exe in parse_shebang 2023-10-09 16:49:30 -04:00
prefix_test.py drop python 3.6 support 2022-01-18 18:44:20 -05:00
repository_test.py remove deprecated python_venv alias 2024-10-05 13:30:25 -04:00
staged_files_only_test.py staged_files_only can handle a crlf-only diff 2024-02-10 14:01:49 -05:00
store_test.py add warning for deprecates stages for remote repos on init 2024-09-30 20:41:50 -04:00
util_test.py fix trailing whitespace in CalledProcessError output 2023-02-21 12:42:09 -05:00
xargs_test.py Refactor target_concurrency tests 2023-09-10 08:39:19 -04:00
yaml_rewrite_test.py change migrate-config to use yaml parse tree instead 2024-09-16 20:16:16 -04:00