diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/cmdline.cpp | 14 | ||||
-rw-r--r-- | src/cmdline.h | 2 | ||||
-rw-r--r-- | src/interface-gtk.cpp | 12 | ||||
-rw-r--r-- | src/interface-ncurses.cpp | 13 |
4 files changed, 19 insertions, 22 deletions
diff --git a/src/cmdline.cpp b/src/cmdline.cpp index 2a46a75..ac71548 100644 --- a/src/cmdline.cpp +++ b/src/cmdline.cpp @@ -288,6 +288,20 @@ cmdline_fnmacro(const gchar *name) } } +const gchar * +get_eol(void) +{ + switch (interface.ssm(SCI_GETEOLMODE)) { + case SC_EOL_CR: + return "\r"; + case SC_EOL_CRLF: + return "\r\n"; + case SC_EOL_LF: + default: + return "\n"; + } +} + static gchar * macro_echo(const gchar *macro) { diff --git a/src/cmdline.h b/src/cmdline.h index ca7dfc0..eaf522d 100644 --- a/src/cmdline.h +++ b/src/cmdline.h @@ -38,6 +38,8 @@ cmdline_keypress(const gchar *keys) void cmdline_fnmacro(const gchar *name); +const gchar *get_eol(void); + /* * Command states */ diff --git a/src/interface-gtk.cpp b/src/interface-gtk.cpp index 8436e2b..e27e5f4 100644 --- a/src/interface-gtk.cpp +++ b/src/interface-gtk.cpp @@ -246,17 +246,7 @@ cmdline_key_pressed(GtkWidget *widget, GdkEventKey *event, cmdline_keypress('\t'); break; case GDK_Return: - switch (interface.ssm(SCI_GETEOLMODE)) { - case SC_EOL_CR: - cmdline_keypress('\r'); - break; - case SC_EOL_CRLF: - cmdline_keypress('\r'); - /* fall through */ - case SC_EOL_LF: - default: - cmdline_keypress('\n'); - } + cmdline_keypress(get_eol()); break; /* diff --git a/src/interface-ncurses.cpp b/src/interface-ncurses.cpp index b0a5276..e078005 100644 --- a/src/interface-ncurses.cpp +++ b/src/interface-ncurses.cpp @@ -384,17 +384,8 @@ InterfaceNCurses::event_loop(void) break; case KEY_ENTER: case '\r': - switch (ssm(SCI_GETEOLMODE)) { - case SC_EOL_CR: - cmdline_keypress('\r'); - break; - case SC_EOL_CRLF: - cmdline_keypress('\r'); - /* fall through */ - case SC_EOL_LF: - default: - cmdline_keypress('\n'); - } + case '\n': + cmdline_keypress(get_eol()); break; /* |