كيف يمكنني تحديد المقاطع دون === عناوين RDoc::الاستخدام()?

StackOverflow https://stackoverflow.com/questions/631585

سؤال

أود أن تولد رجل الصفحات باستخدام 'مساعدة' الناتج عن طريق help2man و txt2man.روبي RDoc نظام مريحة جدا, ولكن أنا لا يمكن أن يبدو لتكوين RDoc::الاستخدام بالطريقة التي أريد.هنا عينة البرنامج النصي:

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

إخراج البرنامج النصي يبدو مثل هذا:

Name
    foobar - Example command for StackOverflow question

Synopsis
    Usage: foobar [--help]

Options
    --help      This help message

ولكن أود حقا أن قمع "اسم" و "خلاصة" رؤوس استخدامي الانتاج, ولكن لا يزال وضع علامة عليها أقسام الإخراج إلى رجل الصفحة.

باستخدام ':القسم:' العلامات يعمل RDoc::Rdoc ، ولكن ليس RDoc::الاستخدام.هل هناك طريقة واضحة بمناسبة أقسام للاستخدام.rb بدون الطباعة الرؤوس ؟

هل كانت مفيدة؟

المحلول

نظرة على التعليمات البرمجية المصدر RDoc::usage_no_exit;لديك طريقتان لتركيب إلى الشجاعة لتحقيق ما yyou الرغبة:

  1. مجموعة ENV['RI'] لتطبيق تنسيق مختلف الخيارات (بما في ذلك تحديد العرف المنسق الطبقة) ، أو
  2. تعريف الافتراضي ري::TextFormatter هو display_heading (و/أو وسائل أخرى) إلى (لا) عرض العناوين أو أي شيء آخر

    require 'rdoc/usage'
    require 'rdoc/ri/ri_formatter'
    
    module RI
      class TextFormatter
        def display_heading
          # nop
        end
      end
    end
    
    RDoc::usage('name')
    
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top