99 lines
2.0 KiB
Python
99 lines
2.0 KiB
Python
import argparse
|
|
import sys
|
|
from scripts import (
|
|
add_worktree,
|
|
remove_worktree,
|
|
add_commit,
|
|
new_branch,
|
|
)
|
|
|
|
|
|
def help_menu():
|
|
parser = argparse.ArgumentParser(
|
|
add_help=False,
|
|
description="Git Formatter",
|
|
prog="gft",
|
|
formatter_class=argparse.RawTextHelpFormatter
|
|
)
|
|
|
|
worktree_group = parser.add_argument_group('Worktree Options')
|
|
branch_group = parser.add_argument_group('Branch Options')
|
|
commit_group = parser.add_argument_group('Commit Options')
|
|
options_group = parser.add_argument_group('General Options')
|
|
|
|
worktree_group.add_argument(
|
|
'-a',
|
|
default=False,
|
|
metavar="worktree",
|
|
nargs='?',
|
|
help="Create a git worktree",
|
|
)
|
|
|
|
worktree_group.add_argument(
|
|
'-i',
|
|
default=False,
|
|
metavar="worktree",
|
|
nargs='?',
|
|
help="Create a git worktree and automatically install npm packages",
|
|
)
|
|
|
|
worktree_group.add_argument(
|
|
'-r',
|
|
default=False,
|
|
metavar="worktree",
|
|
nargs='?',
|
|
help="Remove a git worktree",
|
|
)
|
|
|
|
branch_group.add_argument(
|
|
'-b',
|
|
default=False,
|
|
metavar="branch",
|
|
nargs='?',
|
|
help="Create a branch",
|
|
)
|
|
|
|
commit_group.add_argument(
|
|
'-m',
|
|
default=False,
|
|
metavar="message",
|
|
nargs='?',
|
|
help="Commit changes with a formatted message",
|
|
)
|
|
|
|
options_group.add_argument(
|
|
'-h',
|
|
'--help',
|
|
action='help',
|
|
help='Show this help menu'
|
|
)
|
|
|
|
if len(sys.argv) == 1:
|
|
parser.print_help()
|
|
exit(0)
|
|
|
|
return parser.parse_args()
|
|
|
|
|
|
def main():
|
|
args = help_menu()
|
|
|
|
if args.a is not False:
|
|
add_worktree(args.a)
|
|
|
|
if args.i is not False:
|
|
add_worktree(args.i, True)
|
|
|
|
if args.r is not False:
|
|
remove_worktree(args.r)
|
|
|
|
if args.b is not False:
|
|
new_branch()
|
|
|
|
if args.m is not False:
|
|
add_commit(args.m)
|
|
|
|
|
|
if __name__ == '__main__':
|
|
main()
|