feat: trash support for linux and mac (#165)
* wip: skeleton code for trash adapter * refactor: split trash implementation for mac and linux * fix: ensure we create the .Trash/$uid dir * feat: code complete linux trash implementation * doc: write up trash features * feat: code complete mac trash implementation * cleanup: remove previous, terrible, undocumented trash feature * fix: always disabled trash * feat: show original path of trashed files * doc: add a note about calling actions directly * fix: bugs in trash implementation * fix: schedule_wrap in mac trash * doc: fix typo and line wrapping * fix: parsing of arguments to :Oil command * doc: small documentation tweaks * doc: fix awkward wording in the toggle_trash action * fix: warning on Windows when delete_to_trash = true * feat: :Oil --trash can open specific trash directories * fix: show all trash files in device root * fix: trash mtime should be sortable * fix: shorten_path handles optional trailing slash * refactor: overhaul the UI * fix: keep trash original path vtext from stacking * refactor: replace disable_changes with an error filter * fix: shorten path names in home directory relative to root * doc: small README format changes * cleanup: remove unnecessary preserve_undo logic * test: add a functional test for the freedesktop trash adapter * test: more functional tests for trash * fix: schedule a callback to avoid main loop error * refactor: clean up mutator logic * doc: some comments and type annotations
This commit is contained in:
parent
d8f0d91b10
commit
6175bd6462
27 changed files with 1580 additions and 229 deletions
23
README.md
23
README.md
|
|
@ -43,11 +43,13 @@ oil.nvim supports all the usual plugin managers
|
|||
<summary>Packer</summary>
|
||||
|
||||
```lua
|
||||
require('packer').startup(function()
|
||||
use {
|
||||
'stevearc/oil.nvim',
|
||||
config = function() require('oil').setup() end
|
||||
}
|
||||
require("packer").startup(function()
|
||||
use({
|
||||
"stevearc/oil.nvim",
|
||||
config = function()
|
||||
require("oil").setup()
|
||||
end,
|
||||
})
|
||||
end)
|
||||
```
|
||||
|
||||
|
|
@ -57,9 +59,9 @@ end)
|
|||
<summary>Paq</summary>
|
||||
|
||||
```lua
|
||||
require "paq" {
|
||||
{'stevearc/oil.nvim'};
|
||||
}
|
||||
require("paq")({
|
||||
{ "stevearc/oil.nvim" },
|
||||
})
|
||||
```
|
||||
|
||||
</details>
|
||||
|
|
@ -154,8 +156,6 @@ require("oil").setup({
|
|||
delete_to_trash = false,
|
||||
-- Skip the confirmation popup for simple operations
|
||||
skip_confirm_for_simple_edits = false,
|
||||
-- Change this to customize the command used when deleting to trash
|
||||
trash_command = "trash-put",
|
||||
-- Selecting a new/moved/renamed file or directory will prompt you to save changes first
|
||||
prompt_save_on_select_new_entry = true,
|
||||
-- Oil will automatically delete hidden buffers after this delay
|
||||
|
|
@ -184,6 +184,7 @@ require("oil").setup({
|
|||
["gs"] = "actions.change_sort",
|
||||
["gx"] = "actions.open_external",
|
||||
["g."] = "actions.toggle_hidden",
|
||||
["g\\"] = "actions.toggle_trash",
|
||||
},
|
||||
-- Set to false to disable all of the above keymaps
|
||||
use_default_keymaps = true,
|
||||
|
|
@ -277,7 +278,7 @@ nvim oil-ssh://[username@]hostname[:port]/[path]
|
|||
|
||||
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/sh` binary as well as standard unix commands (`rm`, `mv`, `mkdir`, `chmod`, `cp`, `touch`, `ln`, `echo`).
|
||||
Note that at the moment the ssh adapter does not support Windows machines, and it requires the server to have a `/bin/sh` binary as well as standard unix commands (`ls`, `rm`, `mv`, `mkdir`, `chmod`, `cp`, `touch`, `ln`, `echo`).
|
||||
|
||||
## API
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue