<#17737 Dynamic UI is used and results in poor out...
# github-notifications
q
#17737 Dynamic UI is used and results in poor output within TERM=dumb contexts like emacs compilation-mode Issue created by huonw Describe the bug When I run pants within a
compilation-mode
buffer in Emacs 28, I find I have to set
PANTS_DYNAMIC_UI=false
, because the dynamic UI ends up with each progress update on its own line. This means: • it's very hard to find the useful output: error messages are hidden • the overhead of rendering all those lines seem to be enough to make the build slower Video shows
M-x compile
./pants fmt ::
in the pants repo, generating thousands of lines of output (I cut it off at ~1.3k, but it does eventually succeed), while a normal run is more like 100: Untitled.mov I'd be expecting pants to either: • have the dynamic UI work 'properly', like it does in other terminals (i.e. all the lines with spinners are transient/overwritten) • disable the dynamic UI automatically A TQDM progress bar like the following works fine, with normal dynamic behaviour:
M-x compile
python pbar.py
Copy code
# pbar.py
from tqdm import tqdm # tqdm==4.64.1
import time

for i in tqdm(range(1000)):
    time.sleep(0.01)
Untitled.2.mov Similarly for another random spinner library I found:
Copy code
import halo # halo==0.0.31
import time
halo.Halo(text="whatever", spinner="dots").start()
time.sleep(10)
Pants version 2.14.0 in our repo, current head (bca1b5a) of pants repo running against itself OS GNU Emacs 28.1 (build 1, aarch64-apple-darwin21.1.0, NS appkit-2113.00 Version 12.0.1 (Build 21A559)) of 2022-04-05 (macOS) Additional info N/A pantsbuild/pants