とりあえずJSとHTMLはできたので設定メモ。後で書き足すかも。
CSSはどうやるのかわからん。
(CSSの設定などはこちら『CSS のリアルタイム文法チェックを Emacs の Flymake で Python の cssutils を使ってやってみた - 牌語備忘録 - pygo』)
;;;;;;;;;;;;; ;; flymake ;; http://www.emacswiki.org/emacs/FlyMake (require 'flymake) (when (load "flymake" t) ;; JavaScript with Google Closure ;; http://www.emacswiki.org/emacs/FlymakeJavaScript ;; http://code.google.com/intl/ja/closure/utilities/docs/linter_howto.html ;; http://d.hatena.ne.jp/Ehren/20101006/1286386194 ;; http://d.hatena.ne.jp/Ehren/20110912/1315804158 (defun flymake-gjslint-init () "Initialize flymake for gjslint" (let* ((temp-file (flymake-init-create-temp-buffer-copy 'flymake-create-temp-inplace))) (list "/usr/local/bin/gjslint" (list temp-file "--nosummary")))) (add-to-list 'flymake-allowed-file-name-masks '(".+\\.js$" flymake-gjslint-init flymake-simple-cleanup flymake-get-real-file-name)) (add-to-list 'flymake-err-line-patterns '("^Line \\([[:digit:]]+\\), E:[[:digit:]]+: " nil 1 nil)) (add-hook 'js-mode-hook (lambda () (flymake-mode t))) ;; FlymakeHtml ;; http://www.emacswiki.org/emacs/FlymakeHtml (delete '("\\.html?\\'" flymake-xml-init) flymake-allowed-file-name-masks) (defun flymake-html-init () (let* ((temp-file (flymake-init-create-temp-buffer-copy 'flymake-create-temp-inplace)) (local-file (file-relative-name temp-file (file-name-directory buffer-file-name)))) ;; (list "tidy" (list local-file)))) (list "tidy" (list "-utf8" local-file)))) (add-to-list 'flymake-allowed-file-name-masks '("\\.html$\\|\\.ctp" flymake-html-init)) (add-to-list 'flymake-err-line-patterns '("line \\([0-9]+\\) column \\([0-9]+\\) - \\(Warning\\|Error\\): \\(.*\\)" nil 1 2 4)) (add-hook 'html-mode-hook '(lambda () (flymake-mode t))) (add-hook 'nxml-mode-hook '(lambda () (flymake-mode t))) ;;;;;;;;;;;;;;;;;; ;; error avoidance ;; http://d.hatena.ne.jp/sugyan/20100705/1278306885 (defadvice flymake-post-syntax-check (before flymake-force-check-was-interrupted) (setq flymake-check-was-interrupted t)) (ad-activate 'flymake-post-syntax-check) ;; option (setq flymake-gui-warnings-enabled nil) (load-library "flymake-cursor") )