feature(edit-names) add bulk rename (#231)

This commit is contained in:
coderaiser 2019-04-15 15:10:20 +03:00
parent 768d4bbab8
commit 372395575c
3 changed files with 20 additions and 5 deletions

View file

@ -188,7 +188,7 @@ Hot keys
| `Ctrl + R` | refresh
| `Ctrl + D` | clear local storage
| `Ctrl + A` | select all files in a panel
| `Ctrl + M` | rename selected files in editor
| `Ctrl + M` | [rename selected files](https://github.com/coderaiser/cloudcmd/releases/tag/v12.0.0) in editor
| `Shift + Ctrl + M` | rename selected files in vim mode of editor
| `Ctrl + U` | swap panels
| `Ctrl + F3` | sort by name

View file

@ -7,6 +7,8 @@ CloudCmd.EditNames = exports;
const currify = require('currify/legacy');
const exec = require('execon');
const supermenu = require('supermenu');
const smalltalk = require('smalltalk');
const multiRename = require('multi-rename');
const reject = Promise.reject.bind(Promise);
@ -66,10 +68,22 @@ function keyListener(event) {
const ctrlMeta = ctrl || meta;
const {Key} = CloudCmd;
if (!ctrlMeta || event.keyCode !== Key.S)
return;
if (ctrlMeta && event.keyCode === Key.S)
EditNames.hide();
EditNames.hide();
else if (ctrlMeta && event.keyCode === Key.P)
smalltalk
.prompt(TITLE, 'Apply pattern:', '[n][e]', {cancel: false})
.then(applyPattern);
event.preventDefault();
}
function applyPattern(pattern) {
const newNames = multiRename(pattern, getActiveNames());
const editor = CloudCmd.Edit.getEditor();
editor.setValue(newNames.join('\n'));
}
function getActiveNames() {
@ -162,7 +176,7 @@ function setMenu(event) {
const menuData = {
'Save Ctrl+S' : () => {
editor.save();
applyNames();
EditNames.hide();
},
'Go To Line Ctrl+G' : () => {

View file

@ -176,6 +176,7 @@
"mkdirp": "^0.5.1",
"mock-require": "^3.0.1",
"morgan": "^1.6.1",
"multi-rename": "^1.0.0",
"nodemon": "^1.9.1",
"nyc": "^13.0.1",
"optimize-css-assets-webpack-plugin": "^5.0.0",