coffeelintnode - a coffee-script lint server for more expedient linting
I'm no longer maintaining this fork
I've stoped using Emacs in favour of Sublime Text 2 since I got a Mac and thus I'm no longer updating this repository. However, there is a more upto date fork by Andrei Neculau at andreineculau.
Most of the explanation here is copied from lintnode.
See also JSLint.
$ node coffeelintnode/app.js --port 3004 & Express started at http://localhost:3004/ in development mode $ coffeelintnode/coffeelint.curl myfilthycode.coffee
The exit code of coffeelint.curl is currently not nearly as relevant as the output on standard out. The output should be mostly compatible with JSLint's Rhino version but it's missing the 'character' location as coffeelint doesn't support that.
See the included flymake-coffeelint.el.
The following configuration should be useful in getting it to work:
;; make coffeelinenode work nicely! (add-to-list 'load-path "path-to-coffeelintnode") (require 'flymake-coffeelint) ;; Make sure we can find the lintnode executable (setq coffeelintnode-location "path-to-coffeelintnode") (setq coffeelintnode-node-program "path-to-node-executable") (setq coffeelintnode-coffeelint-excludes (list 'max_line_length)) (setq coffeelintnode-coffeelint-includes '()) (setq coffeelintnode-coffeelint-set "") ;; Start the server when we first open a coffee file and start checking (setq coffeelintnode-autostart 'true) (add-hook 'coffee-mode-hook (lambda () (coffeelintnode-hook) (unless (eq buffer-file-name nil) (flymake-mode 1)) ;dont invoke flymake on temporary buffers for the interpreter (local-set-key [f2] 'flymake-goto-prev-error) (local-set-key [f3] 'flymake-goto-next-error)))
coffeelint_port may be passed on the node command line with the --port parameter. It defaults to 3004.
coffeelint_options can be configured by passing the --exclude option to app.js. e.g.
$ node app.js --exclude no_tabs,no_plusplus
$ node app.js --set max_line_length:80,indentation:2
Alternatively they can be configured within emacs by setting the variable lintnode-jslint-excludes
For documentation on coffeelint's options, see coffeelint options.
This project is hosted at github, which has a wiki and an issue tracker:
This software is distributed under the same license as JSLint, which looks like the MIT License with one additional clause:
The Software shall be used for Good, not Evil.