@@ -38,42 +38,28 @@ local function gen_go_to(mode)
38
38
end
39
39
end
40
40
41
- local go_to_prev_git_item = gen_go_to (' prev_git_item' )
42
- local go_to_next_git_item = gen_go_to (' next_git_item' )
41
+ local keypress_funcs = {
42
+ create = fs .create ,
43
+ remove = fs .remove ,
44
+ rename = fs .rename ,
45
+ copy = fs .copy ,
46
+ cut = fs .cut ,
47
+ paste = fs .paste ,
48
+ toggle_ignored = lib .toggle_ignored ,
49
+ prev_git_item = gen_go_to (' prev_git_item' ),
50
+ next_git_item = gen_go_to (' next_git_item' ),
51
+ preview = function (node )
52
+ if node .entries ~= nil or node .name == ' ..' then return end
53
+ return lib .open_file (' preview' , node .absolute_path )
54
+ end ,
55
+ }
43
56
44
57
function M .on_keypress (mode )
45
58
local node = lib .get_node_at_cursor ()
46
59
if not node then return end
47
60
48
- if mode == ' create' then
49
- return fs .create (node )
50
- elseif mode == ' remove' then
51
- return fs .remove (node )
52
- elseif mode == ' rename' then
53
- return fs .rename (node )
54
- elseif mode == ' copy' then
55
- return fs .copy (node )
56
- elseif mode == ' cut' then
57
- return fs .cut (node )
58
- elseif mode == ' paste' then
59
- return fs .paste (node )
60
- end
61
-
62
- if mode == ' preview' then
63
- if node .entries ~= nil or node .name == ' ..' then return end
64
- return lib .open_file (mode , node .absolute_path )
65
- end
66
-
67
- if mode == ' toggle_ignored' then
68
- return lib .toggle_ignored ()
69
- end
70
-
71
- if mode == ' prev_git_item' then
72
- return go_to_prev_git_item ()
73
- end
74
-
75
- if mode == ' next_git_item' then
76
- return go_to_next_git_item ()
61
+ if keypress_funcs [mode ] then
62
+ return keypress_funcs [mode ](node )
77
63
end
78
64
79
65
if node .name == " .." then
0 commit comments