Handle check for allowed mode better
This commit is contained in:
parent
cc1899ebca
commit
f9afa190b1
@ -502,3 +502,12 @@ class Command:
|
|||||||
log.commands.debug('Calling {}'.format(
|
log.commands.debug('Calling {}'.format(
|
||||||
debug_utils.format_call(self.handler, posargs, kwargs)))
|
debug_utils.format_call(self.handler, posargs, kwargs)))
|
||||||
self.handler(*posargs, **kwargs)
|
self.handler(*posargs, **kwargs)
|
||||||
|
|
||||||
|
def mode_allowed(self, mode):
|
||||||
|
"""Check if the command can be run in the given mode.
|
||||||
|
|
||||||
|
Args:
|
||||||
|
mode: The mode to check.
|
||||||
|
"""
|
||||||
|
return ((self._modes is None or mode in self._modes) and
|
||||||
|
(self._not_modes is None or mode not in self._not_modes))
|
||||||
|
@ -287,10 +287,7 @@ class CommandRunner(QObject):
|
|||||||
result.cmd.run(self._win_id, args)
|
result.cmd.run(self._win_id, args)
|
||||||
|
|
||||||
if (result.cmdline[0] != 'repeat-command' and
|
if (result.cmdline[0] != 'repeat-command' and
|
||||||
(result.cmd._modes is None or
|
result.cmd.mode_allowed(usertypes.KeyMode.normal)):
|
||||||
usertypes.KeyMode.normal in result.cmd._modes) and
|
|
||||||
(result.cmd._not_modes is None or
|
|
||||||
usertypes.KeyMode.normal not in result.cmd._not_modes)):
|
|
||||||
global last_command
|
global last_command
|
||||||
last_command = (self._parse_count(text)[1],
|
last_command = (self._parse_count(text)[1],
|
||||||
count if count is not None else result.count)
|
count if count is not None else result.count)
|
||||||
|
Loading…
Reference in New Issue
Block a user