feat: Add optional mouse support with --mouse command-line flag
This commit is contained in:
parent
aa1ef500b0
commit
f48d090c4e
12
gtm
12
gtm
|
|
@ -117,10 +117,11 @@ def get_diff_info(current_commit, prev_commit, filename):
|
|||
|
||||
return added_lines, deleted_lines
|
||||
|
||||
def main(stdscr, filename, show_whole_diff=False, show_additions=False, show_deletions=False):
|
||||
def main(stdscr, filename, show_whole_diff=False, show_additions=False, show_deletions=False, enable_mouse=False):
|
||||
curses.curs_set(0)
|
||||
curses.mousemask(curses.ALL_MOUSE_EVENTS)
|
||||
curses.mouseinterval(0)
|
||||
if enable_mouse:
|
||||
curses.mousemask(curses.ALL_MOUSE_EVENTS)
|
||||
curses.mouseinterval(0)
|
||||
stdscr.keypad(True)
|
||||
|
||||
# Initialize colors if terminal supports them
|
||||
|
|
@ -360,7 +361,7 @@ def main(stdscr, filename, show_whole_diff=False, show_additions=False, show_del
|
|||
continue
|
||||
|
||||
# Mouse interaction
|
||||
if key == curses.KEY_MOUSE:
|
||||
if enable_mouse and key == curses.KEY_MOUSE:
|
||||
try:
|
||||
_, mx, my, _, bstate = curses.getmouse()
|
||||
|
||||
|
|
@ -438,6 +439,7 @@ if __name__ == "__main__":
|
|||
parser.add_argument("-d", "--diff", action="store_true", help="Highlight newly added and deleted lines")
|
||||
parser.add_argument("--diff-additions", action="store_true", help="Highlight newly added lines in green")
|
||||
parser.add_argument("--diff-deletions", action="store_true", help="Show deleted lines in red")
|
||||
parser.add_argument("-m", "--mouse", action="store_true", help="Enable mouse support for navigation")
|
||||
parser.add_argument("-v", "--version", action="store_true", help="Show version number")
|
||||
parser.add_argument("filename", nargs="?", help="File to view history for")
|
||||
|
||||
|
|
@ -457,5 +459,5 @@ if __name__ == "__main__":
|
|||
print(f"Error: File '{filename}' does not exist")
|
||||
sys.exit(1)
|
||||
|
||||
curses.wrapper(main, filename, args.diff, args.diff_additions, args.diff_deletions)
|
||||
curses.wrapper(main, filename, args.diff, args.diff_additions, args.diff_deletions, args.mouse)
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue