From ef7c1be9d2284c31c993796f1750435d6bdb095c Mon Sep 17 00:00:00 2001 From: Seamile Date: Tue, 20 Jun 2023 10:24:01 +0800 Subject: [PATCH] add interrupt handler --- jsonfmt.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/jsonfmt.py b/jsonfmt.py index 67e4eb7..9aedbc4 100755 --- a/jsonfmt.py +++ b/jsonfmt.py @@ -10,6 +10,7 @@ from io import TextIOBase from pydoc import pager from shutil import get_terminal_size +from signal import signal, SIGINT from sys import stdin, stdout, stderr, exit as sys_exit from typing import Any, List, IO, Optional, Sequence, Tuple, Union from unittest.mock import patch @@ -278,6 +279,14 @@ def parse_cmdline_args(args: Optional[Sequence[str]] = None): return parser.parse_args(args) +def handle_interrupt(signum, _): + print_err('user canceled!') + sys_exit(0) + + +signal(SIGINT, handle_interrupt) + + def main(): args = parse_cmdline_args()