Merge pull request #289 from jgmdev/close-hook
Added Doc:on_close() method.
This commit is contained in:
commit
559be66e80
|
@ -1,5 +1,6 @@
|
||||||
local Object = require "core.object"
|
local Object = require "core.object"
|
||||||
local Highlighter = require "core.doc.highlighter"
|
local Highlighter = require "core.doc.highlighter"
|
||||||
|
local core = require "core"
|
||||||
local syntax = require "core.syntax"
|
local syntax = require "core.syntax"
|
||||||
local config = require "core.config"
|
local config = require "core.config"
|
||||||
local common = require "core.common"
|
local common = require "core.common"
|
||||||
|
@ -181,10 +182,10 @@ local function selection_iterator(invariant, idx)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
-- If idx_reverse is true, it'll reverse iterate. If nil, or false, regular iterate.
|
-- If idx_reverse is true, it'll reverse iterate. If nil, or false, regular iterate.
|
||||||
-- If a number, runs for exactly that iteration.
|
-- If a number, runs for exactly that iteration.
|
||||||
function Doc:get_selections(sort_intra, idx_reverse)
|
function Doc:get_selections(sort_intra, idx_reverse)
|
||||||
return selection_iterator, { self.selections, sort_intra, idx_reverse },
|
return selection_iterator, { self.selections, sort_intra, idx_reverse },
|
||||||
idx_reverse == true and ((#self.selections / 4) + 1) or ((idx_reverse or -1)+1)
|
idx_reverse == true and ((#self.selections / 4) + 1) or ((idx_reverse or -1)+1)
|
||||||
end
|
end
|
||||||
-- End of cursor seciton.
|
-- End of cursor seciton.
|
||||||
|
@ -493,5 +494,10 @@ end
|
||||||
function Doc:on_text_change(type)
|
function Doc:on_text_change(type)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
-- For plugins to get notified when a document is closed
|
||||||
|
function Doc:on_close()
|
||||||
|
core.log_quiet("Closed doc \"%s\"", self:get_name())
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
return Doc
|
return Doc
|
||||||
|
|
|
@ -972,7 +972,7 @@ function core.step()
|
||||||
local doc = core.docs[i]
|
local doc = core.docs[i]
|
||||||
if #core.get_views_referencing_doc(doc) == 0 then
|
if #core.get_views_referencing_doc(doc) == 0 then
|
||||||
table.remove(core.docs, i)
|
table.remove(core.docs, i)
|
||||||
core.log_quiet("Closed doc \"%s\"", doc:get_name())
|
doc:on_close()
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue