diff --git a/README.md b/README.md index 1918003..2b7dd00 100644 --- a/README.md +++ b/README.md @@ -97,7 +97,7 @@ This command lets you quickly jump to a project buffer or file. It uses ivy to d | :----------- | :--------------------------------------------------------------------------------- | | o | Open buffer or file in current window (default action) | | j | Open buffer or file in other window | -| k | Kill buffer (does nothing for files) | +| k | Kill buffer or delete file | | x | Open file externally (does nothing for buffers) | | r | Open file as root (does nothing for buffers) | | m | Find file manually: call `counsel-find-file` from buffer or file's directory | @@ -146,6 +146,7 @@ This command is a replacement for `projectile-find-file`. It displays a list of | x | Open file externally | | r | Open file as root | | m | Find file manually: call `counsel-find-file` from file's directory | +| k | Delete file | | p | Switch project: call `counsel-projectile-switch-project` (see above) | ## The `counsel-projectile-find-file-dwim` command Default key binding: C-c p g. diff --git a/counsel-projectile.el b/counsel-projectile.el index 5bed3d9..064fb85 100644 --- a/counsel-projectile.el +++ b/counsel-projectile.el @@ -296,6 +296,8 @@ It is also possible to use a custom matcher. It must be a function taking two a "open as root") ("m" counsel-projectile-find-file-action-find-file-manually "find file manually") + ("k" counsel-projectile-find-file-action-delete + "delete") ("p" (lambda (_) (counsel-projectile-switch-project)) "switch project")) 'counsel-projectile) @@ -362,6 +364,10 @@ on `counsel-find-file-ignore-regexp'." (counsel-find-file-as-root (projectile-expand-root file)) (run-hooks 'projectile-find-file-hook)) +(defun counsel-projectile-find-file-action-delete (file) + "Delete FILE." + (counsel-find-file-delete (projectile-expand-root file))) + (defun counsel-projectile-find-file-transformer (str) "Transform non-visited file names with `ivy-virtual' face." (if (not (get-file-buffer (projectile-expand-root str))) @@ -1254,8 +1260,8 @@ action." "current window") ("j" counsel-projectile-action-other-window "other window") - ("k" counsel-projectile-action-kill-buffer - "kill buffer") + ("k" counsel-projectile-action-kill-delete + "kill buffer / delete-file") ("x" counsel-projectile-action-file-extern "open file externally") ("r" counsel-projectile-action-file-root @@ -1339,11 +1345,11 @@ files." (switch-to-buffer-other-window name) (counsel-projectile-find-file-action-other-window name))) -(defun counsel-projectile-action-kill-buffer (name) - "Kill buffer named NAME." +(defun counsel-projectile-action-kill-delete (name) + "Kill buffer or delete-file named NAME." (if (member name counsel-projectile--buffers) (ivy--kill-buffer-action name) - (message "This action only applies to buffers."))) + (counsel-projectile-find-file-action-delete name))) (defun counsel-projectile-action-find-file-manually (name) "Call `counsel-find-file' from default directory of buffer