def add_target_and_index(self, firstname: str, sig: str, signode: desc_signature) -> None: currprogram = self.env.ref_context.get('std:program') for optname in signode.get('allnames', []): targetname = optname.replace('/', '-') if not targetname.startswith('-'): targetname = '-arg-' + targetname if currprogram: targetname = '-' + currprogram + targetname targetname = 'cmdoption' + targetname signode['names'].append(targetname) domain = cast(StandardDomain, self.env.get_domain('std')) self.state.document.note_explicit_target(signode) for optname in signode.get('allnames', []): domain.add_program_option(currprogram, optname, self.env.docname, signode['ids'][0]) # 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))
def add_target_and_index(self, firstname: str, sig: str, signode: desc_signature) -> None: currprogram = self.env.ref_context.get('std:program') for optname in signode.get('allnames', []): prefixes = ['cmdoption'] if currprogram: prefixes.append(currprogram) if not optname.startswith(('-', '/')): prefixes.append('arg') prefix = '-'.join(prefixes) node_id = make_id(self.env, self.state.document, prefix, optname) signode['ids'].append(node_id) self.state.document.note_explicit_target(signode) domain = cast(StandardDomain, self.env.get_domain('std')) for optname in signode.get('allnames', []): domain.add_program_option(currprogram, optname, self.env.docname, signode['ids'][0]) # 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))
def add_target_and_index(self, firstname: str, sig: str, signode: desc_signature) -> None: currprogram = self.env.ref_context.get('std:program') for optname in signode.get('allnames', []): targetname = optname.replace('/', '-') if not targetname.startswith('-'): targetname = '-arg-' + targetname if currprogram: targetname = '-' + currprogram + targetname targetname = 'cmdoption' + targetname signode['names'].append(targetname) domain = cast(StandardDomain, self.env.get_domain('std')) self.state.document.note_explicit_target(signode) for optname in signode.get('allnames', []): 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))
def depart_desc_signature(self, node: addnodes.desc_signature) -> None: if not node.get("is_multiline"): self.add_permalink_ref(node, _("Permalink to this definition")) self.body.append('</dt>\n')