2009-03-10 6 views
2

help2man과 txt2man을 통해 '--help'출력을 사용하여 매뉴얼 페이지를 생성하고 싶습니다. Ruby의 RDoc 시스템은 매우 편리하지만 원하는 방식으로 RDoc :: usage를 구성 할 수는 없습니다. 다음은 샘플 스크립트입니다 :어떻게 RDOM :: 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') 

스크립트의 출력은 다음과 같습니다

Name 
    foobar - Example command for StackOverflow question 

Synopsis 
    Usage: foobar [--help] 

Options 
    --help  This help message 

하지만 정말 내 사용을 출력의 "이름"과 "시놉시스"헤더를 억제하고 싶지만, 메뉴얼 페이지로 출력하기 위해 이들을 여전히 섹션으로 표시합니다.

': section :'마크 업을 사용하면 RDoc :: Rdoc에서는 작동하지만 RDoc :: use에서는 작동하지 않습니다. 헤더를 인쇄하지 않고서 usage.rb 섹션을 표시 할 수있는 확실한 방법이 있습니까?

답변

1

RDoc::usage_no_exit의 소스 코드를 살펴보십시오.

  1. 가 (사용자 정의 포맷터 클래스를 지정 포함) 다른 서식 옵션을 적용 할 ENV['RI']을 설정하거나
  2. 기본 RI :: TextFormatter의 display_heading을 다시 정의 : 두 개의 욕망을 yyou 무엇을 달성하기 위해 자사의 내장에 후킹하는 방법이 (및/또는 다른 방법) (안)에이 제목을 표시하거나

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

어떤 다른 이봐 똑바로, 즉 좋은 답변입니다. 감사! – guns