Hatena::Groupvimperator

goingerの日記

2009-01-27

remedieとキーバインドがかぶっているようである

02:22

remedieのRがないと厳しいので 設定しとけとか

autocmd PageLoad http://localhost:10010/* js modes.passAllKeys=true;

2008-12-23

vimp 2.0 alpha2 を使う前に注意しとくことj

03:24

vimp openchat@skypeotsuneさんに教えてもらったのだけど

set complete = s

と設定しとくと補完が効かなくなるっぽいです. もちろんsflとかも駄目です。ちゅうわけでサーチエンジン補完を一時諦めるというのはだるいので、使わないほうがいいかもwwwwwwwwwwwwwww

てかαverでもこれはないわ~ww

completeってどこで定義されたかな。。。。 completion.js

    const UrlCompleter = new Struct("name", "description", "completer");
    self.addUrlCompleter("S", "Suggest engines", self.searchEngineSuggest);
    self.addUrlCompleter("b", "Bookmarks", self.bookmark);
    self.addUrlCompleter("h", "History", self.history);
    self.addUrlCompleter("f", "Local files", self.file);
    self.addUrlCompleter("l", "Firefox location bar entries (bookmarks and history sorted in an intelligent way)", self.location);
    self.addUrlCompleter("s", "Search engines and keyword URLs", self.search);

    return self;

というわけで、self.searchをみればよさそうですよ!! 

        search: function search(context, noSuggest)
        {
            let [, keyword, space, args] = context.filter.match(/^\s*(\S*)(\s*)(.*)$/);
            let keywords = bookmarks.getKeywords();
            let engines = bookmarks.getSearchEngines();

            context.title = ["Search Keywords"];
            context.completions = keywords.concat(engines);
            context.keys = { text: 0, description: 1, icon: 2 };

            if (!space || noSuggest)
                return;

            context.fork("suggest", keyword.length + space.length, this, "searchEngineSuggest",
                    keyword, true);

            let item = keywords.filter(function (k) k.keyword == keyword)[0];
            if (item && item.url.indexOf("%s") > -1)
                context.fork("keyword/" + keyword, keyword.length + space.length, null, function (context) {
                    context.format = history.format;
                    context.title = [keyword + " Quick Search"];
                    // context.background = true;
                    context.compare = null;
                    context.generate = function () {
                        let [begin, end] = item.url.split("%s");

                        return history.get({ uri: window.makeURI(begin), uriIsPrefix: true }).map(function (item) {
                            let rest = item.url.length - end.length;
                            let query = item.url.substring(begin.length, rest);
                            if (item.url.substr(rest) == end && query.indexOf("&") == -1)
                            {
                                item.url = decodeURIComponent(query);
                                return item;
                            }
                        }).filter(util.identity);
                    };
                });
        },

ちょっと昔のソースと比較した変更点


// 今のソース
                    // context.anchored = true;
 
//昔のソース

                    context.anchored = true;
                    context.background = true;

とはいえど、ここが原因でない可能性もある(外部の構造が変わったせいでこの関数に影響が出たとか) むむむw

追記: 何度かxpi直したり、Firefoxクラッシュさせたらいつの間にか直ってましたww 結局原因はなんなのか。。。

nokturnalmortumnokturnalmortum2008/12/24 04:33うちでは、set complete=sl でも問題なく動くので他の要因もある気がします。

goingergoinger2008/12/24 05:14そのようですね、 僕もいつの間にか直ってましたww