1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
|
use std::path;
use crate::commands::quit::QuitAction;
use crate::config::option::{LineNumberStyle, SelectOption, SortType};
use crate::io::FileOperationOptions;
#[derive(Clone, Debug)]
#[allow(clippy::enum_variant_names)]
pub enum Command {
Escape,
ToggleVisualMode,
BulkRename,
ChangeDirectory {
path: path::PathBuf,
},
ParentDirectory,
PreviousDirectory,
CommandLine {
prefix: String,
suffix: String,
},
CutFiles,
CopyFiles,
CopyFileName,
CopyFileNameWithoutExtension,
CopyFilePath,
CopyDirPath,
SymlinkFiles {
relative: bool,
},
PasteFiles {
options: FileOperationOptions,
},
DeleteFiles {
background: bool,
},
CursorMoveUp {
offset: usize,
},
CursorMoveDown {
offset: usize,
},
CursorMoveHome,
CursorMoveEnd,
CursorMovePageUp(f64),
CursorMovePageDown(f64),
CursorMovePageHome,
CursorMovePageMiddle,
CursorMovePageEnd,
ParentCursorMoveUp {
offset: usize,
},
ParentCursorMoveDown {
offset: usize,
},
PreviewCursorMoveUp {
offset: usize,
},
PreviewCursorMoveDown {
offset: usize,
},
// ChildCursorMoveUp(usize),
// ChildCursorMoveDown(usize),
NewDirectory {
path: path::PathBuf,
},
OpenFile,
OpenFileWith {
index: Option<usize>,
},
Quit(QuitAction),
ReloadDirList,
RenameFile {
new_name: path::PathBuf,
},
RenameFileAppend,
RenameFilePrepend,
TouchFile {
file_name: String,
},
SearchGlob {
pattern: String,
},
SearchString {
pattern: String,
},
SearchIncremental {
pattern: String,
},
SearchNext,
SearchPrev,
SelectFiles {
pattern: String,
options: SelectOption,
},
SetMode,
SubProcess {
words: Vec<String>,
spawn: bool,
},
ShowTasks,
ToggleHiddenFiles,
SwitchLineNums(LineNumberStyle),
Flat {
depth: usize,
},
NumberedCommand {
initial: char,
},
Sort(SortType),
SortReverse,
NewTab,
CloseTab,
TabSwitch {
offset: i32,
},
TabSwitchIndex {
index: usize,
},
Help,
SearchFzf,
SubdirFzf,
Zoxide(String),
ZoxideInteractive,
}
|