We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent d699f64 commit a9498d2Copy full SHA for a9498d2
1 file changed
pre_commit/output.py
@@ -1,15 +1,29 @@
1
from __future__ import unicode_literals
2
3
+import os
4
+import subprocess
5
import sys
6
7
from backports.shutil_get_terminal_size import get_terminal_size
8
9
from pre_commit import color
10
from pre_commit import five
11
-# TODO: smell: import side-effects
-# TODO: https://github.com/chrippa/backports.shutil_get_terminal_size/issues/4
12
-COLS = get_terminal_size().columns or 80
+
13
+def _get_cols_from_tput(): # pragma: no cover (fallback)
14
+ if not os.environ.get('TERM'):
15
+ return 80
16
+ else:
17
+ return int(
18
+ subprocess.Popen(
19
+ ('tput', 'cols'), stdout=subprocess.PIPE,
20
+ ).communicate()[0] or
21
+ # Default in the case of no terminal
22
+ 80
23
+ )
24
25
26
+COLS = get_terminal_size((0, 0)).columns or _get_cols_from_tput()
27
28
29
def get_hook_message(
0 commit comments