#+TITLE: CoffeeScript layer
#+TAGS: general|js|layer|multi-paradigm|programming
[[file:img/coffee.png]]
* Table of Contents :TOC_5_gh:noexport:
- [[#description][Description]]
- [[#features][Features:]]
- [[#install][Install]]
- [[#configuration][Configuration]]
- [[#linting][Linting]]
- [[#key-bindings][Key bindings]]
- [[#repl][REPL]]
* Description
This layer adds support for the CoffeeScript language using [[https://github.com/defunkt/coffee-mode][coffee-mode]].
** Features:
- Syntax highlighting
- Auto-completion with =auto-completion= layer
- Syntax checking and linting with =syntax-checking= layer
- =Org-Babel= integration
- REPL support
* Install
To use this configuration layer, add it to your =~/.spacemacs=. You will need to
add =coffeescript= to the existing =dotspacemacs-configuration-layers= list in
this file.
* Configuration
** Linting
To enable linting, install [[https://github.com/clutchski/coffeelint][CoffeeLint]] with the following command:
#+BEGIN_SRC sh
npm install -g coffeelint
#+END_SRC
* Key bindings
| Key binding | Description |
|-------------+------------------------|
| ~SPC m c c~ | Compile buffer |
| ~SPC m c r~ | Compile region |
| ~SPC m T c~ | Toggle compile on save |
** REPL
|-------------+----------------------------------------------------|
| ~SPC m '~ | Create or go to REPL |
| ~SPC m s b~ | Send buffer to REPL |
| ~SPC m s i~ | Create or go to REPL |
| ~SPC m s l~ | Send line to REPL |
| ~SPC m s r~ | send current region to the REPL and stay in buffer |