aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorRobin Haberkorn <robin.haberkorn@googlemail.com>2013-02-22 00:10:18 +0100
committerRobin Haberkorn <robin.haberkorn@googlemail.com>2013-02-22 01:18:06 +0100
commit41362a9e75302c1ded15a59b6c688a36eb0ea920 (patch)
tree96321c0a5886cdddaacf69194dc84f5911043484
parente4ed98589459018a8b4fc9eb35a5cf22e3e93396 (diff)
downloadsciteco-41362a9e75302c1ded15a59b6c688a36eb0ea920.tar.gz
resolved enter-key handling by introducing get_eol()
-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;
/*