From: wmorgan Date: Fri, 14 Sep 2007 01:47:43 +0000 (+0000) Subject: to: tab completion also loads in the 10 most recent correspondents' email addresses X-Git-Url: https://git.cworth.org/git?a=commitdiff_plain;h=edcb35ea97654c29c2e6a77915cf7ba66a526129;p=sup to: tab completion also loads in the 10 most recent correspondents' email addresses git-svn-id: svn://rubyforge.org/var/svn/sup/trunk@567 5c8cc53c-5e98-4d25-b20a-d8db53a31250 --- diff --git a/lib/sup/buffer.rb b/lib/sup/buffer.rb index e235070..3a69682 100644 --- a/lib/sup/buffer.rb +++ b/lib/sup/buffer.rb @@ -422,10 +422,14 @@ class BufferManager def ask_for_contacts domain, question, default_contacts=[] default = default_contacts.map { |s| s.to_s }.join(" ") default += " " unless default.empty? + + recent = Index.load_contacts(AccountManager.user_emails, :num => 10).map { |c| [c.longname, c.email] } + contacts = ContactManager.contacts.map { |c| [ContactManager.alias_for(c), c.longname, c.email] } - all_contacts = ContactManager.contacts.map { |c| [ContactManager.alias_for(c), c.longname, c.email] }.flatten.uniq.sort + Redwood::log "recent: #{recent.inspect}" - answer = BufferManager.ask_many_with_completions domain, question, all_contacts, default, /\s*,\s*/ + completions = (recent + contacts).flatten.uniq.sort + answer = BufferManager.ask_many_with_completions domain, question, completions, default, /\s*,\s*/ if answer answer.split_on_commas.map { |x| ContactManager.contact_for(x.downcase) || PersonManager.person_for(x) } diff --git a/lib/sup/index.rb b/lib/sup/index.rb index cb89abf..46e6d6e 100644 --- a/lib/sup/index.rb +++ b/lib/sup/index.rb @@ -342,7 +342,7 @@ EOS num = h[:num] || 20 @index.search_each(q, :sort => "date DESC", :limit => :all) do |docid, score| break if contacts.size >= num - #Redwood::log "got message with to: #{@index[docid][:to].inspect} and from: #{@index[docid][:from].inspect}" + #Redwood::log "got message #{docid} to: #{@index[docid][:to].inspect} and from: #{@index[docid][:from].inspect}" f = @index[docid][:from] t = @index[docid][:to]