get_doc.py 508 B

12345678910111213141516171819202122
  1. import sys
  2. import textwrap
  3. from .py3k_compat import is_callable
  4. rlmain = sys.modules["readline"]
  5. rl = rlmain.rl
  6. def get_doc(rl_):
  7. methods = [(x, getattr(rl_, x)) for x in dir(rl_) if is_callable(getattr(rl_, x))]
  8. return [(x, m.__doc__) for x, m in methods if m.__doc__]
  9. def get_rest(rl_):
  10. q = get_doc(rl_)
  11. out = []
  12. for funcname, doc in q:
  13. out.append(funcname)
  14. out.append("\n".join(textwrap.wrap(doc, 80, initial_indent=" ")))
  15. out.append("")
  16. return out