¿Cómo puedo definir secciones sin === Encabezados para RDoc :: use ()?
Pregunta
Me gusta generar páginas man usando la salida '--help' a través de help2man y txt2man. El sistema RDoc de Ruby es muy conveniente, pero parece que no puedo configurar RDoc :: uso exactamente de la manera que quiero. Aquí hay un script de muestra:
#!/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')
El resultado del script se ve así:
Name
foobar - Example command for StackOverflow question
Synopsis
Usage: foobar [--help]
Options
--help This help message
Pero realmente me gustaría suprimir el " Nombre " y "Sinopsis" encabezados para mi salida de uso, pero aún así marcarlos como secciones para la salida a una página de manual.
El uso del marcado ': sección:' funciona para RDoc :: Rdoc, pero no para RDoc :: uso. ¿Hay una manera obvia de marcar secciones para use.rb sin imprimir encabezados?
Solución
Mire el código fuente de < code> RDoc :: use_no_exit ; tiene dos formas de engancharse a sus entrañas para lograr lo que desea:
- Establezca
ENV ['RI']
para aplicar diferentes opciones de formato (incluida la especificación de una clase de formateador personalizada), o -
Redefina el valor predeterminado de RI :: TextFormatter's display_heading (y / u otros métodos) para (no) mostrar los encabezados o cualquier otra cosa
require 'rdoc/usage' require 'rdoc/ri/ri_formatter' module RI class TextFormatter def display_heading # nop end end end RDoc::usage('name')