less-css-mode
Pixate もそうですがこのところ LESS で css を書く機会が多いのでさぼっていた emacs での less-css-mode.el を導入。
インストール
M-x list-packages
で ELPA から less-css-mode をインストール。less-css-mode は lessc コマンドがあると flymake で syntax check そのほかをしてくれるので
% node -g install less
で入れておく。
設定
;;; init.el (require 'less-css-mode) (setq exec-path (cons (expand-file-name "~/.nodebrew/current/bin") exec-path)) ; (setq less-css-compile-at-save t) ;; flymake (add-hook 'less-css-mode-hook '(lambda () (define-key less-css-mode-map "\C-cd" 'flymake-display-err-minibuf))) (add-hook 'less-css-mode-hook (lambda () (flymake-mode t))) ;; auto-complete (add-to-list 'ac-modes 'less-css-mode) (add-hook 'less-css-mode-hook 'ac-css-mode-setup)
flymake-display-err-minibuf
flymake のエラーをミニバッファに表示する関数。自分は他の mode とも使い回している、これをどこかで定義しておく。
;; エラーをミニバッファに表示 ;; http://d.hatena.ne.jp/xcezx/20080314/1205475020 (defun flymake-display-err-minibuf () "Displays the error/warning for the current line in the minibuffer" (interactive) (let* ((line-no (flymake-current-line-no)) (line-err-info-list (nth 0 (flymake-find-err-info flymake-err-info line-no))) (count (length line-err-info-list))) (while (> count 0) (when line-err-info-list (let* ((file (flymake-ler-file (nth (1- count) line-err-info-list))) (full-file (flymake-ler-full-file (nth (1- count) line-err-info-list))) (text (flymake-ler-text (nth (1- count) line-err-info-list))) (line (flymake-ler-line (nth (1- count) line-err-info-list)))) (message "[%s] %s" line text))) (setq count (1- count)))))
*1:手動でやるときは C-cC-c