rschmitt / heatseeker

A high-performance Selecta clone, written in Rust.
MIT License
214 stars 10 forks source link

Shift-Tab for previous. #20

Closed meh closed 7 years ago

meh commented 7 years ago

It would be nice if shift-tab worked to go to the previous match, I'm used to that kind of setup.

Great tool by the way!

rschmitt commented 7 years ago

That has occurred to me, actually. I don't remember if I tried to implement it.

meh commented 7 years ago

I could look into it myself and send a pull request if you want.

Also an unrelated thank you, I'm making a terminal emulator and heatseeker found a behavioral bug in the way cursor saving and restoring works that vttest didn't show.

rschmitt commented 7 years ago

That probably wouldn't be the first time heatseeker found that bug:

         // Writing this carriage return works around a rendering bug in
         // Neovim's terminal emulation. Without it, the cursor flies
         // around all over the place while typing, and the input prompt
         // is not rendered correctly. I have no idea why this workaround
         // is effective, or why others are not, or what the root cause
         // of the issue is (likely something involving save/restore
         // support).
         self.tty.write(b"\r");

I've added POSIX Shift-Tab support in dfee079576fc2f70b1d77455c7b83f671bb5cc58, so that just leaves Windows.

meh commented 7 years ago

Thanks, seems like it's working.

As a side note, you might want to consider using termion or at least use terminfo to know what control codes to look for, or it might end up not working properly on some terminals.

rschmitt commented 7 years ago

That's probably a good idea. There are a lot of useful libraries now that didn't exist when I started this project.

Anyway, I'm still not sure how to support Shift-Tab on Windows, but I'll keep looking into it.