(defhydra hydra-projectile-other-window (:color teal :columns 2) "projectile-other-window" ("f" projectile-find-file-other-window "file") ("g" projectile-find-file-dwim-other-window "file dwim") ("d" projectile-find-dir-other-window "dir") ("b" projectile-switch-to-buffer-other-window "buffer") ("q" nil "cancel" :color blue)) (defhydra hydra-projectile (:color teal :columns 4) "Projectile" ("a" projectile-ag "ag") ("b" projectile-switch-to-buffer "switch to buffer") ("c" projectile-invalidate-cache "invalidate cache") ("d" projectile-find-dir "find dir") ("s-f" projectile-find-file "find file") ("ff" projectile-find-file-dwim "find file dwim") ("fd" projectile-find-file-in-directory "find file in dir") ("g" projectile-regenerate-tags "regenerate tags") ("fg" projectile-find-tag "find tag") ("i" projectile-ibuffer "ibuffer") ("K" projectile-kill-buffers "kill buffers") ("m" projectile-multi-occur "multi occur") ("s-p" projectile-switch-project "switch project") ("s" projectile-switch-project "switch project") ("r" projectile-recentf "recent file") ("x" projectile-remove-known-project "remove project") ("X" projectile-cleanup-known-projects "cleanup project") ("z" projectile-cache-current-file "cache current file") ("`" hydra-projectile-other-window/body "other window") ("q" nil "cancel" :color blue)) (use-package projectile :diminish projectile-mode :bind-keymap ("C-c p" . projectile-command-map) :bind (("M-p" . hydra-projectile/body)) :init (add-hook 'after-init-hook #'projectile-mode) :config (setq projectile-switch-project-action 'projectile-dired projectile-enable-caching t projectile-completion-system 'ivy projectile-known-projects-file (expand-file-name "var/projectile-bookmarks.eld" user-emacs-directory) projectile-cache-file (expand-file-name "var/projectile.cache" user-emacs-directory) projectile-globally-ignored-directories (append fcuny-projects-ignored-dirs projectile-globally-ignored-directories) projectile-globally-ignored-files (append fcuny-projects-ignored-files projectile-globally-ignored-files))) (use-package ag :commands (counsel-ag ag) :bind (:map ag-mode-map ("p" . compilation-previous-error) ("n" . compilation-next-error) ("N" . compilation-next-file) ("P" . compilation-previous-file)) :config (setq ag-highlight-search t ag-reuse-buffers t ag-reuse-window t)) (provide 'module-project)