Commit 0f1b855e7f40

Vincent Demeester <vincent@sbr.pm>
2020-01-31 14:50:34
emacs.org: add setup-projectile.el
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
1 parent ffb55fe
Changed files (2)
lisp/setup-projectile.el
@@ -1,15 +1,10 @@
-;;; setup-projectile.el --- setup projectile
-;;; Commentary:
-;;; Code:
 ;;; -*- lexical-binding: t; -*-
-
 (use-package projectile                 ; Project management
   :init (projectile-mode)
   :bind-keymap ("C-c p" . projectile-command-map)
   :config
   ;; Remove dead projects when Emacs is idle
   (run-with-idle-timer 10 nil #'projectile-cleanup-known-projects)
-  
   (setq
    ;; Custom compilation buffer name function
    compilation-buffer-name-function (lambda (mode) (concat "*" (downcase mode) ": " (projectile-project-name) "*"))
@@ -32,8 +27,3 @@
   :init (counsel-projectile-mode))
 
 (provide 'setup-projectile)
-
-;; Local Variables:
-;; coding: utf-8
-;; indent-tabs-mode: nil
-;; End:
emacs.org
@@ -1945,6 +1945,43 @@
   (provide 'setup-org)
 #+end_src
 
+*** ~setup-projectile.el~
+:PROPERTIES:
+:CUSTOM_ID: h:8b4f0172-d070-4563-808f-064d4c1fd61d
+:END:
+
+#+begin_src emacs-lisp :tangle lisp/setup-projectile.el
+  ;;; -*- lexical-binding: t; -*-
+  (use-package projectile                 ; Project management
+    :init (projectile-mode)
+    :bind-keymap ("C-c p" . projectile-command-map)
+    :config
+    ;; Remove dead projects when Emacs is idle
+    (run-with-idle-timer 10 nil #'projectile-cleanup-known-projects)
+    (setq
+     ;; Custom compilation buffer name function
+     compilation-buffer-name-function (lambda (mode) (concat "*" (downcase mode) ": " (projectile-project-name) "*"))
+     projectile-completion-system 'ivy
+     projectile-find-dir-includes-top-level t
+     projectile-switch-project-action #'projectile-commander
+     projectile-create-missing-test-files t
+     projectile-mode-line '(:eval (format " Proj[%s]" (projectile-project-name))))
+    (def-projectile-commander-method ?s
+      "Open a *shell* buffer for the project"
+      (projectile-run-eshell))
+    (def-projectile-commander-method ?c
+      "Run `compile' in the project"
+      (projectile-compile-project nil)))
+
+  (use-package counsel-projectile         ; Ivy integration for Projectile
+    :bind (:map projectile-command-map
+                ("p" . counsel-projectile-switch-project)
+                ("r" . counsel-projectile-rg))
+    :init (counsel-projectile-mode))
+
+  (provide 'setup-projectile)
+#+end_src
+
 *** ~setup-search.el~
 :PROPERTIES:
 :CUSTOM_ID: h:190839ba-ced5-4b72-b2cd-1d65603d2082