mirror of
https://github.com/profanity-im/profanity.git
synced 2024-11-03 19:37:16 -05:00
Clear autocompletes on line edits
This commit is contained in:
parent
d65fc24658
commit
ad76495267
@ -87,7 +87,7 @@ static char *inp_line = NULL;
|
|||||||
static gboolean get_password = FALSE;
|
static gboolean get_password = FALSE;
|
||||||
|
|
||||||
static void _inp_win_update_virtual(void);
|
static void _inp_win_update_virtual(void);
|
||||||
static int _inp_printable(const wint_t ch);
|
static int _inp_edited(const wint_t ch);
|
||||||
static void _inp_win_handle_scroll(void);
|
static void _inp_win_handle_scroll(void);
|
||||||
static int _inp_offset_to_col(char *str, int offset);
|
static int _inp_offset_to_col(char *str, int offset);
|
||||||
static void _inp_write(char *line, int offset);
|
static void _inp_write(char *line, int offset);
|
||||||
@ -301,8 +301,24 @@ _inp_write(char *line, int offset)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
_inp_printable(const wint_t ch)
|
_inp_edited(const wint_t ch)
|
||||||
{
|
{
|
||||||
|
// backspace
|
||||||
|
if (ch == 127) {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
// ctrl-w
|
||||||
|
if (ch == 23) {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
// enter
|
||||||
|
if (ch == 13) {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
// printable
|
||||||
char bytes[MB_CUR_MAX+1];
|
char bytes[MB_CUR_MAX+1];
|
||||||
size_t utf_len = wcrtomb(bytes, ch, (mbstate_t*)NULL);
|
size_t utf_len = wcrtomb(bytes, ch, (mbstate_t*)NULL);
|
||||||
bytes[utf_len] = '\0';
|
bytes[utf_len] = '\0';
|
||||||
@ -472,7 +488,7 @@ _inp_rl_getc(FILE *stream)
|
|||||||
|
|
||||||
shift_tab = FALSE;
|
shift_tab = FALSE;
|
||||||
|
|
||||||
if (_inp_printable(ch)) {
|
if (_inp_edited(ch)) {
|
||||||
ProfWin *window = wins_get_current();
|
ProfWin *window = wins_get_current();
|
||||||
cmd_ac_reset(window);
|
cmd_ac_reset(window);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user