## Features
-- Light and dark (customizable) color schemes.
+- Light and dark customizable color schemes.
- JavaScript support:
- Script, function and block scopes (and even `catch` block scopes).
- - Very fast for files under 1000 lines.
+ - Node.js "file-level" scope detection.
- Emacs Lisp support:
- `defun`, `lambda`, `let`, `let*`, `cond`, `condition-case`, `defadvice`,
`dolist`, `quote`, `backquote` and backquote splicing.
- - Instantaneous lazy coloring, 8000 lines-per-second full coloring.
- Works in `eval-expression` too.
## Installation
Requires Emacs 24.3+. JavaScript language support requires
[js2-mode](https://github.com/mooz/js2-mode).
-`M-x package-install RET context-coloring RET` and add the following to your
-init file:
+To install, run the command `M-x package-install RET context-coloring RET`, and
+then add the following to your init file:
```lisp
;; JavaScript:
(add-hook 'emacs-lisp-mode-hook #'context-coloring-mode)
;; eval-expression:
-(add-hook 'minibuffer-setup-hook #'context-coloring-mode)
+(add-hook 'eval-expression-minibuffer-setup-hook #'context-coloring-mode) ; 24.4+
+(add-hook 'minibuffer-setup-hook #'context-coloring-mode) ; 24.3
```
-## Customizing
+## Color Schemes
-### Options
+The [Zenburn](https://github.com/bbatsov/zenburn-emacs) theme, featured in the
+screenshot above, now supports context coloring.
+
+You can define your own colors by customizing faces like
+`context-coloring-level-N-face`, where N is a number starting from 0.
+
+[See here](https://gist.github.com/jacksonrayhamilton/6b89ca3b85182c490816) for
+some color schemes for popular custom themes.
+
+## Options
- `context-coloring-syntactic-comments` (default: `t`): If non-nil, also color
comments using `font-lock`.
- `context-coloring-syntactic-strings` (default: `t`): If non-nil, also color
strings using `font-lock`.
-- `context-coloring-default-delay` (default: `0.25`): Default delay between a
- buffer update and colorization.
- `context-coloring-javascript-block-scopes` (default: `nil`): If non-nil, also
color block scopes in the scope hierarchy in JavaScript.
-
-### Color Schemes
-
-Color schemes for custom themes are automatically applied when those themes are
-active. Built-in theme support is available for: `ample`, `anti-zenburn`,
-`grandshell`, `leuven`, `monokai`, `solarized`, `spacegray`, `tango` and
-`zenburn`.
-
-You can define your own theme colors too:
-
-```lisp
-(context-coloring-define-theme
- 'zenburn
- :colors '("#dcdccc"
- "#93e0e3"
- "#bfebbf"
- "#f0dfaf"
- "#dfaf8f"
- "#cc9393"
- "#dc8cc3"
- "#94bff3"
- "#9fc59f"
- "#d0bf8f"
- "#dca3a3"))
-```
-
-See `C-h f context-coloring-define-theme` for more info on theme parameters.
+- `context-coloring-javascript-detect-top-level-scope` (default: `t`): If
+ non-nil, detect when to use file-level scope.