Skip to content
Snippets Groups Projects
Select Git revision
9 results

cli_readline.c

Blame
    • James Byrne's avatar
      fc18e9b3
      common: cli_readline: Improve command line editing · fc18e9b3
      James Byrne authored
      
      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: default avatarJames Byrne <james.byrne@origamienergy.com>
      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).
      fc18e9b3
      History
      common: cli_readline: Improve command line editing
      James Byrne authored
      
      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: default avatarJames Byrne <james.byrne@origamienergy.com>
      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).