 "
   ("D" my-delete-current-buffer-file)
   ("R" my-rename-current-buffer-file)
-  ("f" (progn
-         (cond ((eq dotemacs-switch-engine 'ivy)
-                (call-interactively #'counsel-find-file))
-               ((eq dotemacs-switch-engine 'helm)
-                (call-interactively #'helm-find-files))
-               (t
-                (call-interactively #'find-file)))))
-  ("r" (progn
-         (cond ((eq dotemacs-switch-engine 'ivy)
-                (call-interactively #'ivy-recentf))
-               ((eq dotemacs-switch-engine 'helm)
-                (call-interactively #'helm-recentf))
-               (t
-                (call-interactively #'recentf)))))
+  ("f" (my-switch-action #'find-file :ivy #'counsel-find-file :helm #'helm-find-files))
+  ("r" (my-switch-action #'recentf   :ivy #'ivy-recenf        :helm #'helm-recentf))
   ("y" my-copy-file-name-to-clipboard)
   ("E" my-find-file-as-root)
   ("c" copy-file)

(require-package 'hydra)



   jump   _i_ → outline in current buffer   _l_ → lines in current buffer
          _b_ → bookmarks                   _L_ → lines in all buffers
"
  ("i" (my-switch-action #'imenu :ivy #'counsel-imenu :helm #'helm-semantic-or-imenu))
  ("l" (my-switch-action nil     :ivy #'swiper        :helm #'helm-swoop))
  ("L" (my-switch-action nil     :ivy #'swiper-all    :helm #'helm-multi-swoop))
  ("b" bookmark-jump))

