Crates.io | emacs-pool |
lib.rs | emacs-pool |
version | 0.2.0 |
source | src |
created_at | 2022-08-04 11:43:17.345911 |
updated_at | 2022-08-04 11:43:17.345911 |
description | An emacs daemon pool for fast emacs startups. |
homepage | https://github.com/cfal/emacs-pool/ |
repository | https://github.com/cfal/emacs-pool/ |
max_upload_size | |
id | 638693 |
size | 31,182 |
emacs-pool is an emacs daemon pool that preloads single-use emacs daemons in the background. It aims to provide an equivalent experience to non-daemon mode emacs but with a faster startup.
emacs-pool consists of two binaries:
emacs-pool-daemon
: Pre-loads emacs daemons in the background. Automatically starts up new daemons, and kills daemons after use. Listens for client connections via unix domain socket.
emacs-pool-client
: Asks emacs-pool-daemon
for a new emacs daemon, and then runs emacsclient
to connect to it. The emacs daemon will be destroyed after emacsclient
is closed.
Requirements:
cargo install --path .
will install emacs-pool-daemon
and emacs-pool-client
to your cargo bin directory.
Link or copy scripts/run.sh
to somewhere on your path and use it instead of emacs. The script will automatically start up emacs-pool-daemon
in the background if necessary before invoking emacs-pool-client
. Edit the script variables at the top to configure socket path and emacs paths.
killall emacs-pool-daemon
when startup with run.sh
. Using SIGKILL (-9) would not give the server time to shutdown the emacs daemons, and you would have to do so manually.