Fix extension for bat file.
;;; bat-file-mode.el --- batch file major mode
;; Copyright (C) 2010 by Oleksandr Gavenko <gavenkoa@gmail.com>
;; You can do anything with this file without any warranty.
;; Author: Oleksandr Gavenko <gavenkoa@gmail.com>
;; Maintainer: Oleksandr Gavenko <gavenkoa@gmail.com>
;; Created: 2010-01-28
;; Version: 0.1
;; Keywords: languages
;;; Commentary:
;;
;; Very pure highlighting and not all available syntax.
;;; Code:
;;;###autoload
(define-generic-mode 'bat-file-mode
(list "REM " ":: ")
nil
'(
("\\(:[[:alnum:]_]+\\)" (1 'font-lock-function-name-face))
("\\<\\([iI][fF]\\|[eE][lL][sS][eE]\\|[fF][oO][rR]\\|[iI][nN]\\|[dD][oO]\\|[gG][oO][tT][oO]\
\\|[nN][oO][tT]\\|[eE][rR][rR][oO][rR][lL][eE][vV][eE][lL]\
\\|[pP][aA][uU][sS][eE]\\|[eE][cC][hH][oO]\\|[pP][rR][oO][mM][pP][tT]\
\\|[cC][aA][lL][lL]\\|[sS][eE][tT]\\|[sS][tT][aA][rR][tT]\\)\\>" (1 'font-lock-keyword-face))
("\\(:[[:alpha:]][[:alnum:]_]*\\)" (1 'font-lock-function-name-face))
("[gG][oO][tT][oO][[:blank:]]+\\([[:alpha:]][[:alnum:]_]*\\)" (1 'font-lock-function-name-face))
("\\(%[[:digit:]]\\|%%[[:alpha:]]\\|%[[:alpha:]][[:alnum:]]*%\\)" (1 'font-lock-variable-name-face))
("[sS][eE][tT][[:blank:]]+\\([[:alpha:]][[:alnum:]]*\\)[[:blank:]]*=" (1 'font-lock-variable-name-face))
("[[:blank:]]+\\([-/][[:alnum:]_.]+\\)" (1 'font-lock-preprocessor-face))
;; ("\\(\\%[a-z]\\)" (1 'font-lock-reference-face))
;; ("\\(%\\sw+%\\)" (1 'font-lock-reference-face))
;; ("\\(%[0-9]\\)" (1 'font-lock-reference-face))
)
(list "\\.\\([bB][aA][tT]\\|[cC][mM][dD]\\)$")
nil
"Generic mode for batch files.")
(add-hook
'bat-file-mode-hook
(lambda ()
(modify-syntax-entry ?\" "\"")
(modify-syntax-entry ?' "\"")
(modify-syntax-entry ?\\ "\\")
(modify-syntax-entry ?% ".")
(modify-syntax-entry ?= ".")
(modify-syntax-entry ?_ "w")
)
)
(provide 'bat-file-mode)
;;; bat-file-mode.el ends here