aboutsummaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
authormitchell <70453897+667e-11@users.noreply.github.com>2009-02-16 23:21:50 -0500
committermitchell <70453897+667e-11@users.noreply.github.com>2009-02-16 23:21:50 -0500
commit1abb091c35839022e84e7f465db70ca7d26f96d1 (patch)
tree8752e23f3b7160f802bdd78d912e11873ac64967 /core
parent49f6c6e6f76fae40e2e424fb296f2f6cb493405c (diff)
downloadtextadept-1abb091c35839022e84e7f465db70ca7d26f96d1.tar.gz
textadept-1abb091c35839022e84e7f465db70ca7d26f96d1.zip
Save "_type" buffers in session file; core/file_io.lua
Diffstat (limited to 'core')
-rw-r--r--core/file_io.lua12
1 files changed, 9 insertions, 3 deletions
diff --git a/core/file_io.lua b/core/file_io.lua
index 66b7be81..55bb731c 100644
--- a/core/file_io.lua
+++ b/core/file_io.lua
@@ -203,7 +203,12 @@ function load_session(filename, only_pm)
if line:find('^buffer:') then
local anchor, current_pos, first_visible_line, filename =
line:match('^buffer: (%d+) (%d+) (%d+) (.+)$')
- textadept.io.open(filename or '', 'rb')
+ if not filename:find('^%[.+%]$') then
+ textadept.io.open(filename or '', 'rb')
+ else
+ textadept.new_buffer()
+ buffer._type = filename
+ end
-- Restore saved buffer selection and view.
local anchor = tonumber(anchor) or 0
local current_pos = tonumber(current_pos) or 0
@@ -260,7 +265,8 @@ function save_session(filename)
local view_line = "%sview%d: %d" -- level, number, doc index
-- Write out opened buffers. (buffer: filename)
for idx, buffer in ipairs(textadept.buffers) do
- if buffer.filename then
+ local filename = buffer.filename or buffer._type
+ if filename then
local current = buffer.doc_pointer == textadept.focused_doc_pointer
local anchor = current and 'anchor' or '_anchor'
local current_pos = current and 'current_pos' or '_current_pos'
@@ -268,7 +274,7 @@ function save_session(filename)
current and 'first_visible_line' or '_first_visible_line'
session[#session + 1] =
buffer_line:format(buffer[anchor] or 0, buffer[current_pos] or 0,
- buffer[first_visible_line] or 0, buffer.filename)
+ buffer[first_visible_line] or 0, filename)
end
end
-- Write out split views.