Domanda

Mi piace generare pagine man usando l'output '--help' tramite help2man e txt2man. Il sistema RDoc di Ruby è molto comodo, ma non riesco a configurare RDoc :: use esattamente come voglio. Ecco uno script di esempio:

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

L'output dello script è simile al seguente:

Name
    foobar - Example command for StackOverflow question

Synopsis
    Usage: foobar [--help]

Options
    --help      This help message

Ma vorrei davvero sopprimere il " Nome " e "sinossi" intestazioni per il mio output di utilizzo, ma comunque contrassegnarle come sezioni per l'output in una pagina man.

L'uso del markup ': section:' funziona per RDoc :: Rdoc, ma non per RDoc :: use. Esiste un modo ovvio di contrassegnare le sezioni per use.rb senza stampare le intestazioni?

È stato utile?

Soluzione

Guarda il codice sorgente per < code> RDoc :: usage_no_exit ; hai due modi per agganciarti alle viscere per raggiungere ciò che desideri:

  1. Imposta ENV ['RI'] per applicare diverse opzioni di formattazione (inclusa la specifica di una classe di formattazione personalizzata), oppure
  2. Ridefinisci il RI predefinito :: TextFormatter display_heading (e / o altri metodi) per (non) visualizzare i titoli o quant'altro

    require 'rdoc/usage'
    require 'rdoc/ri/ri_formatter'
    
    module RI
      class TextFormatter
        def display_heading
          # nop
        end
      end
    end
    
    RDoc::usage('name')
    
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top