File Coverage

lib/Kephra/Edit/History.pm
Criterion Covered Total %
statement 6 22 27.2
branch n/a
condition n/a
subroutine 2 13 15.3
pod 0 9 0.0
total 8 44 18.1


line stmt bran cond sub pod time code
1             package Kephra::Edit::History;
2             our $VERSION = '0.03';
3             =head1 NAME
4            
5             Kephra::App::History - undo, redo and so on
6            
7             =head1 DESCRIPTION
8            
9             =cut
10            
11 1     1   1107 use strict;
  1         1  
  1         43  
12 1     1   6 use warnings;
  1         2  
  1         364  
13            
14             # undo, redo etc.
15            
16 0     0     sub _ep_ref { Kephra::App::EditPanel::_ref() }
17 0     0     sub _config { Kephra::API::settings()->{editpanel}{history} }
18            
19 0     0 0   sub undo { _ep_ref()->Undo }
20 0     0 0   sub redo { _ep_ref()->Redo }
21            
22             sub undo_several {
23 0     0 0   my $ep = _ep_ref();
24 0           $ep->Undo for 1 .. _config->{fast_undo_steps};
25             }
26            
27             sub redo_several {
28 0     0 0   my $ep = _ep_ref();
29 0           $ep->Redo for 1 .. _config->{fast_undo_steps};
30             }
31            
32             sub undo_begin {
33 0     0 0   my $ep = _ep_ref();
34 0           $ep->Undo while $ep->CanUndo;
35             }
36            
37             sub redo_end {
38 0     0 0   my $ep = _ep_ref();
39 0           $ep->Redo while $ep->CanRedo;
40             }
41            
42             sub clear_history {
43 0     0 0   _ep_ref()->EmptyUndoBuffer;
44 0           Kephra::EventTable::trigger('document.savepoint');
45             }
46            
47 0     0 0   sub can_undo { _ep_ref()->CanUndo }
48 0     0 0   sub can_redo { _ep_ref()->CanRedo }
49            
50             1;