else:
formats = [args.doc_format]
+ manual = args.cmdline[0] if args.cmdline else "mkosi"
+
while formats:
form = formats.pop(0)
try:
if form == DocFormat.man:
- man = resources / "man/mkosi.1"
+ man = resources / f"man/{manual}.1"
if not man.exists():
raise FileNotFoundError()
run(["man", "--local-file", man])
elif form == DocFormat.pandoc:
if not find_binary("pandoc"):
logging.error("pandoc is not available")
- pandoc = run(["pandoc", "-t", "man", "-s", resources / "man/mkosi.md"], stdout=subprocess.PIPE)
+ pandoc = run(
+ ["pandoc", "-t", "man", "-s", resources / f"man/{manual}.md"],
+ stdout=subprocess.PIPE,
+ stderr=subprocess.DEVNULL,
+ log=False,
+ )
run(["man", "--local-file", "-"], input=pandoc.stdout)
return
elif form == DocFormat.markdown:
- page((resources / "man/mkosi.md").read_text(), args.pager)
+ page((resources / f"man/{manual}.md").read_text(), args.pager)
return
elif form == DocFormat.system:
- run(["man", "mkosi"])
+ run(["man", manual], log=False)
return
except (FileNotFoundError, subprocess.CalledProcessError) as e:
if not formats:
if isinstance(e, FileNotFoundError):
- die("The mkosi package does not contain the man page.")
+ die("The mkosi package does not contain the man page {manual:r}.")
raise e
Verb.coredumpctl,
Verb.burn,
Verb.completion,
+ Verb.documentation,
)
def needs_build(self) -> bool:
usage="\n " + textwrap.dedent("""\
mkosi [options…] {b}summary{e}
mkosi [options…] {b}cat-config{e}
- mkosi [options…] {b}build{e} [command line…]
- mkosi [options…] {b}shell{e} [command line…]
- mkosi [options…] {b}boot{e} [nspawn settings…]
- mkosi [options…] {b}qemu{e} [qemu parameters…]
- mkosi [options…] {b}ssh{e} [command line…]
- mkosi [options…] {b}journalctl{e} [command line…]
- mkosi [options…] {b}coredumpctl{e} [command line…]
+ mkosi [options…] {b}build{e} [command line…]
+ mkosi [options…] {b}shell{e} [command line…]
+ mkosi [options…] {b}boot{e} [nspawn settings…]
+ mkosi [options…] {b}qemu{e} [qemu parameters…]
+ mkosi [options…] {b}ssh{e} [command line…]
+ mkosi [options…] {b}journalctl{e} [command line…]
+ mkosi [options…] {b}coredumpctl{e} [command line…]
+ mkosi [options…] {b}documentation{e} [manual]
mkosi [options…] {b}clean{e}
mkosi [options…] {b}serve{e}
mkosi [options…] {b}bump{e}
mkosi [options…] {b}genkey{e}
- mkosi [options…] {b}documentation{e}
mkosi [options…] {b}help{e}
mkosi -h | --help
mkosi --version