quaint-telephone-89068
12/07/2022, 1:10 AMcompilation-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
# 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:
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