feat: builtin support for editing files over ssh (#27)
This commit is contained in:
parent
75b710e311
commit
ca4da68aae
18 changed files with 593 additions and 291 deletions
59
tests/move_rename_spec.lua
Normal file
59
tests/move_rename_spec.lua
Normal file
|
|
@ -0,0 +1,59 @@
|
|||
local fs = require("oil.fs")
|
||||
local test_util = require("tests.test_util")
|
||||
local util = require("oil.util")
|
||||
|
||||
describe("update_moved_buffers", function()
|
||||
after_each(function()
|
||||
test_util.reset_editor()
|
||||
end)
|
||||
|
||||
it("Renames moved buffers", function()
|
||||
vim.cmd.edit({ args = { "oil-test:///foo/bar.txt" } })
|
||||
util.update_moved_buffers("file", "oil-test:///foo/bar.txt", "oil-test:///foo/baz.txt")
|
||||
assert.equals("oil-test:///foo/baz.txt", vim.api.nvim_buf_get_name(0))
|
||||
end)
|
||||
|
||||
it("Renames moved buffers when they are normal files", function()
|
||||
local tmpdir = fs.join(vim.loop.fs_realpath(vim.fn.stdpath("cache")), "oil", "test")
|
||||
local testfile = fs.join(tmpdir, "foo.txt")
|
||||
vim.cmd.edit({ args = { testfile } })
|
||||
util.update_moved_buffers(
|
||||
"file",
|
||||
"oil://" .. fs.os_to_posix_path(testfile),
|
||||
"oil://" .. fs.os_to_posix_path(fs.join(tmpdir, "bar.txt"))
|
||||
)
|
||||
assert.equals(fs.join(tmpdir, "bar.txt"), vim.api.nvim_buf_get_name(0))
|
||||
end)
|
||||
|
||||
it("Renames directories", function()
|
||||
vim.cmd.edit({ args = { "oil-test:///foo/" } })
|
||||
util.update_moved_buffers("directory", "oil-test:///foo/", "oil-test:///bar/")
|
||||
assert.equals("oil-test:///bar/", vim.api.nvim_buf_get_name(0))
|
||||
end)
|
||||
|
||||
it("Renames subdirectories", function()
|
||||
vim.cmd.edit({ args = { "oil-test:///foo/bar/" } })
|
||||
util.update_moved_buffers("directory", "oil-test:///foo/", "oil-test:///baz/")
|
||||
assert.equals("oil-test:///baz/bar/", vim.api.nvim_buf_get_name(0))
|
||||
end)
|
||||
|
||||
it("Renames subfiles", function()
|
||||
vim.cmd.edit({ args = { "oil-test:///foo/bar.txt" } })
|
||||
util.update_moved_buffers("directory", "oil-test:///foo/", "oil-test:///baz/")
|
||||
assert.equals("oil-test:///baz/bar.txt", vim.api.nvim_buf_get_name(0))
|
||||
end)
|
||||
|
||||
it("Renames subfiles when they are normal files", function()
|
||||
local tmpdir = fs.join(vim.loop.fs_realpath(vim.fn.stdpath("cache")), "oil", "test")
|
||||
local foo = fs.join(tmpdir, "foo")
|
||||
local bar = fs.join(tmpdir, "bar")
|
||||
local testfile = fs.join(foo, "foo.txt")
|
||||
vim.cmd.edit({ args = { testfile } })
|
||||
util.update_moved_buffers(
|
||||
"directory",
|
||||
"oil://" .. fs.os_to_posix_path(foo),
|
||||
"oil://" .. fs.os_to_posix_path(bar)
|
||||
)
|
||||
assert.equals(fs.join(bar, "foo.txt"), vim.api.nvim_buf_get_name(0))
|
||||
end)
|
||||
end)
|
||||
Loading…
Add table
Add a link
Reference in a new issue