summaryrefslogtreecommitdiff
path: root/sphinx/domains/std.py
diff options
context:
space:
mode:
Diffstat (limited to 'sphinx/domains/std.py')
-rw-r--r--sphinx/domains/std.py14
1 files changed, 8 insertions, 6 deletions
diff --git a/sphinx/domains/std.py b/sphinx/domains/std.py
index 5d3362313..9d094d1a9 100644
--- a/sphinx/domains/std.py
+++ b/sphinx/domains/std.py
@@ -197,12 +197,14 @@ class Cmdoption(ObjectDescription):
domain.add_program_option(currprogram, optname,
self.env.docname, signode['ids'][0])
- # create only one index entry for the whole option
- if optname == firstname:
- self.indexnode['entries'].append(
- ('pair', _('%scommand line option; %s') %
- ((currprogram and currprogram + ' ' or ''), sig),
- signode['ids'][0], '', None))
+ # create an index entry
+ if currprogram:
+ descr = _('%s command line option') % currprogram
+ else:
+ descr = _('command line option')
+ for option in sig.split(', '):
+ entry = '; '.join([descr, option])
+ self.indexnode['entries'].append(('pair', entry, signode['ids'][0], '', None))
class Program(SphinxDirective):