Pergunta

Eu gosto de gerar páginas homem usando 'help' saída através help2man e txt2man. sistema RDoc de Ruby é muito conveniente, mas eu não consigo RDoc configure :: uso exatamente da maneira que eu quero. Aqui está um exemplo de script:

#!/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')

A saída dos olhares de script como este:

Name
    foobar - Example command for StackOverflow question

Synopsis
    Usage: foobar [--help]

Options
    --help      This help message

Mas eu realmente gostaria de suprimir o "Nome" e cabeçalhos "Sinopse" para a minha saída uso, mas ainda marcá-los como seções para saída para uma página de homem.

Usando o ': seção:' marcação funciona para RDoc :: Rdoc, mas não RDoc :: uso. Existe uma maneira óbvia de seções marca para usage.rb sem imprimir cabeçalhos?

Foi útil?

Solução

Olhe para o código-fonte para RDoc::usage_no_exit ; você tem duas maneiras de ligar para seus coragem para conseguir o que yyou desejo:

  1. Set ENV['RI'] para impor diferentes opções de formatação (incluindo a especificação de um personalizado formatador de classe), ou
  2. Redefinir o padrão RI :: TextFormatter de display_heading (e / ou outros métodos) para (não) exibir os cabeçalhos ou qualquer outra coisa

    require 'rdoc/usage'
    require 'rdoc/ri/ri_formatter'
    
    module RI
      class TextFormatter
        def display_heading
          # nop
        end
      end
    end
    
    RDoc::usage('name')
    
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top