■■■■■■□■■■■■■□■■■■■■□□□□□■■□■■■■■■
■■□□■■□■■□□■■□■■□□□□□■■■■■■□■■□□□□
■■□□■■□■■□□■■□■■□□□□□■■□□■■□■■■■■■
■■□□■■□■■□□■■□■■□□□□□■■□□■■□□□□□■■
■■□□■■□■■■■■■□■■■■■■□■■■■■■□■■■■■■

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  1. --/--/--(--) --:--:--|
  2. スポンサー広告

NYAOS + Lua + Migemo

mattn,さんのところLuaからMigemoを使うライブラリを見つけたので
NYAOSLuaMigemoってしてMigemoでchdirできるスクリプトを書いてみました。

多分ライセンスは大丈夫だと思うので以下に
ビルドしたDLLと一緒に置いておきます。
問題があれば早急に削除しますので、
お手数ですがご連絡お願いいたします。
オリジナルファイル名 migemo_chdir.7z.001
オリジナルファイル名 migemo_chdir.7z.002

インストール
  1. 解凍して出来たDLLと、KaoriyaさんとこからC/Migemoのmigemo.dllをパスの通ったところに置き、
    migemoの辞書を適切なところに置きます。
  2. migemo_chdir.nyaの
    local mcx = luamigemo.open('E:/bin/dict/migemo-dict')
    のところを1.で置いたmigemo辞書のパスに修正します。
  3. あとはmigemo_chdir.nyaをsourceするなり、_nyaに直接書くなりしてください。

その他コメント
luamigemo.dllとluaiconv.dllはもともとmigemo.dllとiconv.dllって名前だったんですけど、
それだともともとのmigemoとiconvと名前が衝突してしまい、
都合が悪かったので頭に"lua"を付けました。

Luaの仕様だと思いますが、require
引数にライブラリのファイル名前を取りますが、その際コンストラクタとして
luaopen_<ライブラリのファイル名>の関数を呼び出すため、ファイル名を修正すると
内部の関数も合わせて修正する必要があったため、僕の方で修正してビルドしています。
まあ、package.loadlibしてluaopen_***しても良かったんですが…

Lrexlibの方は鬼車のものをビルドしました。
これは正規表現マッチが一部の文字("ー”)で上手く行かず、
sjisからutf-8に文字エンコードを変換しているのですが、
鬼車しかUTF8にする方法が分からなかったからです…

sjis->utf-8の変換に関してはluaiconvを使用しているんですが、
iconvをstaticリンクしたらファイルサイズが大きくなってしまったので
分割してファイルをアップロードしています。
DL後ファイル名を適切に修正し、7zipで解凍して下さい。

ちゃんとnyaos.completeを使えば
migemoでマッチしたディレクトリをzshのように補間したりできるんだろうなぁ
と思いつつも力不足なのでこの辺で。

一個忘れてた~
lua_e "
function nyaos.command.FOO(bar)
...
nyaos.eval('ls -1') -- コイツが悪いっぽい!
...
end
"
ってコマンド登録してFOOを実行すると
プロンプトの色設定が実行後の一行だけ無効になってしまうので
migemo_chdirは
migemo_chdir{
lua_e "
...
"
}
って感じで登録しています。
引数の取り方がヒドイけど、
まーしゃーない。

テーマ:フリーソフト - ジャンル:コンピュータ

  1. 2010/12/20(月) 22:34:42|
  2. フリーソフト
  3. | トラックバック:0
  4. | コメント:0
<<NYAOS + Lua + Migemo(2) | ホーム | 待ち望んでいるもの>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバックURLはこちら
http://nocd5.blog59.fc2.com/tb.php/453-26faa33d
この記事にトラックバックする(FC2ブログユーザー)
home

プロフィール

Author:nocd5
30歳(男)
会社員

Last.fm



最近の記事

カテゴリー

カレンダー

09 | 2017/10 | 11
Sun Mon Tue Wed Thu Fri Sat
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 - - - -

最近のコメント

最近のトラックバック

ブロとも申請フォーム

この人とブロともになる

ブログ内検索

Amazonアソシエイト

RSSフィード

リンク

このブログをリンクに追加する

FC2ブログランキング

FC2Blog Ranking

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。