From 8563192d59a66cf69a6f7c88c65465a71c64fa59 Mon Sep 17 00:00:00 2001 From: anekos Date: Wed, 15 Apr 2009 05:25:23 +0000 Subject: クォート(")を使用しない複数ワードの検索に対応 ':mr alc "cat ear"' == ':mr alc cat ear' git-svn-id: http://svn.coderepos.org/share/lang/javascript/vimperator-plugins/trunk@32441 d0d07461-0603-4401-acd4-de1884942a52 --- multi_requester.js | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'multi_requester.js') diff --git a/multi_requester.js b/multi_requester.js index 0c8a011..88f24e0 100755 --- a/multi_requester.js +++ b/multi_requester.js @@ -11,7 +11,7 @@ var PLUGIN_INFO = request, and the result is displayed to the buffer. リクエストの結果をバッファに出力する。 suVene - 0.4.14 + 0.4.15 MIT 2.0pre 2.1pre @@ -306,8 +306,8 @@ var MultiRequester = { let srcEncode = info.srcEncode || "UTF-8"; let urlEncode = info.urlEncode || srcEncode; - let idxRepStr = url.indexOf("%s"); - if (idxRepStr > -1 && !parsedArgs.strs.length) continue; + let repStrCount = let (m = url.match(/%s/g)) (m && m.length); + if (repStrCount && !parsedArgs.strs.length) continue; // via. lookupDictionary.js let ttbu = Components.classes["@mozilla.org/intl/texttosuburi;1"] @@ -315,7 +315,9 @@ var MultiRequester = { let cnt = 0; url = url.replace(/%s/g, function(m, i) ttbu.ConvertAndEscape(urlEncode, - (cnt < parsedArgs.strs.length ? parsedArgs.strs[cnt++] : parsedArgs.strs[cnt - 1]))); + (cnt >= parsedArgs.strs.length ? parsedArgs.strs[cnt - 1] : + cnt >= (repStrCount - 1) ? parsedArgs.strs.splice(cnt).join(' ') : + parsedArgs.strs[cnt++]))); logger.log(url + "[" + srcEncode + "][" + urlEncode + "]::" + info.xpath); if (bang) { -- cgit v1.2.3