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)
hdevtoolsexecutable for flycheck-hdevtools (in Steve's config). No problems ifhdevtoolsis not available.
-
(Optional)
structured-haskell-modeexecutable for nicer code indentation. If the executablestructured-haskell-modeis not available, regularhaskell-indentation-modewill be used. The default colour scheme instructured-haskell-modeis 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.elis 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 havingclangwouldn't affect your, say, Haskell or poetry writing experience in Emacs. Were you looking for MS notepad with Emacs keybindings? -
(Optional; requires
clangandcmake)rtagsfor superior tagging. You will need to have the rtags daemon socket activated, using launchd on OS X or systemd on Linux. Windows, startrdmmanually yourself. The daemon could be run within Emacs itself, but I just didn't like the idea.Note:
cmake-idedoes have some code to attempt to detect ifrdmis already running on the system. However, it does not work on OS X (and probably Windows) becauseprocess-attributesis not supported by Emacs on those platforms.
irony-mode. WIP.
cmake-idefor editing CMake configuration files.
Docs WIP.
Docs WIP.
- (Optional) System utilities:
grep,cut,uniq,ag
kill-process-interactiveremote-shellsudo-reopen-current-file