author | Oleksandr Gavenko <gavenkoa@gmail.com> |
Wed, 03 Feb 2010 23:54:34 +0200 | |
changeset 300 | 0f55e6d6aea3 |
parent 279 | fd6164dfec82 |
child 305 | 732fe4548ed4 |
permissions | -rw-r--r-- |
273
3b0d646154dc
Added base incomplete bat-file mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff
changeset
|
1 |
;;; bat-file-mode.el --- batch file major mode |
3b0d646154dc
Added base incomplete bat-file mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff
changeset
|
2 |
|
3b0d646154dc
Added base incomplete bat-file mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff
changeset
|
3 |
;; Copyright (C) 2010 by Oleksandr Gavenko <gavenkoa@gmail.com> |
3b0d646154dc
Added base incomplete bat-file mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff
changeset
|
4 |
|
279
fd6164dfec82
Update copyright statement and year.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
273
diff
changeset
|
5 |
;; You can do anything with this file without any warranty. |
fd6164dfec82
Update copyright statement and year.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
273
diff
changeset
|
6 |
|
273
3b0d646154dc
Added base incomplete bat-file mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff
changeset
|
7 |
;; Author: Oleksandr Gavenko <gavenkoa@gmail.com> |
3b0d646154dc
Added base incomplete bat-file mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff
changeset
|
8 |
;; Maintainer: Oleksandr Gavenko <gavenkoa@gmail.com> |
3b0d646154dc
Added base incomplete bat-file mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff
changeset
|
9 |
;; Created: 2010-01-28 |
3b0d646154dc
Added base incomplete bat-file mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff
changeset
|
10 |
;; Version: 0.1 |
3b0d646154dc
Added base incomplete bat-file mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff
changeset
|
11 |
;; Keywords: languages |
3b0d646154dc
Added base incomplete bat-file mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff
changeset
|
12 |
|
3b0d646154dc
Added base incomplete bat-file mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff
changeset
|
13 |
;;; Commentary: |
3b0d646154dc
Added base incomplete bat-file mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff
changeset
|
14 |
;; |
3b0d646154dc
Added base incomplete bat-file mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff
changeset
|
15 |
;; Very pure highlighting and not all available syntax. |
3b0d646154dc
Added base incomplete bat-file mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff
changeset
|
16 |
|
3b0d646154dc
Added base incomplete bat-file mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff
changeset
|
17 |
;;; Code: |
3b0d646154dc
Added base incomplete bat-file mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff
changeset
|
18 |
|
3b0d646154dc
Added base incomplete bat-file mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff
changeset
|
19 |
;;;###autoload |
3b0d646154dc
Added base incomplete bat-file mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff
changeset
|
20 |
(define-generic-mode 'bat-file-mode |
3b0d646154dc
Added base incomplete bat-file mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff
changeset
|
21 |
(list "REM " ":: ") |
3b0d646154dc
Added base incomplete bat-file mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff
changeset
|
22 |
nil |
3b0d646154dc
Added base incomplete bat-file mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff
changeset
|
23 |
'( |
3b0d646154dc
Added base incomplete bat-file mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff
changeset
|
24 |
("\\(:[[:alnum:]_]+\\)" (1 'font-lock-function-name-face)) |
3b0d646154dc
Added base incomplete bat-file mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff
changeset
|
25 |
("\\<\\([iI][fF]\\|[fF][oO][rR]\\|[gG][oO][tT][oO]\\|[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)) |
3b0d646154dc
Added base incomplete bat-file mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff
changeset
|
26 |
("\\(:[[:alpha:]][[:alnum:]_]*\\)" (1 'font-lock-function-name-face)) |
3b0d646154dc
Added base incomplete bat-file mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff
changeset
|
27 |
;; ("\\(\\%[a-z]\\)" (1 'font-lock-reference-face)) |
3b0d646154dc
Added base incomplete bat-file mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff
changeset
|
28 |
;; ("\\(%\\sw+%\\)" (1 'font-lock-reference-face)) |
3b0d646154dc
Added base incomplete bat-file mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff
changeset
|
29 |
;; ("\\(%[0-9]\\)" (1 'font-lock-reference-face)) |
3b0d646154dc
Added base incomplete bat-file mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff
changeset
|
30 |
) |
3b0d646154dc
Added base incomplete bat-file mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff
changeset
|
31 |
(list "\\.\\([bB][aA][tT]\\|[cC][mM][dD]\\|[nN][sS][hH]\\)$") |
3b0d646154dc
Added base incomplete bat-file mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff
changeset
|
32 |
nil |
3b0d646154dc
Added base incomplete bat-file mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff
changeset
|
33 |
"Generic mode for batch files.") |
3b0d646154dc
Added base incomplete bat-file mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff
changeset
|
34 |
|
3b0d646154dc
Added base incomplete bat-file mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff
changeset
|
35 |
;; (autoload 'myfunction "mypackage" "Do what I say." t) |
3b0d646154dc
Added base incomplete bat-file mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff
changeset
|
36 |
|
3b0d646154dc
Added base incomplete bat-file mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff
changeset
|
37 |
(setq bat-file-mode-hook |
3b0d646154dc
Added base incomplete bat-file mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff
changeset
|
38 |
(lambda () |
3b0d646154dc
Added base incomplete bat-file mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff
changeset
|
39 |
(modify-syntax-entry ?\" "\"") |
3b0d646154dc
Added base incomplete bat-file mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff
changeset
|
40 |
(modify-syntax-entry ?' "\"") |
3b0d646154dc
Added base incomplete bat-file mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff
changeset
|
41 |
(modify-syntax-entry ?\\ "\\") |
3b0d646154dc
Added base incomplete bat-file mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff
changeset
|
42 |
(modify-syntax-entry ?= ".") |
3b0d646154dc
Added base incomplete bat-file mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff
changeset
|
43 |
(modify-syntax-entry ?_ "w") |
3b0d646154dc
Added base incomplete bat-file mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff
changeset
|
44 |
) |
3b0d646154dc
Added base incomplete bat-file mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff
changeset
|
45 |
) |
3b0d646154dc
Added base incomplete bat-file mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff
changeset
|
46 |
|
3b0d646154dc
Added base incomplete bat-file mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff
changeset
|
47 |
;; (add-hook |
3b0d646154dc
Added base incomplete bat-file mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff
changeset
|
48 |
;; 'bat-file-mode-hook |
3b0d646154dc
Added base incomplete bat-file mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff
changeset
|
49 |
;; (lambda () |
3b0d646154dc
Added base incomplete bat-file mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff
changeset
|
50 |
;; (modify-syntax-entry ?\" "\"") |
3b0d646154dc
Added base incomplete bat-file mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff
changeset
|
51 |
;; (modify-syntax-entry ?' "\"") |
3b0d646154dc
Added base incomplete bat-file mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff
changeset
|
52 |
;; (modify-syntax-entry ?\\ "\\") |
3b0d646154dc
Added base incomplete bat-file mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff
changeset
|
53 |
;; (modify-syntax-entry ?= ".") |
3b0d646154dc
Added base incomplete bat-file mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff
changeset
|
54 |
;; (modify-syntax-entry ?_ "w") |
3b0d646154dc
Added base incomplete bat-file mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff
changeset
|
55 |
;; )) |
3b0d646154dc
Added base incomplete bat-file mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff
changeset
|
56 |
|
3b0d646154dc
Added base incomplete bat-file mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff
changeset
|
57 |
;; .bat file gramma: |
3b0d646154dc
Added base incomplete bat-file mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff
changeset
|
58 |
;; |
3b0d646154dc
Added base incomplete bat-file mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff
changeset
|
59 |
;; cmd ::= path { arg } |
3b0d646154dc
Added base incomplete bat-file mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff
changeset
|
60 |
;; path ::= |
3b0d646154dc
Added base incomplete bat-file mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff
changeset
|
61 |
|
3b0d646154dc
Added base incomplete bat-file mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff
changeset
|
62 |
(provide 'bat-file-mode) |
3b0d646154dc
Added base incomplete bat-file mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff
changeset
|
63 |
|
3b0d646154dc
Added base incomplete bat-file mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff
changeset
|
64 |
;;; bat-file-mode.el ends here |