Skip to content
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

make scrolling more intelligent #3

Open
tromey opened this issue Apr 29, 2015 · 2 comments
Open

make scrolling more intelligent #3

tromey opened this issue Apr 29, 2015 · 2 comments
Milestone

Comments

@tromey
Copy link
Owner

tromey commented Apr 29, 2015

Right now the source window scrolls naively. It would be great if it were more intelligent.

The ideal would be if we could get loop information out of gdb, so we could scroll the window to show the entirety of a loop. This isn't available though.

When entering a new function we should try to display it -- centering the function in the window if it is small enough, but otherwise showing the start of the function at the top.

When stepping we could adopt a somewhat emacs-like approach. After N steps that scroll a single line, we could scroll so that point is centered. Then if we have to scroll backward within a function, assume there is a loop and scroll so that point is at the top of the window (to try to keep the entire loop visible).

@tromey tromey added this to the 1.0 milestone May 2, 2015
@tromey
Copy link
Owner Author

tromey commented May 17, 2015

Another case to consider is up/down. Here "same frame" isn't the relevant distinction but instead the window should save scroll positions with the buffer, or something like that.

@tromey
Copy link
Owner Author

tromey commented Nov 10, 2016

Now I'm thinking of having two margins: an "outer" margin, where if stepping moves past that point, the text is scrolled; and an "inner" margin which indicates how much more text to show.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant