2009-03-10 5 views
2

Ich erzeuge Man Seiten mit '--Help' Ausgabe über help2man und txt2man. Das RDoc-System von Ruby ist sehr praktisch, aber ich kann die RDoc :: -Verwendung anscheinend nicht so konfigurieren, wie ich es möchte. Hier ist ein Beispielskript:Wie kann ich Abschnitte ohne === Überschriften für RDoc :: usage() definieren?

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

Die Ausgabe des Skripts wie folgt aussieht:

Name 
    foobar - Example command for StackOverflow question 

Synopsis 
    Usage: foobar [--help] 

Options 
    --help  This help message 

Aber ich möchte wirklich die „Name“ und „Synopsis“ Header für meine Nutzung Ausgabe zu unterdrücken, aber Markieren Sie sie immer noch als Abschnitte für die Ausgabe auf eine Manpage.

Verwenden der ': Abschnitt:' Markup funktioniert für RDoc :: Rdoc, aber nicht RDoc :: Verwendung. Gibt es eine offensichtliche Möglichkeit, Abschnitte für usage.rb zu markieren, ohne Kopfzeilen zu drucken?

Antwort

1

Schauen Sie sich den Quellcode für RDoc::usage_no_exit an; Sie haben zwei Möglichkeiten Einhaken seine Eingeweide, was Wunsch yyou zu erreichen:

  1. Set ENV['RI'] verschiedene Formatierungsoptionen zur Durchsetzung (einschließlich einer benutzerdefinierten Formatierungsklasse Angabe) oder
  2. neu definieren den Standard-RI :: TextFormatter des display_heading (und/oder andere Methoden) zu (nicht) die Überschriften angezeigt werden oder was auch immer sonst

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

Hey gerade nach oben, das ist eine gute Antwort. Vielen Dank! – guns

Verwandte Themen