blob: 5dd8bcef1843cfe0f5451f21b0b22cd76bf10d33 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
-- mod-version:3
local core = require "core"
local CommandView = require "core.commandview"
local DocView = require "core.docview"
local RootView = require "core.rootview"
local on_focus_lost = RootView.on_focus_lost
local function save_node(node)
if node.type == "leaf" then
local i = 1
while i <= #node.views do
local view = node.views[i]
if view:is(DocView) and not view:is(CommandView)
and view.doc.abs_filename ~= system.absolute_path(USERDIR .. PATHSEP .. "init.lua")
and view.doc.abs_filename ~= system.absolute_path(".lite_project.lua")
and view.doc.filename and view.doc:is_dirty() then
core.log("Saving doc \"%s\"", view.doc.filename)
view.doc:save()
end
i = i + 1
end
else
if node.a then save_node(node.a) end
if node.b then save_node(node.b) end
end
end
function RootView:on_focus_lost(...)
save_node(core.root_view.root_node)
return on_focus_lost(...)
end
|