aboutsummaryrefslogtreecommitdiffstats
path: root/twittperator.js
diff options
context:
space:
mode:
authoranekos2010-08-03 10:51:13 +0000
committeranekos2010-08-03 10:51:13 +0000
commit8d02144f739bed8a68c85b9e23c31849e67a9ce7 (patch)
tree8022089899554652b664a5e1d3dac4e6f2cfef36 /twittperator.js
parent108b9803480e12ced50cabbe9beebd6b4355b805 (diff)
downloadvimperator-plugins-8d02144f739bed8a68c85b9e23c31849e67a9ce7.tar.bz2
複数の @ 補完に対応
git-svn-id: http://svn.coderepos.org/share/lang/javascript/vimperator-plugins/trunk@38155 d0d07461-0603-4401-acd4-de1884942a52
Diffstat (limited to 'twittperator.js')
-rwxr-xr-xtwittperator.js16
1 files changed, 15 insertions, 1 deletions
diff --git a/twittperator.js b/twittperator.js
index 100ab82..d773dc0 100755
--- a/twittperator.js
+++ b/twittperator.js
@@ -1483,6 +1483,20 @@ function loadPlugins() { // {{{
}
}
+ function tailMatch(re, str) {
+ let result, m;
+ let head = 0;
+ let len = 0;
+ while (str && (m = str.match(re))) {
+ head += len;
+ len = m.index + m[0].length;
+ str = str.slice(len);
+ result = m;
+ }
+ result.index += head;
+ return result;
+ }
+
function commandCompelter(context, args) {
function statusObjectFilter(item)
let (desc = item.description)
@@ -1518,7 +1532,7 @@ function loadPlugins() { // {{{
let m;
if (m = args.literalArg.match(/(RT\s+)@.*$/)) {
Completers.name_id_text(context, args);
- } else if (m = args.literalArg.match(/(^|\b)@.*$/)) {
+ } else if (m = tailMatch(/(^|\b)@[^@]*/, args.literalArg)) {
Completers.name_id(context, args);
}