Skip to content

Commit ef580de

Browse files
committed
added many customization flags
1 parent 9ddd9e1 commit ef580de

2 files changed

Lines changed: 334 additions & 74 deletions

File tree

src/gitfetch/cli.py

Lines changed: 66 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,11 +66,64 @@ def parse_args() -> argparse.Namespace:
6666
help="Disable spaced layout"
6767
)
6868

69+
visual_group.add_argument(
70+
"--custom-box",
71+
type=str,
72+
help="Custom character for contribution blocks (e.g., '■', '█')"
73+
)
74+
75+
visual_group.add_argument(
76+
"--no-date",
77+
action="store_true",
78+
help="Hide month/date labels on contribution graph"
79+
)
80+
81+
visual_group.add_argument(
82+
"--graph-only",
83+
action="store_true",
84+
help="Show only the contribution graph"
85+
)
86+
87+
visual_group.add_argument(
88+
"--no-achievements",
89+
action="store_true",
90+
help="Hide achievements section"
91+
)
92+
93+
visual_group.add_argument(
94+
"--no-languages",
95+
action="store_true",
96+
help="Hide languages section"
97+
)
98+
99+
visual_group.add_argument(
100+
"--no-issues",
101+
action="store_true",
102+
help="Hide issues section"
103+
)
104+
105+
visual_group.add_argument(
106+
"--no-pr",
107+
action="store_true",
108+
help="Hide pull requests section"
109+
)
110+
111+
visual_group.add_argument(
112+
"--no-account",
113+
action="store_true",
114+
help="Hide account information section"
115+
)
116+
117+
visual_group.add_argument(
118+
"--no-grid",
119+
action="store_true",
120+
help="Hide contribution grid/graph"
121+
)
122+
69123
return parser.parse_args()
70124

71125

72126
def main() -> int:
73-
"""Main entry point for the CLI."""
74127
args = parse_args()
75128

76129
if args.version:
@@ -112,7 +165,18 @@ def main() -> int:
112165
provider = config_manager.get_provider()
113166
provider_url = config_manager.get_provider_url()
114167
fetcher = _create_fetcher(provider, provider_url)
115-
formatter = DisplayFormatter(config_manager)
168+
169+
# Handle custom box character
170+
custom_box = args.custom_box
171+
172+
# Handle show date setting
173+
show_date = not args.no_date
174+
175+
formatter = DisplayFormatter(config_manager, custom_box, show_date,
176+
args.graph_only, not args.no_achievements,
177+
not args.no_languages, not args.no_issues,
178+
not args.no_pr, not args.no_account,
179+
not args.no_grid)
116180
if args.spaced:
117181
spaced = True
118182
elif args.not_spaced:

0 commit comments

Comments
 (0)