RDoc :: usage()の===見出しなしでセクションを定義するにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/631585

質問

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

しかし、私は本当に" Name"を抑制したいです。および「概要」使用量の出力用のヘッダーですが、それでもマニュアルページへの出力用のセクションとしてマークします。

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

役に立ちましたか?

解決

<のソースコードを見るcode> 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')
    
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top