Skip to content

Commit c13e806

Browse files
committed
Bold options
Signed-off-by: Bernát Gábor <[email protected]>
1 parent be4e5d9 commit c13e806

File tree

3 files changed

+34
-26
lines changed

3 files changed

+34
-26
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22

33
All notable changes to this project will be documented in this file.
44

5+
## 1.4.0 (2021-02-14)
6+
7+
- Command line arguments are now bold to highlight them even further from the help text
8+
59
## 1.3.0 (2021-02-13)
610

711
- Add support for changing the usage width via the `usage_width` option on the directive

src/sphinx_argparse_cli/_logic.py

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
paragraph,
2626
reference,
2727
section,
28+
strong,
2829
title,
2930
)
3031
from docutils.parsers.rst.directives import positive_int, unchanged, unchanged_required
@@ -145,22 +146,15 @@ def _mk_option_line(self, action: Action, prefix: str) -> list_item: # noqa
145146
first = False
146147
else:
147148
line += Text(", ")
148-
ref_id = make_id(f"{prefix}-{opt}")
149-
ref = reference("", refid=ref_id)
150-
line.attributes["ids"].append(ref_id)
151-
ref += literal(text=opt)
152-
line += ref
149+
self._mk_option_name(line, prefix, opt)
153150
else:
154151
as_key = (
155152
action.dest
156153
if action.metavar is None
157154
else (action.metavar if isinstance(action.metavar, str) else action.metavar[0])
158155
)
159-
ref_id = make_id(f"{prefix}-{as_key}")
160-
ref = reference("", refid=ref_id)
161-
line.attributes["ids"].append(ref_id)
162-
ref += literal(text=as_key)
163-
line += ref
156+
self._mk_option_name(line, prefix, as_key)
157+
164158
point = list_item("", line, ids=[])
165159
if action.help:
166160
help_text = load_help_text(action.help)
@@ -175,6 +169,16 @@ def _mk_option_line(self, action: Action, prefix: str) -> list_item: # noqa
175169
line += Text(")")
176170
return point
177171

172+
@staticmethod
173+
def _mk_option_name(line: paragraph, prefix: str, opt: str) -> None:
174+
ref_id = make_id(f"{prefix}-{opt}")
175+
ref = reference("", refid=ref_id)
176+
line.attributes["ids"].append(ref_id)
177+
st = strong()
178+
st += literal(text=opt)
179+
ref += st
180+
line += ref
181+
178182
def _mk_sub_command(self, aliases: list[str], help_msg: str, parser: ArgumentParser) -> section:
179183
title_text = f"{parser.prog}"
180184
if aliases:

tests/complex.txt

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -9,21 +9,21 @@ argparse tester
99
optional arguments
1010
==================
1111

12-
* "-h", "--help" - show this help message and exit
12+
* **"-h"**, **"--help"** - show this help message and exit
1313

14-
* "--root" - root flag (default: "False")
14+
* **"--root"** - root flag (default: "False")
1515

16-
* "--no-help" (default: "False")
16+
* **"--no-help"** (default: "False")
1717

1818

1919
Exclusive
2020
=========
2121

2222
this is an exclusive group
2323

24-
* "--foo" - foo (default: "False")
24+
* **"--foo"** - foo (default: "False")
2525

26-
* "--bar" - bar (default: "False")
26+
* **"--bar"** - bar (default: "False")
2727

2828

2929
complex first (f)
@@ -37,19 +37,19 @@ a-first-help
3737
complex first positional arguments
3838
----------------------------------
3939

40-
* "one" - first positional argument (default: "None")
40+
* **"one"** - first positional argument (default: "None")
4141

42-
* "pos_two" - second positional argument (default: "1")
42+
* **"pos_two"** - second positional argument (default: "1")
4343

4444

4545
complex first optional arguments
4646
--------------------------------
4747

48-
* "-h", "--help" - show this help message and exit
48+
* **"-h"**, **"--help"** - show this help message and exit
4949

50-
* "--flag" - a parser first flag (default: "False")
50+
* **"--flag"** - a parser first flag (default: "False")
5151

52-
* "--root" - root flag (default: "False")
52+
* **"--root"** - root flag (default: "False")
5353

5454

5555
complex second
@@ -61,19 +61,19 @@ complex second
6161
complex second positional arguments
6262
-----------------------------------
6363

64-
* "one" - first positional argument (default: "None")
64+
* **"one"** - first positional argument (default: "None")
6565

66-
* "pos_two" - second positional argument (default: "green")
66+
* **"pos_two"** - second positional argument (default: "green")
6767

6868

6969
complex second optional arguments
7070
---------------------------------
7171

72-
* "-h", "--help" - show this help message and exit
72+
* **"-h"**, **"--help"** - show this help message and exit
7373

74-
* "--flag" - a parser second flag (default: "False")
74+
* **"--flag"** - a parser second flag (default: "False")
7575

76-
* "--root" - root flag (default: "False")
76+
* **"--root"** - root flag (default: "False")
7777

7878

7979
complex third
@@ -85,4 +85,4 @@ complex third
8585
complex third optional arguments
8686
--------------------------------
8787

88-
* "-h", "--help" - show this help message and exit
88+
* **"-h"**, **"--help"** - show this help message and exit

0 commit comments

Comments
 (0)