2009-03-10 4 views
2

J'aime générer des pages man en utilisant la sortie '--help' via help2man et txt2man. Le système RDoc de Ruby est très pratique, mais je n'arrive pas à configurer RDoc :: utilisation exactement comme je le souhaite. Voici un exemple de script:Comment puis-je définir des sections sans les en-têtes === pour RDoc :: usage()?

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

La sortie du script ressemble à ceci:

Name 
    foobar - Example command for StackOverflow question 

Synopsis 
    Usage: foobar [--help] 

Options 
    --help  This help message 

Mais je voudrais vraiment supprimer les en-têtes « Nom » et « Synopsis » pour ma sortie d'utilisation, mais marquez-les toujours comme des sections à afficher sur une page de manuel. L'utilisation du balisage ': section:' fonctionne pour RDoc :: Rdoc, mais pas pour RDoc :: usage. Existe-t-il un moyen évident de marquer les sections à utiliser.rb sans imprimer les en-têtes?

Répondre

1

Regardez le code source pour RDoc::usage_no_exit; vous avez deux façons de crochetage à ses tripes pour atteindre ce yyou désir:

  1. Set ENV['RI'] pour appliquer différentes options de mise en forme (y compris en spécifiant une classe formatter personnalisée), ou
  2. Redéfinir la valeur par défaut RI :: TextFormatter de display_heading (et/ou d'autres méthodes) à (pas) afficher les rubriques ou tout autre chose

    require 'rdoc/usage' 
    require 'rdoc/ri/ri_formatter' 
    
    module RI 
        class TextFormatter 
        def display_heading 
         # nop 
        end 
        end 
    end 
    
    RDoc::usage('name') 
    
+0

Hé bien droit, c'est une bonne réponse. Merci! – guns

Questions connexes