2

help2man と txt2man を介して「--help」出力を使用して man ページを生成するのが好きです。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

しかし、使用方法の出力用に「名前」ヘッダーと「概要」ヘッダーを抑制したいのですが、マニュアル ページへの出力用のセクションとしてマークします。

':section:' マークアップの使用は RDoc::Rdoc では機能しますが、RDoc::usage では機能しません。ヘッダーを印刷せずに、usage.rb のセクションをマークする明確な方法はありますか?

4

1 に答える 1

1

のソースコードを見てくださいRDoc::usage_no_exit。あなたが望むものを達成するために、その内臓にフックする2つの方法があります。

  1. ENV['RI']さまざまな書式設定オプション (カスタム フォーマッタ クラスの指定を含む) を適用するように設定する、または
  2. デフォルトの 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')
    
于 2009-03-12T19:50:13.870 に答える