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 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.14.0
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 |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
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.14.0 [![Build Status][BuildStatusIMGURL]][BuildStatusURL] [![Codacy][CodacyIMG]][CodacyURL] [![Gitter][GitterIMGURL]][GitterURL]
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
 
@@ -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
- if (lastError || done || noProgress) callback();
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);