diff --git a/README.md b/README.md
index e246c94..817f780 100644
--- a/README.md
+++ b/README.md
@@ -125,9 +125,9 @@ This command is a replacement for `projectile-find-file`. It displays a list of
| :----------- | :----------------------------------------------------------------------- |
| o | Open file in current window (default action) |
| j | Open file in other window |
-| 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 file's directory |
+| x | Open file externally |
+| r | Open file as root |
+| m | Find file manually: call `counsel-find-file` from file's directory |
| p | Switch project: call `counsel-projectile-switch-project` (see above) |
## The `counsel-projectile-find-dir` command
Default key binding: C-c p d.
@@ -137,7 +137,9 @@ This command is a replacement for `projectile-find-dir`. It displays a list of a
| Key | Action |
| :----------- | :------------------------------------------------------------------- |
| o | Open directory with `dired` in current window (default action) |
-| j | Open director with `dired` in other window |
+| j | Open directory with `dired` in other window |
+| x | Open directory externally |
+| r | Open directory as root |
| m | Find file manually: call `counsel-find-file` from directory |
| p | Switch project: call `counsel-projectile-switch-project` (see above) |
## The `counsel-projectile-switch-to-buffer` command
diff --git a/counsel-projectile.el b/counsel-projectile.el
index c79fd27..61c924e 100644
--- a/counsel-projectile.el
+++ b/counsel-projectile.el
@@ -404,6 +404,10 @@ The sorting function can be modified by adding an entry for
"current window")
("j" counsel-projectile-find-dir-action-other-window
"other window")
+ ("x" counsel-projectile-find-dir-action-extern
+ "open externally")
+ ("r" counsel-projectile-find-dir-action-root
+ "open as root")
("m" counsel-projectile-find-file-action-find-file-manually
"find file manually")
("p" (lambda (_) (counsel-projectile-switch-project))
@@ -427,6 +431,16 @@ The sorting function can be modified by adding an entry for
(dired-other-window (projectile-expand-root dir))
(run-hooks 'projectile-find-dir-hook))
+(defun counsel-projectile-find-dir-action-extern (dir)
+ "Visit DIR externally and run `projectile-find-dir-hook'."
+ (counsel-find-file-extern (projectile-expand-root dir))
+ (run-hooks 'projectile-find-dir-hook))
+
+(defun counsel-projectile-find-file-action-root (dir)
+ "Visit DIR as root and run `projectile-find-dir-hook'."
+ (counsel-find-file-as-root (projectile-expand-root dir))
+ (run-hooks 'projectile-find-dir-hook))
+
;;;###autoload
(defun counsel-projectile-find-dir (&optional arg)
"Jump to a directory in the current project.