Emacs Redux made me aware of a new nifty feature of Emacs 24.4 (the upcoming release; I am currently using one of the nightlies). Emacs 24.4 includes a new mode called prettify-symbols-mode
, which replaces tokens within code with more compact symbols (typically unicode characters like λ).
I am using the mode to replace the “function” token in JavaScript — which is used all over the place, since it is the syntax to create functions, modules and closures — with the single character λ. This results in significantly more lightweight expressions:
initialize: λ() { this.listenTo(this, "planet:drag planet:dragvelocity", λ() { this.elements(true); }); }
The mode is smart enough to only replace tokens (it doesn’t replace function within a string, e.g., var a = "This is a function";
will appear unmodified). To activate the mode, use (global-prettify-symbols-mode 1)
in one of your init files, and add new symbols to the mode hooks:
(add-hook 'js2-mode-hook (lambda () (push '("function" . ?λ) prettify-symbols-alist)))
Ever been annoyed with the Emacs bell? Aside from disabling it, you can make it slightly less annoying by using a visual error indicator in place of an audible bell. There’s a Visible Bell
setting included by default, but I find it quite aesthetically displeasing (at least on my nightly Mac build). I like this snipped a lot better (from EmacsWiki):
(defun my-terminal-visible-bell () "A friendlier visual bell effect." (invert-face 'mode-line) (run-with-timer 0.1 nil 'invert-face 'mode-line)) (setq visible-bell nil ring-bell-function 'my-terminal-visible-bell)
This snippet will flash your mode line instead.