While any text editor can save your files, only Emacs can save your soul. — Per Abrahamsen
Credits: This configuration is based off Steve Purcell's config, which I highly recommend as a starter.
I have carefully tried to keep Emacs' start-up time to the minimum. All
modifications detailed below add approximately 0.2s start-up time compared to
Steve's original code (which took about 2.8s on my laptop). This is done by
deferring the loading of most (all?) new packages added, using autoload
. The
trade-off is that you will notice a slight pause the first time you use that
mode (but not on subsequent times).
All notes below apply only to this configuration (i.e. not Steve's) unless explicitly stated.
Note: Unless otherwise stated, "optional" means all other components, including those listed here, will still work.
- (Optional)
hdevtools
executable for flycheck-hdevtools (in Steve's config). No problems ifhdevtools
is not available.
-
(Optional)
structured-haskell-mode
executable for nicer code indentation. If the executablestructured-haskell-mode
is not available, regularhaskell-indentation-mode
will be used. The default colour scheme instructured-haskell-mode
is hideous, so I've changed that if you're using the solarised-light theme. For now, colours do not change if you change themes unlessinit.el
is re-evaluated or you restart Emacs.Note: The colours I've chosen are suitable only for light themes. I haven't found a way to detect light themes in general, so I've only enabled it for solarised-light.
-
("Optional")
clang
. Without this, you have nothing. It's "optional" in the sense that not havingclang
wouldn't affect your, say, Haskell or poetry writing experience in Emacs. Were you looking for MS notepad with Emacs keybindings? -
(Optional; requires
clang
andcmake
)rtags
for superior tagging. You will need to have the rtags daemon socket activated, using launchd on OS X or systemd on Linux. Windows, startrdm
manually yourself. The daemon could be run within Emacs itself, but I just didn't like the idea.Note:
cmake-ide
does have some code to attempt to detect ifrdm
is already running on the system. However, it does not work on OS X (and probably Windows) becauseprocess-attributes
is not supported by Emacs on those platforms.
irony-mode
. WIP.
cmake-ide
for editing CMake configuration files.
Docs WIP.
Docs WIP.
- (Optional) System utilities:
grep
,cut
,uniq
,ag
kill-process-interactive
remote-shell
sudo-reopen-current-file