add alternative_return setting as additional return mapping
authorSimon Ruderich <simon@ruderich.org>
Thu, 28 Jan 2016 17:40:33 +0000 (18:40 +0100)
committerSimon Ruderich <simon@ruderich.org>
Thu, 28 Jan 2016 17:40:33 +0000 (18:40 +0100)
bin/fcscs

index e3d39cb7ae5251b590451df7e853deb202dccbd6..9f58c36d8e40f4bd5fe4f26f92684e7385d632bb 100755 (executable)
--- a/bin/fcscs
+++ b/bin/fcscs
@@ -553,7 +553,8 @@ sub select_match {
             $number = $number * 10 + $char;
         } elsif ($char eq "\b" or $char eq "\x7f") { # backspace
             $number = int($number / 10);
-        } elsif ($char eq "\n") {
+        } elsif ($char eq "\n"
+                or $char eq $config->{setting}{alternative_return}) {
             if ($number == 0) { # number without selection matches last entry
                 $number = 1;
             }
@@ -631,8 +632,9 @@ sub extend_match {
         my $match_old = \%{$match};
 
         my $char = $screen->getch;
-        if ($char eq "\n") { # accept match
-            last;
+        if ($char eq "\n"
+                or $char eq $config->{setting}{alternative_return}) {
+            last; # accept match
 
         } elsif ($char eq 'w') { # select current word (both directions)
             extend_match_regex_left($line,  $match, qr/\w+/);
@@ -1017,6 +1019,16 @@ The following simple mappings are available by default:
 
 =back
 
+The following additional mappings are available by default:
+
+=over
+
+=item B<\n> accept current selection (not customizable)
+
+=item B<s>  additional key to accept selection (B<alternative_return> option)
+
+=back
+
 All (single-byte) keys except numbers, backspace and return can be mapped.
 
 Unknown mappings are ignored when pressing keys.
@@ -1101,6 +1113,8 @@ Defaults in parentheses.
 
 =item B<screen_msgwait> GNU Screen's msgwait variable, used when yanking (C<5>)
 
+=item B<alternative_return> additional accept key like return, set to C<\n> to disable (C<s>)
+
 =item B<browser>        browser command as array reference (C<['x-www-browser']>)
 
 =back
@@ -1120,6 +1134,8 @@ my %setting = (
     smartcase      => 1,
     paste_sleep    => 100_000,
     screen_msgwait => 5,
+    # global mappings
+    alternative_return => 's',
     # commands
     browser        => ['x-www-browser'],
 );