Added `doc:rename` command; changed command_view:set_text to take `select` argument
This commit is contained in:
parent
7479c1380d
commit
70f62f3c8a
|
@ -278,6 +278,10 @@ local commands = {
|
||||||
end)
|
end)
|
||||||
end,
|
end,
|
||||||
|
|
||||||
|
["doc:toggle-line-ending"] = function()
|
||||||
|
doc().crlf = not doc().crlf
|
||||||
|
end,
|
||||||
|
|
||||||
["doc:save-as"] = function()
|
["doc:save-as"] = function()
|
||||||
if doc().filename then
|
if doc().filename then
|
||||||
core.command_view:set_text(doc().filename)
|
core.command_view:set_text(doc().filename)
|
||||||
|
@ -295,8 +299,20 @@ local commands = {
|
||||||
end
|
end
|
||||||
end,
|
end,
|
||||||
|
|
||||||
["doc:toggle-line-ending"] = function()
|
["doc:rename"] = function()
|
||||||
doc().crlf = not doc().crlf
|
local old_filename = doc().filename
|
||||||
|
if not old_filename then
|
||||||
|
core.error("Cannot rename unsaved doc")
|
||||||
|
return
|
||||||
|
end
|
||||||
|
core.command_view:set_text(old_filename)
|
||||||
|
core.command_view:enter("Rename", function(filename)
|
||||||
|
doc():save(filename)
|
||||||
|
core.log("Renamed \"%s\" to \"%s\"", old_filename, filename)
|
||||||
|
if filename ~= old_filename then
|
||||||
|
os.remove(old_filename)
|
||||||
|
end
|
||||||
|
end, common.path_suggest)
|
||||||
end,
|
end,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -35,8 +35,7 @@ local function find(label, search_fn)
|
||||||
local text = dv.doc:get_text(table.unpack(sel))
|
local text = dv.doc:get_text(table.unpack(sel))
|
||||||
local found = false
|
local found = false
|
||||||
|
|
||||||
core.command_view:set_text(text)
|
core.command_view:set_text(text, true)
|
||||||
core.command_view.doc:set_selection(math.huge, math.huge, 1, 1)
|
|
||||||
|
|
||||||
core.command_view:enter(label, function(text)
|
core.command_view:enter(label, function(text)
|
||||||
if found then
|
if found then
|
||||||
|
@ -69,12 +68,10 @@ end
|
||||||
|
|
||||||
|
|
||||||
local function replace(kind, default, fn)
|
local function replace(kind, default, fn)
|
||||||
core.command_view:set_text(default)
|
core.command_view:set_text(default, true)
|
||||||
core.command_view.doc:set_selection(math.huge, math.huge, 1, 1)
|
|
||||||
|
|
||||||
core.command_view:enter("Find To Replace " .. kind, function(old)
|
core.command_view:enter("Find To Replace " .. kind, function(old)
|
||||||
core.command_view:set_text(old)
|
core.command_view:set_text(old, true)
|
||||||
core.command_view.doc:set_selection(math.huge, math.huge, 1, 1)
|
|
||||||
|
|
||||||
local s = string.format("Replace %s %q With", kind, old)
|
local s = string.format("Replace %s %q With", kind, old)
|
||||||
core.command_view:enter(s, function(new)
|
core.command_view:enter(s, function(new)
|
||||||
|
|
|
@ -70,9 +70,12 @@ function CommandView:get_text()
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
function CommandView:set_text(text)
|
function CommandView:set_text(text, select)
|
||||||
self.doc:remove(1, 1, math.huge, math.huge)
|
self.doc:remove(1, 1, math.huge, math.huge)
|
||||||
self.doc:text_input(text)
|
self.doc:text_input(text)
|
||||||
|
if select then
|
||||||
|
self.doc:set_selection(math.huge, math.huge, 1, 1)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue