1
0
mirror of https://github.com/profanity-im/profanity.git synced 2024-09-22 19:45:54 -04:00

Merge pull request #1927 from H3rnand3zzz/feature/print-newline-char

Handle alt+enter as newline char
This commit is contained in:
Michael Vetter 2023-11-13 09:46:05 +01:00 committed by GitHub
commit 08d2a51ae4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 14 additions and 0 deletions

View File

@ -80,6 +80,9 @@ Mark current window for later reading with an attention flag.
.BI ALT+m
Switch between windows marked with the attention flag.
.TP
.BI ALT+ENTER
Add newline character without sending a message/command.
.TP
.BI ALT+c
Run external editor (see
.BR profanity-editor (1))

View File

@ -137,6 +137,7 @@ static int _inp_rl_subwin_pagedown_handler(int count, int key);
static int _inp_rl_startup_hook(void);
static int _inp_rl_down_arrow_handler(int count, int key);
static int _inp_rl_send_to_editor(int count, int key);
static int _inp_rl_print_newline_symbol(int count, int key);
void
create_input_window(void)
@ -482,6 +483,7 @@ _inp_rl_addfuncs(void)
rl_add_funmap_entry("prof_win_close", _inp_rl_win_close_handler);
rl_add_funmap_entry("prof_send_to_editor", _inp_rl_send_to_editor);
rl_add_funmap_entry("prof_cut_to_history", _inp_rl_down_arrow_handler);
rl_add_funmap_entry("prof_print_newline_symbol", _inp_rl_print_newline_symbol);
}
// Readline callbacks
@ -555,6 +557,8 @@ _inp_rl_startup_hook(void)
rl_bind_keyseq("\\e[1;5B", _inp_rl_down_arrow_handler); // ctrl+arrow down
rl_bind_keyseq("\\eOb", _inp_rl_down_arrow_handler);
rl_bind_keyseq("\\e\\C-\r", _inp_rl_print_newline_symbol); // alt+enter
// unbind unwanted mappings
rl_bind_keyseq("\\e=", NULL);
@ -960,3 +964,10 @@ _inp_rl_send_to_editor(int count, int key)
return 0;
}
static int
_inp_rl_print_newline_symbol(int count, int key)
{
rl_insert_text("\n");
return 0;
}