@@ -478,6 +478,16 @@ impl Component for Revlog {
478478 self . list. copy_commit_hash( )
479479 ) ;
480480 return Ok ( EventState :: Consumed ) ;
481+ } else if key_match (
482+ k,
483+ self . key_config . keys . copy_commit_msg ,
484+ ) {
485+ try_or_popup ! (
486+ self ,
487+ strings:: POPUP_FAIL_COPY ,
488+ self . list. copy_commit_msg( )
489+ ) ;
490+ return Ok ( EventState :: Consumed ) ;
481491 } else if key_match ( k, self . key_config . keys . push ) {
482492 self . queue . push ( InternalEvent :: PushTags ) ;
483493 return Ok ( EventState :: Consumed ) ;
@@ -611,6 +621,8 @@ impl Component for Revlog {
611621 Ok ( EventState :: NotConsumed )
612622 }
613623
624+ // TODO: cleanup
625+ #[ allow( clippy:: too_many_lines) ]
614626 fn commands (
615627 & self ,
616628 out : & mut Vec < CommandInfo > ,
@@ -677,6 +689,12 @@ impl Component for Revlog {
677689 self . visible || force_all,
678690 ) ) ;
679691
692+ out. push ( CommandInfo :: new (
693+ strings:: commands:: copy_commit_msg ( & self . key_config ) ,
694+ self . selected_commit ( ) . is_some ( ) ,
695+ self . visible || force_all,
696+ ) ) ;
697+
680698 out. push ( CommandInfo :: new (
681699 strings:: commands:: log_tag_commit ( & self . key_config ) ,
682700 self . selected_commit ( ) . is_some ( ) ,
@@ -718,11 +736,13 @@ impl Component for Revlog {
718736 self . selected_commit ( ) . is_some ( ) ,
719737 ( self . visible && !self . is_search_pending ( ) ) || force_all,
720738 ) ) ;
739+
721740 out. push ( CommandInfo :: new (
722741 strings:: commands:: log_reword_commit ( & self . key_config ) ,
723742 self . selected_commit ( ) . is_some ( ) ,
724743 ( self . visible && !self . is_search_pending ( ) ) || force_all,
725744 ) ) ;
745+
726746 out. push ( CommandInfo :: new (
727747 strings:: commands:: log_find_commit ( & self . key_config ) ,
728748 self . can_start_search ( ) ,
0 commit comments