diff --git a/vimtabdiff.py b/vimtabdiff.py index 02550fc..9c32d0b 100755 --- a/vimtabdiff.py +++ b/vimtabdiff.py @@ -32,6 +32,9 @@ def parse_args() -> argparse.Namespace: parser.add_argument( "--onlydiffs", help="only open files where there is a diff", action="store_true" ) + parser.add_argument( + "--skipmissing", help="skip non-existent files", action="store_true" + ) return parser.parse_args() @@ -87,9 +90,10 @@ def main() -> None: aPath = a.resolve() if a else os.devnull bPath = b.resolve() if b else os.devnull if ( - args.onlydiffs - and a and b - and open(aPath, mode="rb").read() == open(bPath, mode="rb").read() + (args.skipmissing and (not a or not b)) or + (args.onlydiffs + and a and b + and open(aPath, mode="rb").read() == open(bPath, mode="rb").read()) ): continue print(f"tabedit {aPath} | vsp {bPath}", file=vimCmdFile)