refactor!: change scp:// urls back to oil-ssh://
This commit is contained in:
parent
73c6fcf519
commit
31645370a1
4 changed files with 36 additions and 19 deletions
13
README.md
13
README.md
|
|
@ -184,10 +184,10 @@ Note that file operations work _across adapters_. This means that you can use oi
|
|||
This adapter allows you to browse files over ssh, much like netrw. To use it, simply open a buffer using the following name template:
|
||||
|
||||
```
|
||||
nvim scp://[username@]hostname[:port]/[path]
|
||||
nvim oil-ssh://[username@]hostname[:port]/[path]
|
||||
```
|
||||
|
||||
This may look familiar. In fact, this is the exact same url format that netrw uses.
|
||||
This may look familiar. In fact, this is the same url format that netrw uses.
|
||||
|
||||
Note that at the moment the ssh adapter does not support Windows machines, and it requires the server to have a `/bin/bash` binary as well as standard unix commands (`rm`, `mv`, `mkdir`, `chmod`, `cp`, `touch`, `ln`, `echo`).
|
||||
|
||||
|
|
@ -328,3 +328,12 @@ If you don't need those features specifically, check out the alternatives listed
|
|||
- [vidir](https://github.com/trapd00r/vidir): Never personally used, but might be the first plugin to come up with the idea of editing a directory like a buffer.
|
||||
|
||||
There's also file trees like [neo-tree](https://github.com/nvim-neo-tree/neo-tree.nvim) and [nvim-tree](https://github.com/nvim-tree/nvim-tree.lua), but they're really a different category entirely.
|
||||
|
||||
**Q: I don't need netrw anymore. How can I disable it?**
|
||||
|
||||
**A:** Oil can fully replace netrw for local and ssh file browsing/editing, but keep in mind that netrw also supports rsync, http, ftp, and dav. If you don't need these other features, you can disable netrw with the following:
|
||||
|
||||
```lua
|
||||
vim.g.loaded_netrw = 1
|
||||
vim.g.loaded_netrwPlugin = 1
|
||||
```
|
||||
|
|
|
|||
|
|
@ -67,12 +67,9 @@ local default_config = {
|
|||
-- reason, I'm taking them out of the section above so they won't show up in the autogen docs.
|
||||
default_config.adapters = {
|
||||
["oil://"] = "files",
|
||||
["scp://"] = "ssh",
|
||||
}
|
||||
-- For backwards compatibility
|
||||
default_config.adapter_aliases = {
|
||||
["oil-ssh://"] = "scp://",
|
||||
["oil-ssh://"] = "ssh",
|
||||
}
|
||||
default_config.adapter_aliases = {}
|
||||
|
||||
local M = {}
|
||||
|
||||
|
|
@ -147,6 +144,13 @@ M.get_adapter_by_scheme = function(scheme)
|
|||
local adapter = M._adapter_by_scheme[scheme]
|
||||
if adapter == nil then
|
||||
local name = M.adapters[scheme]
|
||||
if not name then
|
||||
vim.notify(
|
||||
string.format("Could not find oil adapter for scheme '%s'", scheme),
|
||||
vim.log.levels.ERROR
|
||||
)
|
||||
return nil
|
||||
end
|
||||
local ok
|
||||
ok, adapter = pcall(require, string.format("oil.adapters.%s", name))
|
||||
if ok then
|
||||
|
|
|
|||
|
|
@ -553,12 +553,6 @@ local function load_oil_buffer(bufnr)
|
|||
local bufname = vim.api.nvim_buf_get_name(bufnr)
|
||||
local scheme, path = util.parse_url(bufname)
|
||||
if config.adapter_aliases[scheme] then
|
||||
if scheme == "oil-ssh://" then
|
||||
vim.notify_once(
|
||||
'The "oil-ssh://" url scheme is deprecated, use "scp://" instead.\nSupport will be removed on 2023-06-01.',
|
||||
vim.log.levels.WARN
|
||||
)
|
||||
end
|
||||
scheme = config.adapter_aliases[scheme]
|
||||
bufname = scheme .. path
|
||||
util.rename_buffer(bufnr, bufname)
|
||||
|
|
@ -603,10 +597,6 @@ end
|
|||
M.setup = function(opts)
|
||||
local config = require("oil.config")
|
||||
|
||||
-- Disable netrw
|
||||
vim.g.loaded_netrw = 1
|
||||
vim.g.loaded_netrwPlugin = 1
|
||||
|
||||
config.setup(opts)
|
||||
set_colors()
|
||||
vim.api.nvim_create_user_command("Oil", function(args)
|
||||
|
|
@ -693,6 +683,20 @@ M.setup = function(opts)
|
|||
end
|
||||
end,
|
||||
})
|
||||
if not config.silence_scp_warning then
|
||||
vim.api.nvim_create_autocmd("BufNew", {
|
||||
desc = "Warn about scp:// usage",
|
||||
group = aug,
|
||||
pattern = "scp://*",
|
||||
once = true,
|
||||
callback = function()
|
||||
vim.notify(
|
||||
"If you are trying to browse using Oil, use oil-ssh:// instead of scp://\nSet `silence_scp_warning = true` in oil.setup() to disable this message.\nSee https://github.com/stevearc/oil.nvim/issues/27 for more information.",
|
||||
vim.log.levels.WARN
|
||||
)
|
||||
end,
|
||||
})
|
||||
end
|
||||
vim.api.nvim_create_autocmd("WinNew", {
|
||||
desc = "Restore window options when splitting an oil window",
|
||||
group = aug,
|
||||
|
|
|
|||
|
|
@ -7,8 +7,8 @@ describe("url", function()
|
|||
{ "/foo/bar.txt", "oil:///foo/", "bar.txt" },
|
||||
{ "oil:///foo/bar.txt", "oil:///foo/", "bar.txt" },
|
||||
{ "oil:///", "oil:///" },
|
||||
{ "scp://user@hostname:8888//bar.txt", "scp://user@hostname:8888//", "bar.txt" },
|
||||
{ "scp://user@hostname:8888//", "scp://user@hostname:8888//" },
|
||||
{ "oil-ssh://user@hostname:8888//bar.txt", "oil-ssh://user@hostname:8888//", "bar.txt" },
|
||||
{ "oil-ssh://user@hostname:8888//", "oil-ssh://user@hostname:8888//" },
|
||||
}
|
||||
for _, case in ipairs(cases) do
|
||||
local input, expected, expected_basename = unpack(case)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue