Пентадактиль: Поиск нескольких сайтов в одной команде

747
Adobe

Рассмотрим проблему поиска нескольких вики в одной команде. Вот возможное решение. Если бы вы добавили следующее к .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 не появляется. Ты можешь починить это?

2

1 ответ на вопрос

6
ngm

Я считаю, что вам нужно добавить свою функцию на 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) 
Я хотел наградить тебя - но сделал что-то не так. Я награжу Вас в конце награды. Adobe 12 лет назад 0
@ Adobe, вот как работают щедрости. Вы начнете вознаграждение, вы можете назначить сумму через 2 дня после начала вознаграждения. [Как работает система вознаграждений?] (Http://meta.stackexchange.com/q/16065) Sathya 12 лет назад 0
@ Adobe Спасибо, рад, что это помогло. Пентадактиль - это фантастическое программное обеспечение. ngm 12 лет назад 0

Похожие вопросы