if_lua 対応
Shougo opened this issue · 15 comments
Dictionaryのサーチ部分は if_lua に置き換えれば高速化すると思うので私がやります。
補完の速度に効いてくるはず。
おお、お願いします。
2014/06/16 0:01 "Shougo" notifications@github.com:
Dictionaryのサーチ部分は if_lua に置き換えれば高速化すると思うので私がやります。
補完の速度に効いてくるはず。—
Reply to this email directly or view it on GitHub
#177.
skkservが落ち着いたので、次はこちらをやります。
LuaはUTF-8でないと処理できないようです。バイト列で比較するなら関係ないかも知れません。
https://github.com/tyru/eskk.vim/tree/if_lua
プロトタイプ作成中。ひとまず、VimLの検索関数を分離しました。
これで置き換えやすくなったはずです。
実装完了。確認お願いできますか。Pull request出すべきでしょうか。
動くことは確認しましたが、速度の違いについては計測していません。
了解です。
Pull Requestは出さなくてもいいです。
こちらでレビューしたらマージしちゃいます。
実装完了。確認お願いできますか。Pull request出すべきでしょうか。
—
Reply to this email directly or view it on GitHub
#177 (comment).
了解です。ありがとうございます。
Luaは構文とかもろもろ初心者で、リファレンスマニュアル見ながらレビューしてる状態なので間違ってるかもしれません…
s:lua_search_linear()
についてですが、
string.find()
の第3引数に1
が指定されているようですが、この引数は省略可能なように見えますが、指定してもしなくても同じってことで良いんでしたっけ?(Luaは確かインデックスが1から始まるんですよね)- 関数の最初で
a:needle
に対してエスケープ処理をしていますが、string.find()
の第4引数にtrueを指定するとパターンではなく部分文字列を探す処理になるようですが、これを使ってはどうでしょうか。(5.1と5.2のリファレンスマニュアルしか調べていませんが、古いバージョンでサポートされないためにこういう書き方をしているのだったらすみません)
4 番目の省略可能な引数 plain に true を指定すると、 パターンマッチング機能はオフになり、 pattern 内のいかなる文字も魔法の文字とみなされなくなり、 普通の「部分文字列を探す」操作を実行します。 plain を指定する場合は init も指定しなければならないことに注意してください。
2の方法が使えない場合は、1で言った通り省略しちゃってください。
上記以外は特に気になった点はありませんでした。
参照したリファレンスマニュアル
今if_lua
ブランチ使ってますが、特に問題なく動いてるみたいですね。
確かに速くなってるような気がします。
レビューありがとうございます。レビューに基づいて修正しました。
マージはどうしましょうか。
ありがとうございます。
見た限り大丈夫そうです。
2014/06/26 7:15 "Shougo" notifications@github.com:
レビューありがとうございます。レビューに基づいて修正しました。
—
Reply to this email directly or view it on GitHub
#177 (comment).
マージはどちらがやりますか。大した手間ではないので、こちらでマージしても構いません。
@Shougo さんの方でマージしちゃって構わないです。
2014/06/26 7:59 "Shougo" notifications@github.com:
マージはどちらがやりますか。
—
Reply to this email directly or view it on GitHub
#177 (comment).
マージ完了しました。
ありがとうございます。
あと今度からマージコミットに「(close #xxx)」って書くようにしてください(例:Merge branch 'if_lua' (close
#177))。
(ここらへんの事 CONTRIBUTING.md に書かないと…)
マージ完了しました。
—
Reply to this email directly or view it on GitHub
#177 (comment).
了解です。