diff --git a/sphinx/domains/std.py b/sphinx/domains/std.py
index 88a4d28cb8a..96ac8ab8011 100644
--- a/sphinx/domains/std.py
+++ b/sphinx/domains/std.py
@@ -186,23 +186,22 @@ def handle_signature(self, sig: str, signode: desc_signature) -> str:
signode += addnodes.desc_name(optname, optname)
if self.env.config.option_emphasise_placeholders:
add_end_bracket = False
- if not args:
- continue
- if args[0] == '[' and args[-1] == ']':
- add_end_bracket = True
- signode += addnodes.desc_sig_punctuation('[', '[')
- args = args[1:-1]
- if args[0] == ' ':
- signode += addnodes.desc_sig_space()
- args = args.strip()
- if args[0] == '=':
- signode += addnodes.desc_sig_punctuation('=', '=')
- args = args[1:]
- for part in samp_role.parse(args):
- if isinstance(part, nodes.Text):
- signode += nodes.Text(part.astext())
- else:
- signode += part
+ if args:
+ if args[0] == '[' and args[-1] == ']':
+ add_end_bracket = True
+ signode += addnodes.desc_sig_punctuation('[', '[')
+ args = args[1:-1]
+ elif args[0] == ' ':
+ signode += addnodes.desc_sig_space()
+ args = args.strip()
+ elif args[0] == '=':
+ signode += addnodes.desc_sig_punctuation('=', '=')
+ args = args[1:]
+ for part in samp_role.parse(args):
+ if isinstance(part, nodes.Text):
+ signode += nodes.Text(part.astext())
+ else:
+ signode += part
if add_end_bracket:
signode += addnodes.desc_sig_punctuation(']', ']')
else:
diff --git a/tests/test_build_html.py b/tests/test_build_html.py
index 52d9ce7ee93..f9913a3cc36 100644
--- a/tests/test_build_html.py
+++ b/tests/test_build_html.py
@@ -1748,6 +1748,8 @@ def test_option_emphasise_placeholders(app, status, warning):
'-'
'COUNT' in content)
assert '{{value}}' in content
+ assert ('--plugin.option'
+ '') in content
@pytest.mark.sphinx('html', testroot='root')
@@ -1757,6 +1759,9 @@ def test_option_emphasise_placeholders_default(app, status, warning):
assert '={TYPE}' in content
assert '={WHERE}-{COUNT}' in content
assert '{client_name}' in content
+ assert ('--plugin.option'
+ ''
+ '') in content
@pytest.mark.sphinx('html', testroot='theming')