21 Aug, 2016

1 commit

  • This improves the cread_line() function so that it will correctly
    process the 'Home', 'End', 'Delete' and arrow key escape sequences
    produced by various terminal emulators. This makes command line editing
    a more pleasant experience.

    The previous code only supported the cursor keys and the 'Home' key, and
    only for certain terminal emulator configurations. This adds support for
    the 'End and 'Delete' keys, and recognises a wider range of escape
    sequences. For example, the left arrow key can be 'ESC O D' instead of
    'ESC [ D', and the 'Home' key can be 'ESC [ H', 'ESC O H', 'ESC 1 ~' or
    'ESC 7 ~', depending on what terminal emulator you use and how it is
    configured.

    Signed-off-by: James Byrne
    Changes for v2
    - Explicitly initialize variable to avoid spurious compiler warning.
    Changes for v3
    - Remove unnecessary setting of 'act' to ESC_REJECT (now its default
    value).

    James Byrne
     

13 Aug, 2015

1 commit


30 May, 2014

3 commits