2

Рассмотрим проблему поиска нескольких вики в одной команде. Вот возможное решение. Если one'd добавить следующее в .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>)

Это должно было решить - но проблема в том, что таким образом Пентадактиль не видит код JS. Т.е. новая команда wikiSearch не появляется. Ты можешь починить это?

1 ответ1

6

Я считаю, что вам нужно добавить свою функцию в 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

Я вынул строку parsedSelection , так как выбор не выглядит как строка.

Также попробуйте удалить угловые скобки из <args>:

command wikiSearch -nargs=* -js userContext.searchWikis(args)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .