MCPcopy Index your code
hub / github.com/ipython/ipython / class_config_rst_doc

Function class_config_rst_doc

docs/autogen_config.py:31–79  ·  view source on GitHub ↗

Generate rST documentation for this class' config options. Excludes traits defined on parent classes.

(cls, trait_aliases)

Source from the content-addressed store, hash-verified

29 return ', '.join(fmted)
30
31def class_config_rst_doc(cls, trait_aliases):
32 """Generate rST documentation for this class' config options.
33
34 Excludes traits defined on parent classes.
35 """
36 lines = []
37 classname = cls.__name__
38 for k, trait in sorted(cls.class_traits(config=True).items()):
39 ttype = trait.__class__.__name__
40
41 fullname = classname + '.' + trait.name
42 lines += ['.. configtrait:: ' + fullname,
43 ''
44 ]
45
46 help = trait.help.rstrip() or 'No description'
47 lines.append(indent(inspect.cleandoc(help), 4) + '\n')
48
49 # Choices or type
50 if 'Enum' in ttype:
51 # include Enum choices
52 lines.append(indent(
53 ':options: ' + ', '.join('``%r``' % x for x in trait.values), 4))
54 else:
55 lines.append(indent(':trait type: ' + ttype, 4))
56
57 # Default value
58 # Ignore boring default values like None, [] or ''
59 if interesting_default_value(trait.default_value):
60 try:
61 dvr = trait.default_value_repr()
62 except Exception:
63 dvr = None # ignore defaults we can't construct
64 if dvr is not None:
65 if len(dvr) > 64:
66 dvr = dvr[:61] + '...'
67 # Double up backslashes, so they get to the rendered docs
68 dvr = dvr.replace('\\n', '\\\\n')
69 lines.append(indent(':default: ``%s``' % dvr, 4))
70
71 # Command line aliases
72 if trait_aliases[fullname]:
73 fmt_aliases = format_aliases(trait_aliases[fullname])
74 lines.append(indent(':CLI option: ' + fmt_aliases, 4))
75
76 # Blank line
77 lines.append('')
78
79 return '\n'.join(lines)
80
81def reverse_aliases(app):
82 """Produce a mapping of trait names to lists of command line aliases.

Callers 1

write_docFunction · 0.85

Calls 4

indentFunction · 0.85
format_aliasesFunction · 0.85
replaceMethod · 0.80

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…