Как я могу определить разделы без === заголовков для RDoc :: using ()? - PullRequest
2 голосов
/ 10 марта 2009

Мне нравится генерировать страницы руководства, используя вывод '--help' через help2man и txt2man. Система RDoc в Ruby очень удобна, но я не могу настроить использование RDoc :: именно так, как мне нужно. Вот пример сценария:

#!/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 ::. Есть ли очевидный способ пометить разделы для use.rb без печати заголовков?

1 Ответ

1 голос
/ 12 марта 2009

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

  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')
    
...