Skip to content

oguna/rustmigemo

Repository files navigation

rustmigemo

CI

ローマ字のまま日本語をインクリメンタル検索するためのツールであるMigemoを、Rustで実装したものです。

C/Migemoや他のMigemo実装との性能比較は、ベンチマークでご確認ください。

ビルド方法

CLI

> cargo build --features cli --release

Windowsの場合、target/release/rustmigemo-cli.exe にビルドした実行可能ファイルが置かれています。

WASM

wasm-packがインストール済みの状態で、

# Nodejs用(examples/node-cliを実行するときに必要)
> wasm-pack build --target nodejs -- --features wasm 
# Web用(examples/webpageを実行するときに必要)
> wasm-pack build --target web -- --features wasm 

pkg/ディレクトリに生成されます。

Windows DLL

> cargo build --features windows-dll --target x86_64-pc-windows-msvc --release 

使い方

CLI

rustmigemoの利用には、辞書ファイルが必要です。 migemo-compact-dict-latest から migemo-compact-dict をダウンロードし、 作業フォルダ(シェルのカレントディレクトリ)に配置してください。

> .\rustmigemo-cli.exe -h
Usage: C:\...\rustmigemo-cli.exe [options]

Options:
    -d, --dict <dict>   Use a file <dict> for dictionary. (default:
                        migemo-compact-dict)
    -q, --quiet         Show no message except results.
    -v, --vim           Use vim style regexp.
    -e, --emacs         Use emacs style regexp.
    -n, --nonewline     Don't use newline match.
    -w, --word <word>   Expand a <word> and soon exit.
    -h, --help          Show this message.
> .\rustmigemo-cli.exe -w kensaku
(kensaku|けんさく|ケンサク|建策|憲[作冊]|検索|献策|研削|羂索|kensaku|ケンサク)

Nodejs CLI

> node .\examples\node-cli\index.js
QUERY: kensaku
PATTERN: (kensaku|けんさく|ケンサク|建策|憲[作冊]|検索|献策|研削|羂索|kensaku|ケンサク)

Nodejs Webpage

> npx serve

http://localhost:3000/examples/webpage/にブラウザからアクセスし、テキストフィールドにローマ字で検索すると、漢字にヒットする正規表現が出力されます。

[__kensaku__]
(kensaku|けんさく|ケンサク|建策|憲[作冊]|検索|献策|研削|羂索|kensaku|ケンサク)

Windows DLL

以下のサンプルをご確認ください。

  • examples\MigemoConsole.cpp
  • examples\MigemoConsole.cs

ライセンス

srcディレクトリは、MIT Licenseの下で配布しています。

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages