about summary refs log tree commit diff stats
path: root/content/post/opening-projects-with-projectile.md
diff options
context:
space:
mode:
Diffstat (limited to 'content/post/opening-projects-with-projectile.md')
-rw-r--r--content/post/opening-projects-with-projectile.md6
1 files changed, 3 insertions, 3 deletions
diff --git a/content/post/opening-projects-with-projectile.md b/content/post/opening-projects-with-projectile.md index 43ee6f1..4fc097a 100644 --- a/content/post/opening-projects-with-projectile.md +++ b/content/post/opening-projects-with-projectile.md
@@ -6,11 +6,11 @@ title = "Opening Projects with Projectile"
6date = 2014-07-12T09:12:34Z 6date = 2014-07-12T09:12:34Z
7+++ 7+++
8 8
9I use [Projectile] for working with projects in Emacs. It's really good at finding files in projects, working with source code indexes (I use [Global]), and with its [perspective] support, it's also great at separating projects into workspaces. However, I've always felt it lacking in actually opening projects. I tend to work on different projects all the time and `projectile-switch-project` only tracks projects once they've been opened initially (despite the name, it works across Emacs sessions). 9I use [Projectile][] for working with projects in Emacs. It's really good at finding files in projects, working with source code indexes (I use [Global][]), and with its [perspective][] support, it's also great at separating projects into workspaces. However, I've always felt it lacking in actually opening projects. I tend to work on different projects all the time and `projectile-switch-project` only tracks projects once they've been opened initially (despite the name, it works across Emacs sessions).
10 10
11With this in mind, I decided to try to add support for opening projects under a given subdirectory, e.g. `~/projects`, regardless of whether or not I've visited them before. 11With this in mind, I decided to try to add support for opening projects under a given subdirectory, e.g. `~/projects`, regardless of whether or not I've visited them before.
12 12
13I saw that projectile uses [Dash.el] in some places, and after reading about [anaphoric macros], I decided that I'd try to use them to aid me. 13I saw that projectile uses [Dash.el][] in some places, and after reading about [anaphoric macros], I decided that I'd try to use them to aid me.
14 14
15{{% highlight cl %}} 15{{% highlight cl %}}
16(defun ap/subfolder-projects (dir) 16(defun ap/subfolder-projects (dir)
@@ -39,7 +39,7 @@ So, we've got ourselves a list, but now we need to be able to open the project t
39 39
40By wrapping the call to `ap/subfolder-projects` in another function that takes the same directory argument, we can re-use the project parent directory and expand the selected project name into an absolute path before passing it to `projectile-switch-project-by-name`. 40By wrapping the call to `ap/subfolder-projects` in another function that takes the same directory argument, we can re-use the project parent directory and expand the selected project name into an absolute path before passing it to `projectile-switch-project-by-name`.
41 41
42We get support for multiple completion systems for free, since projectile has a wrapper function that works with the default system, ido, [grizzl] and recently, [helm]. 42We get support for multiple completion systems for free, since projectile has a wrapper function that works with the default system, ido, [grizzl][] and recently, [helm][].
43 43
44Then I defined some helper functions to make it easy to open work and home projects. 44Then I defined some helper functions to make it easy to open work and home projects.
45 45