Add support for very long lines
Shell history suggest box - easily view, navigate, search your history
Brought to you by:
mindraider
Originally created by: nkoester
I sometime have quite long commands (variable exports, command calls with parameters, etc.) which are so long that hstr only displays a part of it (the beginning). These calls often differ somewhere at the end and this info is not visible. Choosing the right command is then more of a guess ...
Example:
nkoester@calcit$ Type to filter, UP/DOWN move, D - HISTORY - view:history (C-/) - match:keywords (C-e) - case:insensitive (C-t) - --------------------------------------------- rsb-loggercl --max-queued-events=1 --on-error=continue --idl-path="/some/path/releases/trusty/and/folder/ab/asdf/share/rst0.11/proto/sta rsb-loggercl --max-queued-events=1 --on-error=continue --style=detailed spread:/ rsb-loggercl --max-queued-events=1 --on-error=continue --idl-path="/some/path/releases/trusty/blubb/asdf/share/rst0.11/proto/stable/ export PYTHONPATH=/some/long/path/to/somewhere//lib/python2.7/site-packages:/releases/trusty/and/folder/aab/asdf/share/lib/python2.7/sit export PYTHONPATH=/some/long/path/to/somewhere//lib/python2.7/site-packages:/releases/trusty/and/folder/aab/asdf/share/lib/python2.7/sit
As these calls do differ (somewhere at the end which is not displayed), I think it would be nice to be either (A) scroll vertically (also not very intuitive...) or (B) create "multi line" entries if the command is longer than the current terminal width. It could look something like this:
nkoester@calcit$ Type to filter, UP/DOWN move, D - HISTORY - view:history (C-/) - match:keywords (C-e) - case:insensitive (C-t) ------- rsb-loggercl --max-queued-events=1 --on-error=continue --idl-path="/some/long/path/ to/somewhere/share/rst0.11/proto/stable/ [...MORE LOST INFORMATION ...] rsb-loggercl --max-queued-events=1 --on-error=continue --style=detailed spread:/home/ control/motionsensor/ rsb-loggercl --max-queued-events=1 --on-error=continue --style=detailed spread:/ rsb-loggercl --max-queued-events=1 --on-error=continue --idl-path="/some/long/path/ to/somewhere/share/rst0.11/proto/stable/ [... OTHER LOST INFO ...] export PYTHONPATH=/some/long/path/to/somewhere/lib/python2.7/site-packages:/vol/csra /releases/trusty/lsp-csra-nightly/lib/python2.7/sit [... MORE INFO ...]
I think idea (B) can be quite a lot of work to implement but would be the nicest.