Wie kann ich definieren Abschnitte ohne === Rubriken zu RDoc :: Nutzung ()?
Frage
Ich mag man-Seiten generieren ‚--help‘ Ausgabe über help2man und txt2man verwenden. Rubys RDoc System ist sehr bequem, aber ich kann nicht scheinen, RDoc :: Verwendung in genau die Art und Weise zu konfigurieren, die ich will. Hier ist ein Beispielskript:
#!/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 sieht wie folgt aus:
Name
foobar - Example command for StackOverflow question
Synopsis
Usage: foobar [--help]
Options
--help This help message
Aber ich würde wirklich gerne den „Namen“ und „Synopsis“ Header für meine Nutzung Ausgabe zu unterdrücken, aber immer noch markiere sie als Abschnitte zur Ausgabe an einem Mann Seite.
Mit dem ': Abschnitt:' Markup-Werke für RDoc :: rdoc, aber nicht RDoc :: Nutzung. Gibt es eine offensichtliche Art und Weise Abschnitte für usage.rb zu markieren, ohne Header Druck?
Lösung
Schauen Sie sich den Quellcode für RDoc::usage_no_exit
; Sie haben zwei Möglichkeiten Einhaken seine Eingeweide zu erreichen, was Wunsch yyou:
- Stellen Sie
ENV['RI']
verschiedene Formatierungsoptionen zur Durchsetzung (einschließlich einer benutzerdefinierten Formatierungsklasse Angabe) oder -
neu definieren den Standard-RI :: TextFormatter der 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')