feat: move a file to a new directory with its existing name, closes #35

remotes/origin/HEAD
Steven Xu 2023-12-30 01:22:29 +11:00 committed by pseudometa
parent 7ba13fa62d
commit e221036576
2 changed files with 7 additions and 4 deletions

View File

@ -70,9 +70,9 @@ keymap("x", "<leader>x", genghis.moveSelectionToNewFile)
and moves the current selection to that new file. (Note that this is a Visual
Line Mode command; the selection is moved linewise.)
- `.renameFile` or `:Rename`: Rename the current file.
- `.moveAndRenameFile` or `:Move`: Move and Rename the current file. Works like
the UNIX `mv` command. Best used with [autocompletion of
directories](#autocompletion-of-directories).
- `.moveAndRenameFile` or `:Move`: Move and Rename the current file. Keeps the
old name if the new path ends with `/`. Works like the UNIX `mv` command. Best
used with [autocompletion of directories](#autocompletion-of-directories).
The following applies to all commands above:
- If no extension has been provided, uses the extension of the original file.

View File

@ -130,9 +130,12 @@ local function fileOp(op)
-- VALIDATION OF FILENAME
if not newName then return end -- input has been canceled
if newName:find("/$") then
newName = newName .. oldName -- use the new directory with the old name
end
local invalidName = newName:find("^%s+$")
or newName:find("[\\:]")
or newName:find("/$")
or (newName:find("^/") and not op == "move-rename")
local sameName = newName == oldName
local emptyInput = newName == ""