Awesome
rainbow-delimiters
rainbow-delimiters
is a "rainbow parentheses"-like mode which highlights
delimiters such as parentheses, brackets or braces according to their depth.
Each successive level is highlighted in a different color. This makes it easy to
spot matching delimiters, orient yourself in the code, and tell which statements
are at a given depth.
Great care has been taken to make this mode fast. You shouldn't see any change in scrolling or editing speed when it's on even when working in delimiter-rich languages like Clojure or Emacs Lisp. It can be used with any language.
You can customize the colors rainbow-delimiters
uses. The default colors are
intentionally subtle; they are unobtrusive enough to make the mode worth looking
at even if you usually don't like rainbow parentheses modes. A number of major
color themes such as Zenburn and Solarized have added their own faces for the
mode.
This is the official github repository for rainbow-delimiters
.
The latest release of rainbow-delimiters
is always found at
https://github.com/Fanael/rainbow-delimiters/tree/master
Installation
The recommended way is to use MELPA or
MELPA Stable. If either is in your
package-archives
, do
M-x package-install RET rainbow-delimiters RET
Otherwise, open rainbow-delimiters.el
in Emacs and use
M-x package-install-from-buffer
Any other methods of installation are unsupported.
Usage
To toggle the mode in the current buffer:
M-x rainbow-delimiters-mode
To start the mode automatically in foo-mode
, add the following to your init
file:
(add-hook 'foo-mode-hook #'rainbow-delimiters-mode)
To start the mode automatically in most programming modes (Emacs 24 and above):
(add-hook 'prog-mode-hook #'rainbow-delimiters-mode)
Global mode
There's no global-rainbow-delimiters-mode
anymore. It used to exist, but it
was impossible to keep it from breaking some major modes. It's strongly
recommended to use major mode hooks instead, as shown above. There's nothing
stopping you from defining global-rainbow-delimiters-mode
yourself, but if it
breaks something, you're on your own.
Customization
To customize various options, including the color theme:
M-x customize-group rainbow-delimiters
You can specify custom colors by customizing following faces:
- Faces take the form
rainbow-delimiters-depth-N-face
, with N being the depth. Depth begins at 1, the outermost color. Faces exist for depths 1-9. - The unmatched delimiter face:
rainbow-delimiters-unmatched-face
. - The mismatched delimiter face:
rainbow-delimiters-mismatched-face
.