salook

salook

SUFARYを利用した、限定的な機能だけを持つ対話的なテキストファイルの検索プログラムです。 端的に言えばSDICに必要な部分だけでっち上げたarrayの偽者です。 ですので、対話的ですがhuman friendlyではないです。

背景

SDIC では大きな容量のファイルの検索を高速化するために、SUFARY 2.1.xに付属するarrayコマンドを利用した検索をサポートしています。 しかし、SUFARYの新しいバージョンであるSUFARY 2.3.xにはarrayコマンドは存在しません。 その為、古いバージョンのSUFARYを使用したり、(SDIC側を変更したり、Rubyによるラッパを使ったりして) saryを使ったりしているのが現状です。 また、Windowsユーザーにとっては残念ながらSUFARY 2.1.1はCygwin + MinGWではビルドできません。 CygwinでビルドしたarrayでもSDICでは使えるのですが、何となくくやしいのでCygwin + MinGWでビルドできてSDICで使えるものを作ってみました。

array以外の機能についてのドキュメントは今のところありません。

for your download

salook-1.0.0-20130903.tar.gz

salook-1.0.0-20130903.exe Win32用のバイナリです。SUFARYと静的にリンクしています。

salook-1.0.0-20130903-win64.exe Win64用のバイナリです。SUFARYと静的にリンクしています。

必要なソフトウェア

SUFARY
2.3.xが必要です。GitHubのリポジトリに少しだけ更新したものがあります。

インストール

通常の autotools を利用したプログラムと同様です。 特有のオプションとして以下のものがあります。

--with-sufary-libraries=dir

SUFARY のライブラリが標準的な場所にない場合、そのディレクトリをdirに指定します。

--with-sufary-includes=dir

SUFARY のヘッダファイルが標準的な場所にない場合、そのディレクトリをdirに指定します。

使い方

SDICからarrayの代わりとして使う

.emacs等に

(setq sdicf-array-command "/path/to/salook.exe")

のように記述してください。フルパス名を含めたファイル名が必要です。 もしくはarrayからsalookにリンクをはるとかsalookarrayの名前でコピーする等してください。

SDICからsalookとして使う

Lookup 1.4+media-20130901以降に付属のsdicf.elsalookに対応していますので、そのままパスの通ったディレクトリにインストールしてください。

本当に対話的に使う

やめたほうが。

制限・不具合

実装について

array互換モードはSDICに必要な機能しか実装されていません。

SIDCでの制限

SDICから利用した場合、一度の検索で表示される件数は 100 件に制限されます。

SUFARYの不具合

推測ですが、configure時と実行時のエンディアンが異なる場合に正常動作しないと思います。

ライセンス

プログラムのライセンスは修正BSDライセンスに従います。 同梱のCOPYINGファイルを参照して下さい。

更新履歴

2013/09/21 Windows用のバイナリを公開した。

2013/09/03 Unix系OSでSUFARYのリンクに失敗するのを修正した。

2013/09/01 公開。


Kazuhiro's blog
http://ikazuhiro.s206.xrea.com/staticpages/index.php/salook