Abort show_error kitten if stdin is a tty

This commit is contained in:
Kovid Goyal 2023-01-22 08:48:55 +05:30
parent dc1851acdb
commit 6a64df1afb
No known key found for this signature in database
GPG Key ID: 06BC317B515ACE7C
2 changed files with 4 additions and 2 deletions

View File

@ -231,7 +231,7 @@ Result = Optional[str]
def main(args: List[str]) -> Result:
msg = 'Ask the user what to do with the remote file. For internal use by kitty, do not run it directly.'
try:
cli_opts, items = parse_args(args[1:], option_text, '', msg, 'kitty remote_file', result_class=RemoteFileCLIOptions)
cli_opts, items = parse_args(args[1:], option_text, '', msg, 'kitty +kitten remote_file', result_class=RemoteFileCLIOptions)
except SystemExit as e:
if e.code != 0:
print(e.args[0])

View File

@ -24,7 +24,9 @@ The title for the error message.
def real_main(args: List[str]) -> None:
msg = 'Show an error message. For internal use by kitty.'
cli_opts, items = parse_args(args[1:], OPTIONS, '', msg, 'show_error', result_class=ErrorCLIOptions)
cli_opts, items = parse_args(args[1:], OPTIONS, '', msg, 'kitty +kitten show_error', result_class=ErrorCLIOptions)
if sys.stdin.isatty():
raise SystemExit('Input data for this kitten must be piped as JSON to STDIN')
data = json.loads(sys.stdin.buffer.read())
error_message = data['msg']
if cli_opts.title: