]> ruderich.org/simon Gitweb - fcscs/fcscs.git/blobdiff - bin/fcscs
fix typo in comment
[fcscs/fcscs.git] / bin / fcscs
index 582d194c7a47fd86011650f79eef9dd8046512c8..97c4294ac454150eb95f12cda7388b351740e5b7 100755 (executable)
--- a/bin/fcscs
+++ b/bin/fcscs
@@ -663,7 +663,7 @@ sub extend_match {
         } elsif ($char eq '$') { # select to end of line
             extend_match_regex_right($line, $match, qr/.+/);
 
-        # Allow mode changes if not overwritten by local mappings.
+        # Allow mode changes if not overwritten by above mappings.
         } elsif (defined $config->{mapping}{mode}{$char}) {
             $screen->draw_matches($config, [$match_old], []); # clear match
             return { key => $char };
@@ -682,54 +682,43 @@ sub extend_match {
 }
 
 
-sub mapping_paste {
-    my ($key, $screen, $config, $input) = @_;
+sub mapping_state_helper {
+    my ($name, $flags, $key, $screen, $config, $input) = @_;
 
-    $screen->debug('mapping_paste', 'started');
+    $screen->debug("mapping_$name", 'started');
 
-    $config->{state}{handler} = $config->{handler}{paste};
+    $config->{state}{handler} = $config->{handler}{$name};
 
-    $screen->prompt(flags => 'P'); # paste
+    $screen->prompt(flags => $flags);
     $screen->draw_prompt($config);
     $screen->refresh;
 
     return {};
 }
-sub mapping_paste_now {
-    my ($key, $screen, $config, $input) = @_;
+sub mapping_state_now_helper {
+    my ($name, $key, $screen, $config, $input) = @_;
 
-    $screen->debug('mapping_paste_now', 'started');
+    $screen->debug("mapping_${name}_now", 'started');
 
-    $config->{state}{handler} = $config->{handler}{paste};
+    $config->{state}{handler} = $config->{handler}{$name};
 
     return {
         select_match => 1,
     };
 }
 
-sub mapping_yank {
-    my ($key, $screen, $config, $input) = @_;
-
-    $screen->debug('mapping_yank', 'started');
-
-    $config->{state}{handler} = $config->{handler}{yank};
-
-    $screen->prompt(flags => 'Y'); # yank
-    $screen->draw_prompt($config);
-    $screen->refresh;
+sub mapping_paste {
+    return mapping_state_helper('paste', 'P', @_);
+}
+sub mapping_paste_now {
+    return mapping_state_now_helper('paste', @_);
+}
 
-    return {};
+sub mapping_yank {
+    return mapping_state_helper('yank', 'Y', @_);
 }
 sub mapping_yank_now {
-    my ($key, $screen, $config, $input) = @_;
-
-    $screen->debug('mapping_yank_now', 'started');
-
-    $config->{state}{handler} = $config->{handler}{yank};
-
-    return {
-        select_match => 1,
-    };
+    return mapping_state_now_helper('yank', @_);
 }