~ chicken-core (chicken-5) /misc/flymake-chicken.el
Trap1;;;; flymake for CHICKEN23;; Taken from:4;; https://github.com/sroccaserra/emacs/blob/master/flymake-lua.el56;;7;; Flymake for Lua8;;9;; Usage:10;; (require 'flymake-lua)11;; (add-hook 'lua-mode-hook 'flymake-lua-load)12;;13;; Note: litterally stolen from Steve Purcell's Flymake Ruby.14;; See http://github.com/purcell/emacs.d/blob/master/site-lisp/flymake-ruby/flymake-ruby.el15;;1617(require 'flymake)1819(defgroup flymake-chicken nil20 "Flymake CHICKEN Customizations")2122(defcustom flymake-chicken-program "chicken-flymake"23 "How to invoke csc."24 :type 'file25 :group 'flymake-chicken)2627(defun flymake-create-temp-in-system-tempdir (filename prefix)28 (make-temp-file (or prefix "flymake-chicken")))2930(defun flymake-chicken-init ()31 (list flymake-chicken-program32 (list (flymake-init-create-temp-buffer-copy33 'flymake-create-temp-in-system-tempdir))))3435(defvar flymake-chicken-allowed-file-name-masks36 '(("\\.scm\\'" flymake-chicken-init)))3738(defvar flymake-chicken-err-line-patterns39 '((" *(\\(.+\\):\\([0-9]+\\)) *"40 1 2)41 ("\\(Error\\|Warning\\|Note\\): *(line \\([0-9.]*\\))"42 nil 2)))4344;(defvar flymake-lua-err-line-patterns45; '(("^.*luac[0-9.]*\\(.exe\\)?: *\\(.*\\):\\([0-9]+\\): \\(.*\\)$"46; 2 3 nil 4)))4748;;;###autoload49(defun flymake-chicken-mode ()50 (interactive)51 (when (and (not (null buffer-file-name)) (file-writable-p buffer-file-name))52 (set (make-local-variable 'flymake-allowed-file-name-masks) flymake-chicken-allowed-file-name-masks)53 (set (make-local-variable 'flymake-err-line-patterns) flymake-chicken-err-line-patterns)54 (flymake-mode t)))5556(provide 'flymake-chicken)