[readline] Accept Ctrl-U for "delete to start of line"
Signed-off-by: Michael Brown <mcb30@ipxe.org>
This commit is contained in:
parent
b9720e4ebf
commit
aac9718fd6
@ -36,6 +36,7 @@ static void insert_character ( struct edit_string *string,
|
|||||||
unsigned int character ) __nonnull;
|
unsigned int character ) __nonnull;
|
||||||
static void delete_character ( struct edit_string *string ) __nonnull;
|
static void delete_character ( struct edit_string *string ) __nonnull;
|
||||||
static void backspace ( struct edit_string *string ) __nonnull;
|
static void backspace ( struct edit_string *string ) __nonnull;
|
||||||
|
static void kill_sol ( struct edit_string *string ) __nonnull;
|
||||||
static void kill_eol ( struct edit_string *string ) __nonnull;
|
static void kill_eol ( struct edit_string *string ) __nonnull;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -108,6 +109,17 @@ static void backspace ( struct edit_string *string ) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Delete to start of line
|
||||||
|
*
|
||||||
|
* @v string Editable string
|
||||||
|
*/
|
||||||
|
static void kill_sol ( struct edit_string *string ) {
|
||||||
|
size_t old_cursor = string->cursor;
|
||||||
|
string->cursor = 0;
|
||||||
|
insert_delete ( string, old_cursor, NULL );
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Delete to end of line
|
* Delete to end of line
|
||||||
*
|
*
|
||||||
@ -168,6 +180,10 @@ int edit_string ( struct edit_string *string, int key ) {
|
|||||||
/* Delete character */
|
/* Delete character */
|
||||||
delete_character ( string );
|
delete_character ( string );
|
||||||
break;
|
break;
|
||||||
|
case CTRL_U:
|
||||||
|
/* Delete to start of line */
|
||||||
|
kill_sol ( string );
|
||||||
|
break;
|
||||||
case CTRL_K:
|
case CTRL_K:
|
||||||
/* Delete to end of line */
|
/* Delete to end of line */
|
||||||
kill_eol ( string );
|
kill_eol ( string );
|
||||||
|
Reference in New Issue
Block a user