canola.nvim/lua/oil
Barrett Ruth a5cfee05a4
feat(ftp): add FTP/FTPS adapter via curl
Problem: canola has no way to browse or edit files on FTP servers,
despite the adapter system being designed for exactly this pattern.
curl speaks FTP natively, including FTPS (FTP over TLS), and requires
no new dependencies.

Solution: implement `lua/oil/adapters/ftp.lua` with `oil-ftp://` and
`oil-ftps://` schemes. Parses Unix and IIS LIST output, supports
`size`, `mtime`, and `permissions` columns, and implements the full
adapter API (list, read_file, write_file, render_action, perform_action).
Same-host renames use RNFR/RNTO; cross-host and local↔FTP copies use
curl download/upload through a tmpfile. Adds `extra_curl_args` config
option and documents the adapter in `doc/oil.txt`.

Based on: stevearc/oil.nvim#210
2026-03-17 23:43:37 -04:00
..
adapters feat(ftp): add FTP/FTPS adapter via curl 2026-03-17 23:43:37 -04:00
lsp refactor: revert canola namespace to oil and remove vim.g config (#120) 2026-03-10 22:49:56 -04:00
mutator fix(test): resolve trash_spec.lua flakes from leaked mutation state (#163) 2026-03-17 11:47:01 -04:00
actions.lua refactor: revert canola namespace to oil and remove vim.g config (#120) 2026-03-10 22:49:56 -04:00
cache.lua refactor: revert canola namespace to oil and remove vim.g config (#120) 2026-03-10 22:49:56 -04:00
clipboard.lua refactor: revert canola namespace to oil and remove vim.g config (#120) 2026-03-10 22:49:56 -04:00
columns.lua refactor: revert canola namespace to oil and remove vim.g config (#120) 2026-03-10 22:49:56 -04:00
config.lua feat(ftp): add FTP/FTPS adapter via curl 2026-03-17 23:43:37 -04:00
constants.lua refactor: revert canola namespace to oil and remove vim.g config (#120) 2026-03-10 22:49:56 -04:00
fs.lua refactor: revert canola namespace to oil and remove vim.g config (#120) 2026-03-10 22:49:56 -04:00
git.lua refactor: revert canola namespace to oil and remove vim.g config (#120) 2026-03-10 22:49:56 -04:00
init.lua fix(float): support close = false for floating oil windows (#162) 2026-03-17 11:46:02 -04:00
keymap_util.lua refactor: revert canola namespace to oil and remove vim.g config (#120) 2026-03-10 22:49:56 -04:00
layout.lua refactor: revert canola namespace to oil and remove vim.g config (#120) 2026-03-10 22:49:56 -04:00
loading.lua refactor: revert canola namespace to oil and remove vim.g config (#120) 2026-03-10 22:49:56 -04:00
log.lua refactor: revert canola namespace to oil and remove vim.g config (#120) 2026-03-10 22:49:56 -04:00
pathutil.lua refactor: revert canola namespace to oil and remove vim.g config (#120) 2026-03-10 22:49:56 -04:00
ringbuf.lua refactor: revert canola namespace to oil and remove vim.g config (#120) 2026-03-10 22:49:56 -04:00
shell.lua refactor: revert canola namespace to oil and remove vim.g config (#120) 2026-03-10 22:49:56 -04:00
util.lua refactor: revert canola namespace to oil and remove vim.g config (#120) 2026-03-10 22:49:56 -04:00
view.lua fix(view): prevent backspace from deleting into prefix area (#135) 2026-03-15 13:39:32 -04:00