-
Notifications
You must be signed in to change notification settings - Fork 16
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: UI overhaul #40
Conversation
… load in current window
There is still going to be work to do to improve the UI behaviour and there are likely going to be changes made to both the key bindings and the semantics of the UI operations so I'm not going to call things "stable" at this point but they are working well enough that I'm going to merge this and play around with it for a while before publishing a new release. |
Wohoo. This is really nice. I've got the diff view open to remember the new keybindings, but it is really nice to have more than one window in an ad session ❤️ thanks! |
Thanks @srenatus! I want / need to get some auto-generated docs for the key bindings into |
It's fine, no need to rush this from my end 👍 Thanks! |
This PR involves pulling all of the UI related logic out of the main
Editor
andBuffer
structs so that it is handled centrally in a way that is easier to reason about. It also introduces the concept of aWindow
to draw a distinction between the contents of a givenBuffer
and the user interface view of thatBuffer
.Management of these windows is going to follow the UI paradigm of acme where the user can decide a number of columns and then move windows between those columns. Unlike acme it is not required that all open buffers have their own window, which means that there is some work to be done around how the user manages and decides when they want to open a new window vs replace the contents of an existing one.
Demo
ad-ui-overhaul-2024-10-27_13.17.03.mp4
Future work