[lucicfg] docgen: Add docstring parser.

It parses a docstring into a main body, a list of arguments and a list of
additional sections, like "Returns". All extracted strings are properly
deindented and cleaned up, ready to be inserted into e.g. markdown.

This is surprisingly non-trivial, complicated by careful handling of
indentation, since it is syntactically significant in this case.

R=tandrii@chromium.org
BUG=833946

Change-Id: I38c1f99cb71331e2f6617196415b4e914e15614e
Reviewed-on: https://chromium-review.googlesource.com/c/1408602
Commit-Queue: Vadim Shtayura <vadimsh@chromium.org>
Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
2 files changed
tree: cb6fc0b0addb4e33b3c352d16b530e034ee547e6
  1. appengine/
  2. auth/
  3. buildbucket/
  4. cipd/
  5. client/
  6. common/
  7. config/
  8. cq/
  9. dm/
  10. examples/
  11. gce/
  12. grpc/
  13. hardcoded/
  14. infra/
  15. logdog/
  16. luci_notify/
  17. lucicfg/
  18. lucictx/
  19. machine-db/
  20. milo/
  21. mmutex/
  22. mp/
  23. scheduler/
  24. scripts/
  25. server/
  26. starlark/
  27. tokenserver/
  28. tools/
  29. tumble/
  30. vpython/
  31. web/
  32. .gitattributes
  33. .travis.yml
  34. AUTHORS
  35. codereview.settings
  36. CONTRIBUTING.md
  37. CONTRIBUTORS
  38. LICENSE
  39. OWNERS
  40. pre-commit-go.yml
  41. PRESUBMIT.py
  42. README.md
README.md

luci-go: LUCI services and tools in Go

GoDoc

Installing

LUCI Go code is meant to be worked on from an Chromium infra.git checkout, which enforces packages versions and Go toolchain version. First get fetch via depot_tools.git then run:

fetch infra
cd infra/go
eval `./env.py`
cd src/go.chromium.org/luci

Contributing

Contributing uses the same flow as Chromium contributions.