Pentadactyl:通过一个命令搜索多个站点

Ado*_*obe 2 vimperator pentadactyl

考虑在一个命令中搜索多个 wiki 的问题。这是一个可能的解决方案。如果将以下内容添加到.pentadactylrc

javascript <<EOF
    dactyl.searchWikis = function (selection) {
        let parsedSelection = selection.replace(/^\s*/, "" ).replace(/\s*$/, "" ).replace(/\s+/g, "+" );
        dactyl.execute( ":tabopen http://www.scholarpedia.org/wiki/index.php?title=Special:Search&search=" + selection);
        dactyl.execute( ":tabopen http://en.citizendium.org/wiki?title=Special:Search&search=" + selection);
    };
EOF

:command wikiSearch -nargs=* -js dactyl.searchWikis(<args>)
Run Code Online (Sandbox Code Playgroud)

那应该已经解决了 - 但问题是 - 这样 Pentadactyl 看不到 JS 代码。即新命令 wikiSearch 不会出现。你能修好它吗?

ngm*_*ngm 5

我相信您需要将您的功能添加到 上userContext,而不是上dactyl

例如

javascript <<EOF
    userContext.searchWikis = function (selection) {
        commands.execute("tabopen http://www.scholarpedia.org/wiki/index.php?title=Special:Search&search=" + selection);
        commands.execute("tabopen http://en.citizendium.org/wiki?title=Special:Search&search=" + selection);
    };
EOF
Run Code Online (Sandbox Code Playgroud)

我把这parsedSelection条线拿出来,因为选择似乎不是作为一个字符串进来的。

还可以尝试从 中删除尖括号<args>

command wikiSearch -nargs=* -js userContext.searchWikis(args)
Run Code Online (Sandbox Code Playgroud)