Namazu-devel-ja(旧)


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: 設定ファイルのフォーマット Re:フィルタの優先順位設定Re:tar.pl作成



臼田です

Yukio USUDA wrote:
> > 
> > option に関しては、scheme のフィルタがオプションを追加するスタイル
> > なのも厄介かなと思っています。利点もあるのですが...。
> > -- 
> 現在は parse_option で一度にオプションの取得をしているため
> parse_option内でschemeフィルタを読み込むという辛い仕様になって
> います。
> 最初の parse_option では未知のオプションがあっても捨てずに
> 残しておいてschemeフィルタ等が読み込まれた後でもう一度残った
> オプションをパースするように2段階にすればよいのではないかと
> 考えています。
> 
Getopt::Longに下記のように pass_through オプションを与えると
Getopt::Long::config('bundling','pass_through');

未知のオプションがあった場合には@ARGVに残しておいてくれるようです。
これを使って

* help, debug, version, verbose, quiet, config は pre_parse_option() で取得。
* 残りのオプションは parse_option() で取得。
* scheme フィルタ等が追加するオプションはフィルタ読み込み後に
 parse_extend_option() で取得。
* 残ってしまうものはUnknown optionとして表示。

と3段階で処理するように直そうと思います。
うまくいけば --norc も追加できるかもしれません。

臼田幸生