diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/keybinder.js | 7 | ||||
-rwxr-xr-x | src/play.js | 4 |
2 files changed, 8 insertions, 3 deletions
diff --git a/src/keybinder.js b/src/keybinder.js index d6e0113..784484c 100644 --- a/src/keybinder.js +++ b/src/keybinder.js @@ -49,13 +49,16 @@ module.exports.compileKeybindings = function(bindings, commands) { return function(inputData) { if (buffer.equals(inputData)) { commands[command](...args) + return true } } }).filter(Boolean) return function(inputData) { - for (let handler of handlers) { - handler(inputData) + for (const handler of handlers) { + if (handler(inputData)) { + break + } } } } diff --git a/src/play.js b/src/play.js index db2462c..2a5cbdd 100755 --- a/src/play.js +++ b/src/play.js @@ -184,7 +184,9 @@ async function main(args) { keybindings.splice(0) } - keybindings.push(...openedKeybindings) + // Place new keybindings at the top of the array, so that they are + // prioritized over old ones. + keybindings.unshift(...openedKeybindings) } function requiresOpenPlaylist() { |