A fork of https://github.com/ueokande/vim-vixen
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
26 lines
651 B
26 lines
651 B
6 years ago
|
import actions from 'content/actions';
|
||
|
|
||
|
const defaultState = {
|
||
6 years ago
|
setMode: false,
|
||
|
jumpMode: false,
|
||
6 years ago
|
marks: {},
|
||
|
};
|
||
|
|
||
|
export default function reducer(state = defaultState, action = {}) {
|
||
|
switch (action.type) {
|
||
|
case actions.MARK_START_SET:
|
||
6 years ago
|
return { ...state, setMode: true };
|
||
6 years ago
|
case actions.MARK_START_JUMP:
|
||
6 years ago
|
return { ...state, jumpMode: true };
|
||
6 years ago
|
case actions.MARK_CANCEL:
|
||
6 years ago
|
return { ...state, setMode: false, jumpMode: false };
|
||
6 years ago
|
case actions.MARK_SET_LOCAL: {
|
||
|
let marks = { ...state.marks };
|
||
6 years ago
|
marks[action.key] = { x: action.x, y: action.y };
|
||
6 years ago
|
return { ...state, setMode: false, marks };
|
||
6 years ago
|
}
|
||
|
default:
|
||
|
return state;
|
||
|
}
|
||
|
}
|