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 も追加できるかもしれません。
臼田幸生