diff options
author | anekos | 2010-05-31 04:49:43 +0000 |
---|---|---|
committer | anekos | 2010-05-31 04:49:43 +0000 |
commit | 4a1afea9b43fac2b7673eb2113d75914f81f082c (patch) | |
tree | dd27c9253757665b0b0d4eecd81ad79f9c90dbf3 /gmail-commando.js | |
parent | 248e75e8093709e73c541380a61024b3d94db81f (diff) | |
download | vimperator-plugins-4a1afea9b43fac2b7673eb2113d75914f81f082c.tar.bz2 |
現在値を補完に追加
git-svn-id: http://svn.coderepos.org/share/lang/javascript/vimperator-plugins/trunk@37764 d0d07461-0603-4401-acd4-de1884942a52
Diffstat (limited to 'gmail-commando.js')
-rwxr-xr-x | gmail-commando.js | 51 |
1 files changed, 29 insertions, 22 deletions
diff --git a/gmail-commando.js b/gmail-commando.js index dd18598..54b4769 100755 --- a/gmail-commando.js +++ b/gmail-commando.js @@ -39,7 +39,7 @@ let PLUGIN_INFO = <name lang="ja">GMail コマンドー</name> <description>The handy commands for GMail</description> <description lang="ja">便利なGMail用コマンドー</description> - <version>1.3.3</version> + <version>1.3.4</version> <author mail="anekos@snca.net" homepage="http://d.hatena.ne.jp/nokturnalmortum/">anekos</author> <license>new BSD License (Please read the source code comments of this plugin)</license> <license lang="ja">修正BSDライセンス (ソースコードのコメントを参照してください)</license> @@ -57,7 +57,7 @@ let PLUGIN_INFO = // INFO {{{ let INFO = <> - <plugin name="GMailCommando" version="1.3.3" + <plugin name="GMailCommando" version="1.3.4" href="http://svn.coderepos.org/share/lang/javascript/vimperator-plugins/trunk/gmail-commando.js" summary="The handy commands for GMail" lang="en-US" @@ -72,7 +72,7 @@ let INFO = <description><p></p></description> </item> </plugin> - <plugin name="GMailコマンドー" version="1.3.3" + <plugin name="GMailコマンドー" version="1.3.4" href="http://svn.coderepos.org/share/lang/javascript/vimperator-plugins/trunk/gmail-commando.js" summary="便利なGMail用コマンドー" lang="ja" @@ -302,28 +302,35 @@ let INFO = bang: true, literal: 0, completer: function (context, args) { - let input = args.string.slice(0, context.caret); - let m; - - if (m = /([a-z]+):(?:([^\s\(\)\{\}]*)|[\(\{]([^\(\)\{\}]*))$/(input)) { - if (m[2]) { - context.advance(input.length - m[2].length); - } else { - let tail = /[^\s]*$/(m[3]); - context.advance(input.length - tail[0].length); - } - let key = m[1]; - KeywordValueCompleter[key](context, args); - return; + function currentInputCompleter (context) { + context.title = ['Current']; + context.completions = [[Elements.input.value, 'Current']]; } - if (m = /[-\s]*([^-\s:\(\)\{\}]*)$/(input)) { - context.advance(input.length - m[1].length); - context.completions = [ - [v + ':', v] for ([, v] in Iterator(GMailSearchKeyword)) - ]; - return; + function normalCompleter (context) { + let input = args.string.slice(0, context.caret); + let m; + + if (m = /([a-z]+):(?:([^\s\(\)\{\}]*)|[\(\{]([^\(\)\{\}]*))$/(input)) { + if (m[2]) { + context.advance(input.length - m[2].length); + } else { + let tail = /[^\s]*$/(m[3]); + context.advance(input.length - tail[0].length); + } + let key = m[1]; + KeywordValueCompleter[key](context, args); + } else if (m = /[-\s]*([^-\s:\(\)\{\}]*)$/(input)) { + context.advance(input.length - m[1].length); + context.completions = [ + [v + ':', v] for ([, v] in Iterator(GMailSearchKeyword)) + ]; + } } + + if (Commando.inGmail) + context.fork('Current', 0, context, currentInputCompleter); + context.fork('Search', 0, context, normalCompleter); } }, true |