Как определить разделы без заголовков === для RDoc::usage()?

Мне нравится генерировать справочные страницы, используя вывод '--help' через help2man и txt2man. Система 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. Есть ли очевидный способ пометить разделы для использования.rb без печати заголовков?


person guns    schedule 10.03.2009    source источник


Ответы (1)


Посмотрите исходный код для RDoc::usage_no_exit; у вас есть два способа зацепиться за его внутренности, чтобы добиться желаемого:

  1. Установите ENV['RI'], чтобы применить различные параметры форматирования (включая указание пользовательского класса форматирования) или
  2. Переопределите display_heading RI::TextFormatter по умолчанию. (и/или другие методы), чтобы (не) отображать заголовки или что-то еще

    require 'rdoc/usage'
    require 'rdoc/ri/ri_formatter'
    
    module RI
      class TextFormatter
        def display_heading
          # nop
        end
      end
    end
    
    RDoc::usage('name')
    
person vladr    schedule 12.03.2009