Come posso definire sezioni senza === Titoli per RDoc :: use ()?
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?
Soluzione
Guarda il codice sorgente per < code> RDoc :: usage_no_exit ; hai due modi per agganciarti alle viscere per raggiungere ciò che desideri:
- Imposta
ENV ['RI']
per applicare diverse opzioni di formattazione (inclusa la specifica di una classe di formattazione personalizzata), oppure -
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')