lib/sup/modes/text-mode.rb in sup-0.2 vs lib/sup/modes/text-mode.rb in sup-0.3
- old
+ new
@@ -1,16 +1,24 @@
module Redwood
class TextMode < ScrollMode
attr_reader :text
+ register_keymap do |k|
+ k.add :save_to_disk, "Save to disk", 's'
+ end
def initialize text=""
- @text = text.normalize_whitespace
+ @text = text
update_lines
buffer.mark_dirty if buffer
super()
end
+
+ def save_to_disk
+ fn = BufferManager.ask_for_filename :filename, "Save to file: "
+ save_to_file(fn) { |f| f.puts text } if fn
+ end
def text= t
@text = t
update_lines
if buffer
@@ -33,10 +41,10 @@
@lines.length - 1
end
def [] i
return nil unless i < @lines.length
- @text[@lines[i] ... (i + 1 < @lines.length ? @lines[i + 1] - 1 : @text.length)]
+ @text[@lines[i] ... (i + 1 < @lines.length ? @lines[i + 1] - 1 : @text.length)].normalize_whitespace
# (@lines[i] ... (i + 1 < @lines.length ? @lines[i + 1] - 1 : @text.length)).inspect
end
private