From a0559e506b7e94ed520e91e7ab7484d60d90ff3b Mon Sep 17 00:00:00 2001 From: pagedown Date: Sat, 30 Apr 2022 22:01:58 +0800 Subject: [PATCH] Show error message when remote command arguments are invalid --- kitty/rc/create_marker.py | 5 ++++- kitty/rc/scroll_window.py | 2 ++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/kitty/rc/create_marker.py b/kitty/rc/create_marker.py index 54dda8c19..82077bbe1 100644 --- a/kitty/rc/create_marker.py +++ b/kitty/rc/create_marker.py @@ -37,7 +37,10 @@ Apply marker to the window this command is run in, rather than the active window def message_to_kitty(self, global_opts: RCOptions, opts: 'CLIOptions', args: ArgsType) -> PayloadType: if len(args) < 2: self.fatal('Invalid marker specification: {}'.format(' '.join(args))) - parse_marker_spec(args[0], args[1:]) + try: + parse_marker_spec(args[0], args[1:]) + except Exception as err: + self.fatal(f"Failed to parse marker specification {' '.join(args)} with error: {err}") return {'match': opts.match, 'self': opts.self, 'marker_spec': args} def response_from_kitty(self, boss: Boss, window: Optional[Window], payload_get: PayloadGetType) -> ResponseType: diff --git a/kitty/rc/scroll_window.py b/kitty/rc/scroll_window.py index df79d948e..c631c5897 100644 --- a/kitty/rc/scroll_window.py +++ b/kitty/rc/scroll_window.py @@ -35,6 +35,8 @@ class ScrollWindow(RemoteCommand): options_spec = MATCH_WINDOW_OPTION def message_to_kitty(self, global_opts: RCOptions, opts: 'CLIOptions', args: ArgsType) -> PayloadType: + if len(args) < 1: + self.fatal('Scroll amount must be specified') amt = args[0] amount: Tuple[Union[str, int], Optional[str]] = (amt, None) if amt not in ('start', 'end'):