cloudcmd 19.14.0 → 19.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ChangeLog +19 -0
- package/HELP.md +24 -19
- package/README.md +1 -1
- package/dist/cloudcmd.common.js +33 -12
- package/dist/cloudcmd.common.js.map +1 -1
- package/dist/sw.js +1 -1
- package/dist-dev/cloudcmd.common.js +3 -3
- package/dist-dev/sw.js +1 -1
- package/package.json +1 -1
package/ChangeLog
CHANGED
|
@@ -1,3 +1,22 @@
|
|
|
1
|
+
2026.05.03, v19.16.0
|
|
2
|
+
|
|
3
|
+
feature:
|
|
4
|
+
- d82d0335 client: vim: rr for rename file
|
|
5
|
+
- acfa27cf docker: io: nvchad: add
|
|
6
|
+
- 14f009f8 docker: io: bash-completion: add
|
|
7
|
+
- c6c60146 docker: io: f4
|
|
8
|
+
- 9a6b8935 docker: io: GOPATH
|
|
9
|
+
- a9bc22ce cloudcmd: operation: rm useless checks
|
|
10
|
+
- 36bacfe9 cloudcmd: client: key: vim: cc, mm
|
|
11
|
+
- 591da25c cloudcmd: ponse v8.0.0
|
|
12
|
+
- 1e1b073c docker: io: /usr/src/cloudcmd -> /usr/local/share/cloudcmd
|
|
13
|
+
|
|
14
|
+
2026.04.28, v19.15.0
|
|
15
|
+
|
|
16
|
+
feature:
|
|
17
|
+
- 9d97343b cloudcmd: operation: rm useless checks
|
|
18
|
+
- 46a88cfa cloudcmd: client: key: vim: cc, mm
|
|
19
|
+
|
|
1
20
|
2026.04.28, v19.14.0
|
|
2
21
|
|
|
3
22
|
feature:
|
package/HELP.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Cloud Commander v19.
|
|
1
|
+
# Cloud Commander v19.16.0
|
|
2
2
|
|
|
3
3
|
### [Main][MainURL] [Blog][BlogURL] [Support][SupportURL] [Demo][DemoURL]
|
|
4
4
|
|
|
@@ -214,24 +214,27 @@ Then, start the server again with `cloudcmd` and reload the page.
|
|
|
214
214
|
|
|
215
215
|
When the `--vim` option is provided, or the configuration parameter `vim` is set, the following hotkeys become available:
|
|
216
216
|
|
|
217
|
-
|Key
|
|
218
|
-
|
|
219
|
-
| `j`
|
|
220
|
-
| `k`
|
|
221
|
-
| `dd`
|
|
222
|
-
| `G` or `$`
|
|
223
|
-
| `gg` or `^`
|
|
224
|
-
| `v`
|
|
225
|
-
| `y`
|
|
226
|
-
| `p`
|
|
227
|
-
| `Esc`
|
|
228
|
-
| `/`
|
|
229
|
-
| `n`
|
|
230
|
-
| `N`
|
|
231
|
-
| `md`
|
|
232
|
-
| `mf`
|
|
233
|
-
| `tt`
|
|
234
|
-
| `e`
|
|
217
|
+
| Key |Operation
|
|
218
|
+
|:------------|:--------------------------------------------
|
|
219
|
+
| `j` | navigate to next file
|
|
220
|
+
| `k` | navigate to previous file
|
|
221
|
+
| `dd` | remove current file
|
|
222
|
+
| `G` or `$` | navigate to bottom file
|
|
223
|
+
| `gg` or `^` | navigate to top file
|
|
224
|
+
| `v` | visual mode
|
|
225
|
+
| `y` | copy (selected in visual mode files)
|
|
226
|
+
| `p` | paste files
|
|
227
|
+
| `Esc` | unselect all
|
|
228
|
+
| `/` | find file in current directory
|
|
229
|
+
| `n` | navigate to next found file
|
|
230
|
+
| `N` | navigate to previous found file
|
|
231
|
+
| `md` | make directory
|
|
232
|
+
| `mf` | make file
|
|
233
|
+
| `tt` | show terminal
|
|
234
|
+
| `e` | edit file
|
|
235
|
+
| `cc` | copy
|
|
236
|
+
| `mm` | move
|
|
237
|
+
| `rr` | rename file
|
|
235
238
|
|
|
236
239
|
Commands can be joined, for example:
|
|
237
240
|
|
|
@@ -1115,6 +1118,8 @@ There are a lot of ways to be involved in `Cloud Commander` development:
|
|
|
1115
1118
|
|
|
1116
1119
|
## Version history
|
|
1117
1120
|
|
|
1121
|
+
- *2026.05.03*, **[v19.16.0](//github.com/coderaiser/cloudcmd/releases/tag/v19.16.0)**
|
|
1122
|
+
- *2026.04.28*, **[v19.15.0](//github.com/coderaiser/cloudcmd/releases/tag/v19.15.0)**
|
|
1118
1123
|
- *2026.04.28*, **[v19.14.0](//github.com/coderaiser/cloudcmd/releases/tag/v19.14.0)**
|
|
1119
1124
|
- *2026.04.21*, **[v19.13.1](//github.com/coderaiser/cloudcmd/releases/tag/v19.13.1)**
|
|
1120
1125
|
- *2026.04.15*, **[v19.13.0](//github.com/coderaiser/cloudcmd/releases/tag/v19.13.0)**
|
package/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Cloud Commander v19.
|
|
1
|
+
# Cloud Commander v19.16.0 [![Build Status][BuildStatusIMGURL]][BuildStatusURL] [![Codacy][CodacyIMG]][CodacyURL] [![Gitter][GitterIMGURL]][GitterURL]
|
|
2
2
|
|
|
3
3
|
### [Main][MainURL] [Blog][BlogURL] [Support][SupportURL] [Demo][DemoURL]
|
|
4
4
|
|
package/dist/cloudcmd.common.js
CHANGED
|
@@ -6143,7 +6143,10 @@ const noop = () => {};
|
|
|
6143
6143
|
makeFile = noop,
|
|
6144
6144
|
makeDirectory = noop,
|
|
6145
6145
|
terminal = noop,
|
|
6146
|
-
edit = noop
|
|
6146
|
+
edit = noop,
|
|
6147
|
+
operationCopy = noop,
|
|
6148
|
+
operationMove = noop,
|
|
6149
|
+
rename = noop
|
|
6147
6150
|
} = operations;
|
|
6148
6151
|
if (key === 'Enter') return end();
|
|
6149
6152
|
if (key === 'Escape') {
|
|
@@ -6201,10 +6204,22 @@ const noop = () => {};
|
|
|
6201
6204
|
edit();
|
|
6202
6205
|
return end();
|
|
6203
6206
|
}
|
|
6207
|
+
if (value === 'cc') {
|
|
6208
|
+
operationCopy();
|
|
6209
|
+
return end();
|
|
6210
|
+
}
|
|
6211
|
+
if (value === 'mm') {
|
|
6212
|
+
operationMove();
|
|
6213
|
+
return end();
|
|
6214
|
+
}
|
|
6204
6215
|
if (value === 'mf') {
|
|
6205
6216
|
makeFile();
|
|
6206
6217
|
return end();
|
|
6207
6218
|
}
|
|
6219
|
+
if (value === 'rr') {
|
|
6220
|
+
rename();
|
|
6221
|
+
return end();
|
|
6222
|
+
}
|
|
6208
6223
|
if (key === 'd' && (visual() || prevStore === 'd')) {
|
|
6209
6224
|
stopVisual();
|
|
6210
6225
|
remove();
|
|
@@ -6305,8 +6320,6 @@ function previous(index, length) {
|
|
|
6305
6320
|
var set_current = __webpack_require__(5076);
|
|
6306
6321
|
;// ./client/key/vim/index.js
|
|
6307
6322
|
/* unused harmony import specifier */ var selectFileNotParent;
|
|
6308
|
-
/* global CloudCmd */
|
|
6309
|
-
/* global DOM */
|
|
6310
6323
|
|
|
6311
6324
|
|
|
6312
6325
|
|
|
@@ -6336,12 +6349,13 @@ const getOperations = (event, deps) => {
|
|
|
6336
6349
|
prompt = globalThis.DOM.Dialog.prompt,
|
|
6337
6350
|
preventDefault = event === null || event === void 0 || (_event$preventDefault = event.preventDefault) === null || _event$preventDefault === void 0 ? void 0 : _event$preventDefault.bind(event),
|
|
6338
6351
|
stopImmediatePropagation = event === null || event === void 0 || (_event$preventDefault2 = event.preventDefault) === null || _event$preventDefault2 === void 0 ? void 0 : _event$preventDefault2.bind(event),
|
|
6339
|
-
promptNewFile = DOM.promptNewFile,
|
|
6352
|
+
promptNewFile = globalThis.DOM.promptNewFile,
|
|
6340
6353
|
toggleSelectedFile,
|
|
6341
6354
|
Buffer = {},
|
|
6342
6355
|
createFindNext = _createFindNext,
|
|
6343
6356
|
createFindPrevious = _createFindPrevious,
|
|
6344
|
-
createMakeFile = _createMakeFile
|
|
6357
|
+
createMakeFile = _createMakeFile,
|
|
6358
|
+
renameCurrent
|
|
6345
6359
|
} = deps;
|
|
6346
6360
|
return {
|
|
6347
6361
|
makeFile: createMakeFile({
|
|
@@ -6356,13 +6370,25 @@ const getOperations = (event, deps) => {
|
|
|
6356
6370
|
setCurrentByName
|
|
6357
6371
|
}),
|
|
6358
6372
|
escape: unselectFiles,
|
|
6373
|
+
rename: () => {
|
|
6374
|
+
event.preventDefault();
|
|
6375
|
+
renameCurrent();
|
|
6376
|
+
},
|
|
6359
6377
|
remove: () => {
|
|
6360
6378
|
Operation.show('delete');
|
|
6361
6379
|
},
|
|
6380
|
+
operationCopy: () => {
|
|
6381
|
+
event.preventDefault();
|
|
6382
|
+
Operation.show('copy');
|
|
6383
|
+
},
|
|
6384
|
+
operationMove: () => {
|
|
6385
|
+
event.preventDefault();
|
|
6386
|
+
Operation.show('move');
|
|
6387
|
+
},
|
|
6362
6388
|
makeDirectory: () => {
|
|
6363
6389
|
event.stopImmediatePropagation();
|
|
6364
6390
|
event.preventDefault();
|
|
6365
|
-
DOM.promptNewDir();
|
|
6391
|
+
globalThis.DOM.promptNewDir();
|
|
6366
6392
|
},
|
|
6367
6393
|
terminal: () => {
|
|
6368
6394
|
CloudCmd.Terminal.show();
|
|
@@ -12337,14 +12363,12 @@ const setListeners = options => emitter => {
|
|
|
12337
12363
|
to
|
|
12338
12364
|
} = options;
|
|
12339
12365
|
let done;
|
|
12340
|
-
let lastError;
|
|
12341
12366
|
const onAbort = wraptile(({
|
|
12342
12367
|
emitter,
|
|
12343
12368
|
operation
|
|
12344
12369
|
}) => {
|
|
12345
12370
|
emitter.abort();
|
|
12346
12371
|
const msg = `${operation} aborted`;
|
|
12347
|
-
lastError = true;
|
|
12348
12372
|
Dialog.alert(msg, {
|
|
12349
12373
|
cancel: false
|
|
12350
12374
|
});
|
|
@@ -12357,21 +12381,18 @@ const setListeners = options => emitter => {
|
|
|
12357
12381
|
emitter,
|
|
12358
12382
|
operation
|
|
12359
12383
|
}));
|
|
12360
|
-
let noProgress = true;
|
|
12361
12384
|
const listeners = {
|
|
12362
12385
|
progress: value => {
|
|
12363
12386
|
done = value === 100;
|
|
12364
12387
|
progress.setProgress(value);
|
|
12365
|
-
noProgress = false;
|
|
12366
12388
|
},
|
|
12367
12389
|
end: () => {
|
|
12368
12390
|
Images.hide();
|
|
12369
12391
|
for_each_key(removeListener, listeners);
|
|
12370
12392
|
progress.remove();
|
|
12371
|
-
|
|
12393
|
+
callback();
|
|
12372
12394
|
},
|
|
12373
12395
|
error: async error => {
|
|
12374
|
-
lastError = error;
|
|
12375
12396
|
if (noContinue) {
|
|
12376
12397
|
listeners.end(error);
|
|
12377
12398
|
Dialog.alert(error);
|