mirror of
https://github.com/coderaiser/cloudcmd.git
synced 2026-01-23 02:35:49 +00:00
refactor(vim) move -> moveNext, movePrevious
This commit is contained in:
parent
7444678eb3
commit
575b9ab425
2 changed files with 35 additions and 21 deletions
|
|
@ -29,10 +29,17 @@ const getOperations = (event) => {
|
|||
DOM.toggleSelectedFile(current);
|
||||
},
|
||||
paste: DOM.Buffer.paste,
|
||||
move: (sibling, {count, visual, isDelete}) => {
|
||||
setCurrent(sibling, {
|
||||
moveNext: ({count, isVisual, isDelete}) => {
|
||||
setCurrent('next', {
|
||||
count,
|
||||
visual,
|
||||
isVisual,
|
||||
isDelete,
|
||||
});
|
||||
},
|
||||
movePrevious: ({count, isVisual, isDelete}) => {
|
||||
setCurrent('previous', {
|
||||
count,
|
||||
isVisual,
|
||||
isDelete,
|
||||
});
|
||||
},
|
||||
|
|
@ -70,9 +77,9 @@ function selectFile(current) {
|
|||
DOM.selectFile(current);
|
||||
}
|
||||
|
||||
function setCurrent(sibling, {count, visual, isDelete}) {
|
||||
function setCurrent(sibling, {count, isVisual, isDelete}) {
|
||||
let current = Info.element;
|
||||
const select = visual() ? selectFile : DOM.unselectFile;
|
||||
const select = isVisual ? selectFile : DOM.unselectFile;
|
||||
|
||||
select(current);
|
||||
|
||||
|
|
|
|||
|
|
@ -23,10 +23,12 @@ const noop = () => {};
|
|||
|
||||
module.exports = (key, operations) => {
|
||||
const prevStore = store();
|
||||
const isVisual = visual();
|
||||
const value = store(prevStore.concat(key));
|
||||
const {
|
||||
escape = noop,
|
||||
move = noop,
|
||||
moveNext = noop,
|
||||
movePrevious = noop,
|
||||
remove = noop,
|
||||
copy = noop,
|
||||
paste = noop,
|
||||
|
|
@ -46,25 +48,23 @@ module.exports = (key, operations) => {
|
|||
}
|
||||
|
||||
if (key === 'j') {
|
||||
const [prev, isDelete] = handleDelete(prevStore);
|
||||
const count = getNumber(prev);
|
||||
const {count, isDelete, isVisual} = handleDelete(prevStore);
|
||||
|
||||
!isNaN(count) && move('next', {
|
||||
isDelete,
|
||||
!isNaN(count) && moveNext({
|
||||
count,
|
||||
visual,
|
||||
isVisual,
|
||||
isDelete,
|
||||
});
|
||||
|
||||
return end();
|
||||
}
|
||||
|
||||
if (key === 'k') {
|
||||
const [prev, isDelete] = handleDelete(prevStore);
|
||||
const count = getNumber(prev);
|
||||
const {count, isDelete, isVisual} = handleDelete(prevStore);
|
||||
|
||||
!isNaN(count) && move('previous', {
|
||||
!isNaN(count) && movePrevious({
|
||||
count,
|
||||
visual,
|
||||
isVisual,
|
||||
isDelete,
|
||||
});
|
||||
|
||||
|
|
@ -72,11 +72,11 @@ module.exports = (key, operations) => {
|
|||
}
|
||||
|
||||
if (/^gg$/.test(value)) {
|
||||
const [, isDelete] = handleDelete(prevStore);
|
||||
const {count, isDelete, isVisual} = handleDelete(prevStore);
|
||||
|
||||
move('previous', {
|
||||
movePrevious({
|
||||
count: Infinity,
|
||||
visual,
|
||||
isVisual,
|
||||
isDelete,
|
||||
});
|
||||
|
||||
|
|
@ -90,9 +90,9 @@ module.exports = (key, operations) => {
|
|||
}
|
||||
|
||||
if (key === 'G') {
|
||||
move('next', {
|
||||
moveNext({
|
||||
count: Infinity,
|
||||
visual,
|
||||
isVisual,
|
||||
});
|
||||
|
||||
return end();
|
||||
|
|
@ -142,7 +142,14 @@ function handleDelete(prevStore) {
|
|||
prevStore = rmFirst(prevStore);
|
||||
}
|
||||
|
||||
return [prevStore, isDelete];
|
||||
const count = getNumber(prevStore);
|
||||
const isVisual = visual();
|
||||
|
||||
return {
|
||||
count,
|
||||
isDelete,
|
||||
isVisual,
|
||||
};
|
||||
}
|
||||
|
||||
function getNumber(value) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue