cantino / mcfly

Fly through your shell history. Great Scott!
MIT License
6.87k stars 176 forks source link

Scroll search results according to window height #68

Open aik099 opened 4 years ago

aik099 commented 4 years ago

When Terminal window can't fit all 10 results, then attempt to navigate into 6+ result just moves selection cursor out of the screen.

I'm proposing to implement clever scrolling, where search results are scrolled to fit inside visible Terminal window area.

CASE1 (works currently): when 10 results fits initially (14 lines occupied):

McFly | ESC - Exit | ⏎ - Run | TAB - Edit | F2 - Delete                                                                           

$ 

result1 <--- cursor here
result2
result3
result4
result5
result6
result7
result8
result9
result10

CASE2 (works currently): When 6 results fits initially (10 lines occupied):

McFly | ESC - Exit | ⏎ - Run | TAB - Edit | F2 - Delete                                                                           

$ 

result1 <--- cursor here
result2
result3
result4
result5
result6

CASE3 (proposed): When 6 results fits and I've scrolled to 7th result (10 lines occupied):

McFly | ESC - Exit | ⏎ - Run | TAB - Edit | F2 - Delete                                                                           

$ 

result2
result3
result4
result5
result6
result7 <--- cursor here

Real use case: Terminal opened inside PhpStorm.

cantino commented 4 years ago

If you’d like to work on contributing this, it’s be most welcome!

On Fri, Oct 4, 2019 at 2:17 AM Alex notifications@github.com wrote:

When Terminal window can't fit all 10 results, then attempt to navigate into 6+ result just moves selection cursor out of the screen.

I'm proposing to implement clever scrolling, where search results are scrolled to fit inside visible Terminal window area. CASE1 (works currently): when 10 results fits initially (14 lines occupied):

McFly | ESC - Exit | ⏎ - Run | TAB - Edit | F2 - Delete

$

result1

result2

result3

result4

result5

result6

result7

result8

result9

result10

CASE2 (works currently): When 6 results fits initially (10 lines occupied):

McFly | ESC - Exit | ⏎ - Run | TAB - Edit | F2 - Delete

$

result1

result2

result3

result4

result5

result6

CASE3 (proposed): When 6 results fits and I've scrolled down once (10 lines occupied):

McFly | ESC - Exit | ⏎ - Run | TAB - Edit | F2 - Delete

$

result2

result3

result4

result5

result6

result7

Real use case: Terminal opened inside PhpStorm.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/cantino/mcfly/issues/68?email_source=notifications&email_token=AAAUO64VORPVRLPCV5XH2RLQM4C3JA5CNFSM4I5NJ6R2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HPT5MFQ, or mute the thread https://github.com/notifications/unsubscribe-auth/AAAUO66JYGO72MLG4XTZZN3QM4C3JANCNFSM4I5NJ6RQ .

aik099 commented 4 years ago

Unfortunately I can't. Sorry.