[prime-dev: 736] migemo-elでprimeをエンジンとして使うことをしてみました。

Zurück zum Archiv-Index

Gen Otsuji gen_otsuj****@yahoo*****
2005年 3月 7日 (月) 20:54:22 JST


こんばんは。尾辻です。
突然ですが、migemo-elというelispがあります。
Emacsenにてローマ字打ちをすると日本語がインクリメンタル検索で引っかか
るようになるものです。その時、正規表現を返すのがmigemoですが、
その代わりにprimeの出力を使うようにしたpmigemoをrubyで作ってみました。
下にあるのがそれです。簡単な仕様です。他にもcmigemoとかもあるようです
が、既にprimeを使うものがあるなら以下は忘れて下さい。
何故作ったのかと言いますと、migemoのuser辞書を作ったらちょっと遅く、
逆にprimeの変換は速いし、そして辞書もあるしと思ったからです。
perlの方が慣れているのですがrubyに初挑戦です。
こんなことよりドキュメント作れと言われそうですが:)。
(setq migemo-command "/usr/loca/bin/pmigemo")
(load-library "migemo")
などと~/.emacs.el等に設定すると使えると思います。
ちょっとインクリメンタルではなくて、あるキー配列にならないと
検索にかからなかったりするのが特徴と言えば特徴です:)。
あと初心者なのでバグがある気もします。見つけたら教えてください。
------
尾辻

----------pmigemo-----------
#!/usr/bin/env ruby
require 'jcode'
$KCODE='e'
prime = open("|/usr/local/bin/prime","r+")
while line = STDIN.gets
	line.chomp!
	break if line == ""
	prime.printf("lookup_compact_all\t%s\n",line)
	a=[]
	while ret = prime.gets
		ret.chomp!
		next if ret == "ok"
		break if ret == ""
		a.push sprintf("%s",ret.split(/\t/)[1]).each_char.join("\a")
	end
	STDOUT.printf("%s\n",a.join('\\|'))
end
----------------------------



Prime-dev メーリングリストの案内
Zurück zum Archiv-Index