Como posso definir seções sem === Os títulos para RDoc :: uso ()?
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?
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:
- Set
ENV['RI']
para impor diferentes opções de formatação (incluindo a especificação de um personalizado formatador de classe), ou -
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')