mirror of
https://github.com/pre-commit/pre-commit.git
synced 2026-02-17 08:14:42 +04:00
Fall back to tput when terminal size information is missing
This commit is contained in:
parent
d699f64de8
commit
a9498d28a7
1 changed files with 17 additions and 3 deletions
|
|
@ -1,5 +1,7 @@
|
||||||
from __future__ import unicode_literals
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
|
import os
|
||||||
|
import subprocess
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
from backports.shutil_get_terminal_size import get_terminal_size
|
from backports.shutil_get_terminal_size import get_terminal_size
|
||||||
|
|
@ -7,9 +9,21 @@ from backports.shutil_get_terminal_size import get_terminal_size
|
||||||
from pre_commit import color
|
from pre_commit import color
|
||||||
from pre_commit import five
|
from pre_commit import five
|
||||||
|
|
||||||
# TODO: smell: import side-effects
|
|
||||||
# TODO: https://github.com/chrippa/backports.shutil_get_terminal_size/issues/4
|
def _get_cols_from_tput(): # pragma: no cover (fallback)
|
||||||
COLS = get_terminal_size().columns or 80
|
if not os.environ.get('TERM'):
|
||||||
|
return 80
|
||||||
|
else:
|
||||||
|
return int(
|
||||||
|
subprocess.Popen(
|
||||||
|
('tput', 'cols'), stdout=subprocess.PIPE,
|
||||||
|
).communicate()[0] or
|
||||||
|
# Default in the case of no terminal
|
||||||
|
80
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
COLS = get_terminal_size((0, 0)).columns or _get_cols_from_tput()
|
||||||
|
|
||||||
|
|
||||||
def get_hook_message(
|
def get_hook_message(
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue