我喜欢通过help2man和txt2man使用'--help'输出生成手册页。 Ruby的RDoc系统非常方便,但我似乎无法完全按照我想要的方式配置RDoc :: usage。这是一个示例脚本:
#!/usr/bin/env ruby
#
# === Name
#
# foobar - Example command for StackOverflow question
#
# === Synopsis
#
# Usage: foobar [--help]
#
# === Options
#
# --help This help message
require 'rdoc/usage'
RDoc::usage('name', 'synopsis', 'options')
脚本的输出如下所示:
Name
foobar - Example command for StackOverflow question
Synopsis
Usage: foobar [--help]
Options
--help This help message
但我真的想为我的用法输出抑制“Name”和“Synopsis”标题,但仍然将它们标记为输出到手册页的部分。
使用':section:'标记适用于RDoc :: Rdoc,但不适用于RDoc :: usage。是否有一种明显的方法来标记usage.rb的部分而不打印标题?
答案 0 :(得分:1)
查看RDoc::usage_no_exit
的源代码;你有两种方法可以达到你想要的目标:
ENV['RI']
以强制执行不同的格式设置选项(包括指定自定义格式化程序类),或重新定义默认的RI :: TextFormatter的display_heading(和/或其他方法)以(不)显示标题或其他任何内容
require 'rdoc/usage'
require 'rdoc/ri/ri_formatter'
module RI
class TextFormatter
def display_heading
# nop
end
end
end
RDoc::usage('name')