Homepage: https://gitlab.com/gaudecker/mip-mode
Author: Eeli Reilin
Updated:
Virtual projects for emacs
mip-mode is a minor mode which enables users to quickly jump between
virtual projects and their files. MIP stands for Multiple Interactive
Projects.
mip-mode defines a workspace as a "root directory which contains
project subdirectories".
To enable mip globally, add the following to your .emacs file:
(global-mip-mode t)
Before mip-mode can be used, we must define a list of workspaces;
Workspaces are just directories which contain project subdirectories.
For example, I usually have a dedicated location for all of my
projects in my home directory:
~/workspace
~/workspace/project-1
~/workspace/project-2
To tell workspace directories to mip-mode, we must add the following
to our .emacs file:
(setq mip-workspaces '("~/workspace"))
or
(add-to-list 'mip-workspaces "~/workspace")
You can have multiple workspaces as long as their projects don't
conflict.
You can also ignore specific projects:
(setq mip-ignored-projects '("project-2"))
or
(add-to-list 'mip-ignored-projects "project-2")
You can give a specific project name or a regular expression to match
multiple projects.
You can tell mip to close all project specific buffers:
(setq mip-kill-project-buffers-on-close t)
mip checks each buffer if it's file resides in the project's
directory, and if it does, kills it.
mip can even kill the magit-status buffer:
(setq mip-kill-magit-status-buffer-on-close t)