aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--src/cmdline.cpp14
-rw-r--r--src/cmdline.h2
-rw-r--r--src/interface-gtk.cpp12
-rw-r--r--src/interface-ncurses.cpp13
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;
/*