commit e6a28b6d0cfb36c3af8bdf33f60dec42125af4de
parent b34e3804395cfedecf1eefcd3cf7ac2f4827fc44
Author: wmorgan <wmorgan@5c8cc53c-5e98-4d25-b20a-d8db53a31250>
Date: Sat, 25 Aug 2007 05:56:08 +0000
tab completion for all filename prompts
git-svn-id: svn://rubyforge.org/var/svn/sup/trunk@545 5c8cc53c-5e98-4d25-b20a-d8db53a31250
Diffstat:
5 files changed, 9 insertions(+), 10 deletions(-)
diff --git a/lib/sup/buffer.rb b/lib/sup/buffer.rb
@@ -362,8 +362,7 @@ class BufferManager
end
end
- ## returns an ARRAY of filenames!
- def ask_for_filenames domain, question, default=nil
+ def ask_for_filename domain, question, default=nil
answer = ask domain, question, default do |s|
if s =~ /(~([^\s\/]*))/ # twiddle directory expansion
full = $1
@@ -391,11 +390,11 @@ class BufferManager
elsif File.directory?(answer)
spawn_modal "file browser", FileBrowserMode.new(answer)
else
- [answer]
+ answer
end
end
- answer || []
+ answer
end
## returns an array of labels
diff --git a/lib/sup/modes/edit-message-mode.rb b/lib/sup/modes/edit-message-mode.rb
@@ -102,8 +102,8 @@ class EditMessageMode < LineCursorMode
end
def attach_file
- fn = BufferManager.ask_for_filenames :attachment, "File name (enter for browser): "
- fn.each { |f| @attachments << Pathname.new(f) }
+ fn = BufferManager.ask_for_filename :attachment, "File name (enter for browser): "
+ @attachments << Pathname.new(fn)
update
end
diff --git a/lib/sup/modes/file-browser-mode.rb b/lib/sup/modes/file-browser-mode.rb
@@ -65,7 +65,7 @@ protected
end
else
begin
- @value = [f.realpath.to_s]
+ @value = f.realpath.to_s
@done = true
rescue SystemCallError => e
BufferManager.flash e.message
diff --git a/lib/sup/modes/log-mode.rb b/lib/sup/modes/log-mode.rb
@@ -38,7 +38,7 @@ class LogMode < TextMode
end
def save_to_disk
- fn = BufferManager.ask :filename, "Save log to file: "
+ fn = BufferManager.ask_for_filename :filename, "Save log to file: "
save_to_file(fn) { |f| f.puts text } if fn
end
diff --git a/lib/sup/modes/thread-view-mode.rb b/lib/sup/modes/thread-view-mode.rb
@@ -192,11 +192,11 @@ class ThreadViewMode < LineCursorMode
chunk = @chunk_lines[curpos] or return
case chunk
when Message::Attachment
- fn = BufferManager.ask :filename, "Save attachment to file: ", chunk.filename
+ fn = BufferManager.ask_for_filename :filename, "Save attachment to file: ", chunk.filename
save_to_file(fn) { |f| f.print chunk.raw_content } if fn
else
m = @message_lines[curpos]
- fn = BufferManager.ask :filename, "Save message to file: "
+ fn = BufferManager.ask_for_filename :filename, "Save message to file: "
save_to_file(fn) { |f| f.print m.raw_full_message } if fn
end
end