MercuryTechnologies / ghciwatch

Load a GHCi session for a Haskell project and reload it when source files change
https://mercurytechnologies.github.io/ghciwatch/
MIT License
111 stars 10 forks source link

Fix incorrect auto-scroll/follow behavior in TUI #306

Closed evanrelf closed 3 months ago

evanrelf commented 3 months ago

The code to follow logs had a bug where it'd increment the scroll offset regardless of how much of the screen was filled, so on startup it would start "following", pushing the logs up off the top.

This PR adds a second check to wait until the logs have filled the screen before auto-incrementing the scroll offset to follow.


I also tweaked the formatting of the key mapping matches to be more readable (IMO) and introduced a rudimentary debug status bar (hidden by default) which was essential for understanding this bug and fixing it.

I've found keeping debug info like this readily available to be a huge boon when working on my text editor project. I recommend keeping this in the code, at least while the TUI is in an experimental stage. But I'm also happy to remove if you'd rather not include that change.


Commits are atomic; I recommend reviewing them individually.

github-actions[bot] commented 3 months ago

A PR to release these changes has been created, bumping the version from 1.0.0 to 1.0.1.