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?

¿Fue útil?

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:

  1. Establezca ENV ['RI'] para aplicar diferentes opciones de formato (incluida la especificación de una clase de formateador personalizada), o
  2. 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')
    
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top