{"action":"created","issue":{"url":"https://api.github.com/repos/onivim/oni/issues/1839","repository_url":"https://api.github.com/repos/onivim/oni","labels_url":"https://api.github.com/repos/onivim/oni/issues/1839/labels{/name}","comments_url":"https://api.github.com/repos/onivim/oni/issues/1839/comments","events_url":"https://api.github.com/repos/onivim/oni/issues/1839/events","html_url":"https://github.com/onivim/oni/pull/1839","id":306160969,"number":1839,"title":"[WIP] Feature/add file/folder manipulation commands to explorer","user":{"login":"Akin909","id":22454918,"avatar_url":"https://avatars2.githubusercontent.com/u/22454918?v=4","gravatar_id":"","url":"https://api.github.com/users/Akin909","html_url":"https://github.com/Akin909","followers_url":"https://api.github.com/users/Akin909/followers","following_url":"https://api.github.com/users/Akin909/following{/other_user}","gists_url":"https://api.github.com/users/Akin909/gists{/gist_id}","starred_url":"https://api.github.com/users/Akin909/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Akin909/subscriptions","organizations_url":"https://api.github.com/users/Akin909/orgs","repos_url":"https://api.github.com/users/Akin909/repos","events_url":"https://api.github.com/users/Akin909/events{/privacy}","received_events_url":"https://api.github.com/users/Akin909/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":8,"created_at":"2018-03-17T14:32:26Z","updated_at":"2018-04-10T19:49:32Z","closed_at":null,"author_association":"COLLABORATOR","pull_request":{"url":"https://api.github.com/repos/onivim/oni/pulls/1839","html_url":"https://github.com/onivim/oni/pull/1839","diff_url":"https://github.com/onivim/oni/pull/1839.diff","patch_url":"https://github.com/onivim/oni/pull/1839.patch"},"body":"Following discussion in #1737 this PR adds the ability to yank and paste files and folders using `y` and `p` as defaults (a user can remap this) these are also gated by checking that the explorer split is active.\r\n\r\n\r\n![yank](https://user-images.githubusercontent.com/22454918/37556525-76bd47f4-29ef-11e8-9bfe-aa6b83b291d5.gif)\r\n\r\n\r\n### Todo\r\n- [x] Add epic to clear yank register after timeout if user never pastes\r\n- [ ] *Stretch goal* try and get animation working for moving nodes in explorer\r\n- [x] *Very nice to have...* Multi-select aka make yank register an array and move multiple items.\r\n- [x] Add `h/l` movements to expand and collapse a dir\r\n- [x] Localise bindings to explorer pane\r\n- [x] Add undo functionality\r\n~- [ ] Add Sidebar to `Oni.Plugin.Api` to correctly type `isExplorerActive`~\r\n\r\nEDIT: Added multi-select 😆 \r\n\r\n![yank-two](https://user-images.githubusercontent.com/22454918/37557086-481386c2-29f7-11e8-997c-a88cfe7c01e8.gif)\r\n"},"comment":{"url":"https://api.github.com/repos/onivim/oni/issues/comments/380225037","html_url":"https://github.com/onivim/oni/pull/1839#issuecomment-380225037","issue_url":"https://api.github.com/repos/onivim/oni/issues/1839","id":380225037,"user":{"login":"CrossR","id":10038688,"avatar_url":"https://avatars1.githubusercontent.com/u/10038688?v=4","gravatar_id":"","url":"https://api.github.com/users/CrossR","html_url":"https://github.com/CrossR","followers_url":"https://api.github.com/users/CrossR/followers","following_url":"https://api.github.com/users/CrossR/following{/other_user}","gists_url":"https://api.github.com/users/CrossR/gists{/gist_id}","starred_url":"https://api.github.com/users/CrossR/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/CrossR/subscriptions","organizations_url":"https://api.github.com/users/CrossR/orgs","repos_url":"https://api.github.com/users/CrossR/repos","events_url":"https://api.github.com/users/CrossR/events{/privacy}","received_events_url":"https://api.github.com/users/CrossR/received_events","type":"User","site_admin":false},"created_at":"2018-04-10T19:49:32Z","updated_at":"2018-04-10T19:49:32Z","author_association":"COLLABORATOR","body":">Thought it through and decided to leave the rename out, to make this PR simpler, what I have added though is undo functionality for the delete command.\r\n\r\nMakes sense, rename is a lot more awkward on the UI side!\r\n\r\n>@bryphe, @CrossR the way that this works is that I move the deleted folder to the tempdir and if they undo I move it back, and if not accessed for the duration of the tempdir pre clean things then actually get deleted.\r\n\r\nSounds good, and I've seen there is a config option for it too which is one thing I did wonder about.\r\nHow does the undo-ing actually work? Does it follow on undo tree?\r\n\r\nI.e. I delete 1 then 2, then 3. So undo brings back 3, then 2 then 1?\r\n\r\nOnly thing I am wondering is perhaps we could have a filesize limit/force delete version too? I often delete big CSVs so moving them around probably wouldn't be the easiest. Probably something for a further refinement of the feature though and not here!\r\n\r\n"}}
{"actor":{"display_login":"CrossR"}}