You've already forked vimtabdiff
							
							cleanup
This commit is contained in:
		@@ -3,8 +3,8 @@
 | 
			
		||||
import os,sys
 | 
			
		||||
import argparse
 | 
			
		||||
import pathlib
 | 
			
		||||
from pathlib import Path
 | 
			
		||||
import itertools
 | 
			
		||||
from pathlib import Path
 | 
			
		||||
 | 
			
		||||
def parse_args():
 | 
			
		||||
    parser = argparse.ArgumentParser(description="Show diff in vim tab pages")
 | 
			
		||||
@@ -23,21 +23,18 @@ def get_dir_info(dirname: Path):
 | 
			
		||||
            files.append(p)
 | 
			
		||||
    return dirs, files
 | 
			
		||||
 | 
			
		||||
def get_chunks(aItems, bItems):
 | 
			
		||||
def get_pairs(aItems, bItems):
 | 
			
		||||
    aItems = [(item, 'A') for item in aItems]
 | 
			
		||||
    bItems = [(item, 'B') for item in bItems]
 | 
			
		||||
    items = sorted(aItems + bItems)
 | 
			
		||||
    for name, items in itertools.groupby(items, lambda item: item[0].name):
 | 
			
		||||
    for _, items in itertools.groupby(items, lambda item: item[0].name):
 | 
			
		||||
        items = list(items)
 | 
			
		||||
        if len(items) == 2:
 | 
			
		||||
            aItem, bItem = items
 | 
			
		||||
            aItem, _ = aItem
 | 
			
		||||
            bItem, _ = bItem
 | 
			
		||||
            (aItem, _), (bItem, _) = items
 | 
			
		||||
            yield aItem, bItem
 | 
			
		||||
        else:
 | 
			
		||||
            assert(len(items) == 1)
 | 
			
		||||
            item, = items
 | 
			
		||||
            item, tag = item
 | 
			
		||||
            (item, tag), = items
 | 
			
		||||
            if tag == 'A':
 | 
			
		||||
                yield item, None
 | 
			
		||||
            else:
 | 
			
		||||
@@ -46,19 +43,16 @@ def get_chunks(aItems, bItems):
 | 
			
		||||
def get_file_pairs(a, b):
 | 
			
		||||
    aDirs, aFiles = get_dir_info(Path(a))
 | 
			
		||||
    bDirs, bFiles = get_dir_info(Path(b))
 | 
			
		||||
    print(f"{a=}, {aDirs=}, {aFiles=}, {b=}, {bDirs=}, {bFiles=}")
 | 
			
		||||
    yield from get_chunks(aFiles, bFiles)
 | 
			
		||||
    for aDir, bDir in get_chunks(aDirs, bDirs):
 | 
			
		||||
    yield from get_pairs(aFiles, bFiles)
 | 
			
		||||
    for aDir, bDir in get_pairs(aDirs, bDirs):
 | 
			
		||||
        yield from get_file_pairs(aDir, bDir)
 | 
			
		||||
 | 
			
		||||
def main():
 | 
			
		||||
    dirs, files = get_dir_info(Path('.'))
 | 
			
		||||
    print(f"{dirs=} {files=}")
 | 
			
		||||
    args = parse_args()
 | 
			
		||||
    print("Helloworld")
 | 
			
		||||
    print(f"{args.pathA=} {args.pathB=}")
 | 
			
		||||
    for a, b in get_file_pairs(args.pathA, args.pathB):
 | 
			
		||||
        print(f"{a=}, {b=}")
 | 
			
		||||
 | 
			
		||||
if __name__ == '__main__':
 | 
			
		||||
    main()
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user