namazu-dev(ring)


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

Re: coverage of libnmz



knok@xxxxxxxxxxxxx (NOKUBI Takatsugu) wrote:

>> libnmz にたくさん面倒をみてもらうなら、 src/result.[ch] は
>> ../nmz に移した方がいいでしょう。これらのファイルは
>> NMZ.result.* を元に検索結果の整形を行います。
>> 
>> 逆に libnmz の役割を減らすならば、 nmz/replace.[ch] は src 
>> へ移した方がいいと思います。これらのファイルは
>
>  このあたりは私も迷いました。現状では namazu の処理過程に合せてファイ
>ルを分離したままに近い状況だと思います。
>
>  ちょっと考えてみたのですが、例えば namazu コマンド互換なものを作ろう
>とした場合にはいろんな機能が libnmz にあった方が便利だろうと思います。

極端に考えると namazu.c 以外はすべて libnmz に含める、という
手があります。が、この方針は便利かもしれないけど美しくはあり
ません。うまくバランスを取るのはなかなか難しいです。もうしば
らく考えてみます。


>  canna を例に上げて考えてみると、libcanna を使った canna client は全
>て ~/.canna を読みこむことで統一的なカスタマイズができたりします。現状
>の .namazurc はそれほど複雑ではないですからそこまでは行かないでしょう
>が、そういう観点から多くの機能を使えるようにしておくことはそれなりに意
>味があるのではないかと思います。

namazurc は namazuコマンド用の設定ファイルという位置づけがい
いと思います。

たとえば、一度に表示する検索結果の件数を指定するとか、標準の
出力形式をHTMLにする、といった設定項目を namazurc に追加する
ことを考えると、libnmz を利用する他のプログラムと namazurc 
を共有するのは無理があると思います。


># そういえば、今の libnmz の仕様に Serach::Namazu を追従させていない...
># やらなきゃ。

  uniq_idxnames();
  expand_idxname_aliases();
  complete_idxnames();
  codeconv_query();
  free_idxnames();
  free_aliases();
  free_replaces();
  load_conf();

の呼出しは不要になりました。(nmz_search の中で呼ばれます)

-- Satoru Takabayashi