Compare commits

...

3 Commits

Author SHA1 Message Date
07b847bd3b Update README with latest Usage 2025-10-05 18:02:39 -04:00
3460ccbfb0 Merge pull request #9 from serpent7776/imp-skip-nonexistent-flag
Add --skipnonexistent flag
2025-09-01 16:52:51 +00:00
Serpent7776
bfe5b576a2 Add --skipmissing flag
This skips files that do not have a matching file in the other
directory.
2025-09-01 18:39:19 +02:00
2 changed files with 12 additions and 7 deletions

View File

@@ -24,7 +24,7 @@ You may need to add `~/bin` to your PATH variable if not already done. See [here
# Usage
```help
usage: vimtabdiff.py [-h] [--vim VIM] [--onlydiffs] pathA pathB
usage: vimtabdiff.py [-h] [--vim VIM] [--onlydiffs] [--skipmissing] pathA pathB
Show diff of files from two directories in vim tabs
@@ -33,9 +33,10 @@ positional arguments:
pathB
options:
-h, --help show this help message and exit
--vim VIM vim command to run
--onlydiffs only open files where there is a diff
-h, --help show this help message and exit
--vim VIM vim command to run
--onlydiffs only open files where there is a diff
--skipmissing skip non-existent files
```
## Relevant vim tips

View File

@@ -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)