Mercurial > emacs
comparison lisp/generic-x.el @ 60774:65f5b049afac
Don't prevent compilation. Don't require generic.
Follow coding conventions. Minor code cleanup.
(etc-fstab-generic-mode): Add some keywords.
author | Lute Kamstra <lute@gnu.org> |
---|---|
date | Mon, 21 Mar 2005 17:10:57 +0000 |
parents | c5e477f739fb |
children | 09aa085cd248 |
comparison
equal
deleted
inserted
replaced
60773:1771db839aa6 | 60774:65f5b049afac |
---|---|
1 ;;; generic-x.el --- Extra Modes for generic-mode -*- no-byte-compile: t -*- | 1 ;;; generic-x.el --- Extra Modes for generic-mode |
2 | 2 |
3 ;; Copyright (C) 1997, 1998, 2003 Free Software Foundation, Inc. | 3 ;; Copyright (C) 1997, 1998, 2003, 2005 Free Software Foundation, Inc. |
4 | 4 |
5 ;; Author: Peter Breton <pbreton@cs.umb.edu> | 5 ;; Author: Peter Breton <pbreton@cs.umb.edu> |
6 ;; Created: Tue Oct 08 1996 | 6 ;; Created: Tue Oct 08 1996 |
7 ;; Keywords: generic, comment, font-lock | 7 ;; Keywords: generic, comment, font-lock |
8 | 8 |
32 ;; Add this line to your .emacs file: | 32 ;; Add this line to your .emacs file: |
33 ;; | 33 ;; |
34 ;; (require 'generic-x) | 34 ;; (require 'generic-x) |
35 ;; | 35 ;; |
36 ;; You can decide which modes to load by setting the variable | 36 ;; You can decide which modes to load by setting the variable |
37 ;; `generic-extras-enable-list'. Some platform-specific modes are | 37 ;; `generic-extras-enable-list'. Some platform-specific modes are |
38 ;; affected by the variables `generic-define-mswindows-modes' and | 38 ;; affected by the variables `generic-define-mswindows-modes' and |
39 ;; `generic-define-unix-modes' (which see). | 39 ;; `generic-define-unix-modes' (which see). |
40 ;; | 40 ;; |
41 ;; You can also send in new modes; if the file types a reasonably common, | 41 ;; You can also send in new modes; if the file types a reasonably common, |
42 ;; we would like to install them. | 42 ;; we would like to install them. |
90 ;; "[^\n\r]". This will make the rules behave just as before, but they | 90 ;; "[^\n\r]". This will make the rules behave just as before, but they |
91 ;; will work together with selective-display. | 91 ;; will work together with selective-display. |
92 | 92 |
93 ;;; Code: | 93 ;;; Code: |
94 | 94 |
95 (require 'generic) | |
96 (require 'font-lock) | 95 (require 'font-lock) |
97 | 96 |
98 (defgroup generic-x nil | 97 (defgroup generic-x nil |
99 "Extra modes for generic mode." | 98 "Extra modes for generic mode." |
100 :prefix "generic-" | 99 :prefix "generic-" |
101 :group 'generic | 100 :group 'generic |
102 :version "20.3") | 101 :version "20.3") |
103 | 102 |
104 (defcustom generic-extras-enable-list nil | 103 (defcustom generic-extras-enable-list nil |
105 "*List of generic modes to enable by default. | 104 "*List of generic modes to enable by default. |
106 Each entry in the list should be a symbol. | 105 Each entry in the list should be a symbol. The variables |
107 The variables `generic-define-mswindows-modes' and `generic-define-unix-modes' | 106 `generic-define-mswindows-modes' and `generic-define-unix-modes' |
108 also affect which generic modes are defined. | 107 also affect which generic modes are defined. Please note that if |
109 Please note that if you set this variable after generic-x is loaded, | 108 you set this variable after generic-x is loaded, you must reload |
110 you must reload generic-x to enable the specified modes." | 109 generic-x to enable the specified modes." |
111 :group 'generic-x | 110 :group 'generic-x |
112 :type '(repeat sexp) | 111 :type '(repeat sexp)) |
113 ) | |
114 | 112 |
115 (defcustom generic-define-mswindows-modes | 113 (defcustom generic-define-mswindows-modes |
116 (memq system-type (list 'windows-nt 'ms-dos)) | 114 (memq system-type '(windows-nt ms-dos)) |
117 "*If non-nil, some MS-Windows specific generic modes will be defined." | 115 "*If non-nil, some MS-Windows specific generic modes will be defined." |
118 :group 'generic-x | 116 :group 'generic-x |
119 :type 'boolean | 117 :type 'boolean) |
120 ) | |
121 | 118 |
122 (defcustom generic-define-unix-modes | 119 (defcustom generic-define-unix-modes |
123 (not (memq system-type (list 'windows-nt 'ms-dos))) | 120 (not (memq system-type '(windows-nt ms-dos))) |
124 "*If non-nil, some Unix specific generic modes will be defined." | 121 "*If non-nil, some Unix specific generic modes will be defined." |
125 :group 'generic-x | 122 :group 'generic-x |
126 :type 'boolean | 123 :type 'boolean) |
127 ) | |
128 | 124 |
129 (and generic-define-mswindows-modes | 125 (and generic-define-mswindows-modes |
130 (setq generic-extras-enable-list | 126 (setq generic-extras-enable-list |
131 (append (list 'bat-generic-mode 'ini-generic-mode | 127 (append (list 'bat-generic-mode |
132 'inf-generic-mode 'rc-generic-mode | 128 'ini-generic-mode |
133 'reg-generic-mode 'rul-generic-mode | 129 'inf-generic-mode |
134 'hosts-generic-mode | 130 'rc-generic-mode |
135 'apache-conf-generic-mode | 131 'reg-generic-mode |
136 'apache-log-generic-mode | 132 'rul-generic-mode |
137 ) | 133 'hosts-generic-mode |
138 generic-extras-enable-list))) | 134 'apache-conf-generic-mode |
135 'apache-log-generic-mode) | |
136 generic-extras-enable-list))) | |
139 | 137 |
140 (and generic-define-unix-modes | 138 (and generic-define-unix-modes |
141 (setq generic-extras-enable-list | 139 (setq generic-extras-enable-list |
142 (append (list 'apache-conf-generic-mode | 140 (append (list 'apache-conf-generic-mode |
143 'apache-log-generic-mode | 141 'apache-log-generic-mode |
144 'samba-generic-mode | 142 'samba-generic-mode |
145 'hosts-generic-mode 'fvwm-generic-mode | 143 'hosts-generic-mode |
144 'fvwm-generic-mode | |
146 'x-resource-generic-mode | 145 'x-resource-generic-mode |
147 'alias-generic-mode | 146 'alias-generic-mode |
148 'inetd-conf-generic-mode | 147 'inetd-conf-generic-mode |
149 'etc-services-generic-mode | 148 'etc-services-generic-mode |
150 'etc-passwd-generic-mode | 149 'etc-passwd-generic-mode |
151 'etc-fstab-generic-mode | 150 'etc-fstab-generic-mode) |
152 ) | |
153 generic-extras-enable-list))) | 151 generic-extras-enable-list))) |
154 | 152 |
155 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | 153 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
156 ;; Generic-modes | 154 ;; Generic-modes |
157 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | 155 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
158 | 156 |
159 ;;; Apache | 157 ;;; Apache |
160 (and | 158 (when (memq 'apache-conf-generic-mode generic-extras-enable-list) |
161 (memq 'apache-conf-generic-mode generic-extras-enable-list) | 159 |
162 | 160 (define-generic-mode apache-conf-generic-mode |
163 (define-generic-mode 'apache-conf-generic-mode | 161 (list ?#) |
164 (list ?#) | 162 nil |
165 nil | 163 '(("^\\s-*\\(<.*>\\)" 1 'font-lock-constant-face) |
166 '(("^\\s-*\\(<.*>\\)" 1 'font-lock-constant-face) | 164 ("^\\s-*\\(\\sw+\\)\\s-" 1 'font-lock-variable-name-face)) |
167 ("^\\s-*\\(\\sw+\\)\\s-" 1 'font-lock-variable-name-face)) | 165 (list "srm\\.conf\\'" "httpd\\.conf\\'" "access\\.conf\\'") |
168 (list "srm\\.conf\\'" "httpd\\.conf\\'" "access\\.conf\\'") | 166 (list |
169 (list | 167 (function |
170 (function | 168 (lambda () |
171 (lambda () | |
172 (setq imenu-generic-expression | 169 (setq imenu-generic-expression |
173 '((nil "^\\([-A-Za-z0-9_]+\\)" 1) | 170 '((nil "^\\([-A-Za-z0-9_]+\\)" 1) |
174 ("*Directories*" "^\\s-*<Directory\\s-*\\([^>]+\\)>" 1) | 171 ("*Directories*" "^\\s-*<Directory\\s-*\\([^>]+\\)>" 1) |
175 ("*Locations*" "^\\s-*<Location\\s-*\\([^>]+\\)>" 1) | 172 ("*Locations*" "^\\s-*<Location\\s-*\\([^>]+\\)>" 1)))))) |
176 )) | 173 "Generic mode for Apache or HTTPD configuration files.")) |
177 ))) | 174 |
178 "Generic mode for Apache or HTTPD configuration files.")) | 175 (when (memq 'apache-log-generic-mode generic-extras-enable-list) |
179 | 176 |
180 (and | 177 (define-generic-mode apache-log-generic-mode |
181 (memq 'apache-log-generic-mode generic-extras-enable-list) | |
182 | |
183 (define-generic-mode 'apache-log-generic-mode | |
184 nil | 178 nil |
185 nil | 179 nil |
186 ;; Hostname ? user date request return-code number-of-bytes | 180 ;; Hostname ? user date request return-code number-of-bytes |
187 '(("^\\([-a-zA-z0-9.]+\\) - [-A-Za-z]+ \\(\\[.*\\]\\)" | 181 '(("^\\([-a-zA-z0-9.]+\\) - [-A-Za-z]+ \\(\\[.*\\]\\)" |
188 (1 font-lock-constant-face) | 182 (1 font-lock-constant-face) |
189 (2 font-lock-variable-name-face)) | 183 (2 font-lock-variable-name-face))) |
190 ) | |
191 (list "access_log\\'") | 184 (list "access_log\\'") |
192 nil | 185 nil |
193 "Mode for Apache log files")) | 186 "Mode for Apache log files")) |
194 | 187 |
195 ;;; Samba | 188 ;;; Samba |
196 (and | 189 (when (memq 'samba-generic-mode generic-extras-enable-list) |
197 (memq 'samba-generic-mode generic-extras-enable-list) | 190 |
198 | 191 (define-generic-mode samba-generic-mode |
199 (define-generic-mode 'samba-generic-mode | 192 (list ?\; ?#) |
200 (list ?\; ?#) | 193 nil |
201 nil | 194 '(("^\\(\\[.*\\]\\)" 1 'font-lock-constant-face) |
202 '( | 195 ("^\\s-*\\(.+\\)=\\([^\r\n]*\\)" |
203 ("^\\(\\[.*\\]\\)" 1 'font-lock-constant-face) | 196 (1 'font-lock-variable-name-face) |
204 ("^\\s-*\\(.+\\)=\\([^\r\n]*\\)" | 197 (2 'font-lock-type-face))) |
205 (1 'font-lock-variable-name-face) | 198 (list "smb\\.conf\\'") |
206 (2 'font-lock-type-face)) | 199 (list 'generic-bracket-support) |
207 ) | 200 "Generic mode for Samba configuration files.")) |
208 (list "smb\\.conf\\'") | |
209 (list 'generic-bracket-support) | |
210 "Generic mode for Samba configuration files.")) | |
211 | 201 |
212 ;;; Fvwm | 202 ;;; Fvwm |
213 ;; This is pretty basic. Also, modes for other window managers could | 203 ;; This is pretty basic. Also, modes for other window managers could |
214 ;; be defined as well. | 204 ;; be defined as well. |
215 (and | 205 (when (memq 'fvwm-generic-mode generic-extras-enable-list) |
216 (memq 'fvwm-generic-mode generic-extras-enable-list) | 206 |
217 | 207 (define-generic-mode fvwm-generic-mode |
218 (define-generic-mode 'fvwm-generic-mode | 208 (list ?#) |
219 (list ?#) | 209 (list |
220 (list | 210 "AddToMenu" |
221 "AddToMenu" | 211 "AddToFunc" |
222 "AddToFunc" | 212 "ButtonStyle" |
223 "ButtonStyle" | 213 "EndFunction" |
224 "EndFunction" | 214 "EndPopup" |
225 "EndPopup" | 215 "Function" |
226 "Function" | 216 "IconPath" |
227 "IconPath" | 217 "Key" |
228 "Key" | 218 "ModulePath" |
229 "ModulePath" | 219 "Mouse" |
230 "Mouse" | 220 "PixmapPath" |
231 "PixmapPath" | 221 "Popup" |
232 "Popup" | 222 "Style") |
233 "Style" | 223 nil |
234 ) | 224 (list "\\.fvwmrc\\'" "\\.fvwm2rc\\'") |
235 nil | 225 nil |
236 (list "\\.fvwmrc\\'" "\\.fvwm2rc\\'") | 226 "Generic mode for FVWM configuration files.")) |
237 nil | |
238 "Generic mode for FVWM configuration files.")) | |
239 | 227 |
240 ;;; X Resource | 228 ;;; X Resource |
241 ;; I'm pretty sure I've seen an actual mode to do this, but I don't | 229 ;; I'm pretty sure I've seen an actual mode to do this, but I don't |
242 ;; think it's standard with Emacs | 230 ;; think it's standard with Emacs |
243 (and | 231 (when (memq 'x-resource-generic-mode generic-extras-enable-list) |
244 (memq 'x-resource-generic-mode generic-extras-enable-list) | 232 |
245 | 233 (define-generic-mode x-resource-generic-mode |
246 (define-generic-mode 'x-resource-generic-mode | 234 (list ?!) |
247 (list ?!) | 235 nil |
248 nil | 236 '(("^\\([^:\n]+:\\)" 1 'font-lock-variable-name-face)) |
249 '(("^\\([^:\n]+:\\)" 1 'font-lock-variable-name-face)) | 237 (list "\\.Xdefaults\\'" "\\.Xresources\\'" "\\.Xenvironment\\'" "\\.ad\\'") |
250 (list "\\.Xdefaults\\'" "\\.Xresources\\'" "\\.Xenvironment\\'" "\\.ad\\'") | 238 nil |
251 nil | 239 "Generic mode for X Resource configuration files.")) |
252 "Generic mode for X Resource configuration files.")) | |
253 | 240 |
254 ;;; Hosts | 241 ;;; Hosts |
255 (and | 242 (when (memq 'hosts-generic-mode generic-extras-enable-list) |
256 (memq 'hosts-generic-mode generic-extras-enable-list) | 243 |
257 | 244 (define-generic-mode hosts-generic-mode |
258 (define-generic-mode 'hosts-generic-mode | 245 (list ?#) |
259 (list ?#) | 246 (list "localhost") |
260 (list "localhost") | 247 '(("\\([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+\\)" 1 'font-lock-constant-face)) |
261 '(("\\([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+\\)" 1 'font-lock-constant-face)) | 248 (list "[hH][oO][sS][tT][sS]\\'") |
262 (list "[hH][oO][sS][tT][sS]\\'") | 249 nil |
263 nil | 250 "Generic mode for HOSTS files.")) |
264 "Generic mode for HOSTS files.")) | |
265 | 251 |
266 ;;; Windows INF files | 252 ;;; Windows INF files |
267 (and | 253 (when (memq 'inf-generic-mode generic-extras-enable-list) |
268 (memq 'inf-generic-mode generic-extras-enable-list) | 254 |
269 | 255 (define-generic-mode inf-generic-mode |
270 (define-generic-mode 'inf-generic-mode | 256 (list ?\;) |
271 (list ?\;) | 257 nil |
272 nil | 258 '(("^\\(\\[.*\\]\\)" 1 'font-lock-constant-face)) |
273 '(("^\\(\\[.*\\]\\)" 1 'font-lock-constant-face)) | 259 (list "\\.[iI][nN][fF]\\'") |
274 (list "\\.[iI][nN][fF]\\'") | 260 (list 'generic-bracket-support) |
275 (list 'generic-bracket-support) | 261 "Generic mode for MS-Windows INF files.")) |
276 "Generic mode for MS-Windows INF files.")) | |
277 | 262 |
278 ;;; Windows INI files | 263 ;;; Windows INI files |
279 ;; Should define escape character as well! | 264 ;; Should define escape character as well! |
280 (and | 265 (when (memq 'ini-generic-mode generic-extras-enable-list) |
281 (memq 'ini-generic-mode generic-extras-enable-list) | 266 |
282 | 267 (define-generic-mode ini-generic-mode |
283 (define-generic-mode 'ini-generic-mode | 268 (list ?\;) |
284 (list ?\;) | 269 nil |
285 nil | 270 '(("^\\(\\[.*\\]\\)" 1 'font-lock-constant-face) |
286 '(("^\\(\\[.*\\]\\)" 1 'font-lock-constant-face) | 271 ("^\\([^=\n\r]*\\)=\\([^\n\r]*\\)$" |
287 ("^\\([^=\n\r]*\\)=\\([^\n\r]*\\)$" | 272 (1 font-lock-function-name-face) |
288 (1 font-lock-function-name-face) | 273 (2 font-lock-variable-name-face))) |
289 (2 font-lock-variable-name-face))) | 274 (list "\\.[iI][nN][iI]\\'") |
290 (list "\\.[iI][nN][iI]\\'") | 275 (list |
291 (list | 276 (function |
292 (function | 277 (lambda () |
293 (lambda () | 278 (setq imenu-generic-expression |
294 (setq imenu-generic-expression | 279 '((nil "^\\[\\(.*\\)\\]" 1) |
295 '((nil "^\\[\\(.*\\)\\]" 1) | 280 ("*Variables*" "^\\s-*\\([^=]+\\)\\s-*=" 1)))))) |
296 ("*Variables*" "^\\s-*\\([^=]+\\)\\s-*=" 1))) | 281 "Generic mode for MS-Windows INI files.")) |
297 ))) | |
298 "Generic mode for MS-Windows INI files.")) | |
299 | 282 |
300 ;;; Windows REG files | 283 ;;; Windows REG files |
301 ;;; Unfortunately, Windows 95 and Windows NT have different REG file syntax! | 284 ;;; Unfortunately, Windows 95 and Windows NT have different REG file syntax! |
302 (and | 285 (when (memq 'reg-generic-mode generic-extras-enable-list) |
303 (memq 'reg-generic-mode generic-extras-enable-list) | 286 |
304 | 287 (define-generic-mode reg-generic-mode |
305 (define-generic-mode 'reg-generic-mode | 288 '(?\;) |
306 '(?\;) | 289 '("key" "classes_root" "REGEDIT" "REGEDIT4") |
307 '("key" "classes_root" "REGEDIT" "REGEDIT4") | 290 '(("\\(\\[.*]\\)" 1 'font-lock-constant-face) |
308 '(("\\(\\[.*]\\)" 1 'font-lock-constant-face) | 291 ("^\\([^\n\r]*\\)\\s-*=" 1 'font-lock-variable-name-face)) |
309 ("^\\([^\n\r]*\\)\\s-*=" 1 'font-lock-variable-name-face)) | 292 '("\\.[rR][eE][gG]\\'") |
310 '("\\.[rR][eE][gG]\\'") | 293 (list |
294 (function | |
295 (lambda () | |
296 (setq imenu-generic-expression | |
297 '((nil "^\\s-*\\(.*\\)\\s-*=" 1)))))) | |
298 "Generic mode for MS-Windows Registry files.")) | |
299 | |
300 ;;; DOS/Windows BAT files | |
301 (when (memq 'bat-generic-mode generic-extras-enable-list) | |
302 | |
303 (define-generic-mode bat-generic-mode | |
304 nil | |
305 nil | |
306 (list | |
307 ;; Make this one first in the list, otherwise comments will | |
308 ;; be over-written by other variables | |
309 (list "^[@ \t]*\\([rR][eE][mM][^\n\r]*\\)" 1 'font-lock-comment-face t) | |
310 (list "^[ \t]*\\(::.*\\)" 1 'font-lock-comment-face t) | |
311 (list | |
312 "^[@ \t]*\\([bB][rR][eE][aA][kK]\\|[vV][eE][rR][iI][fF][yY]\\)[ \t]+\\([oO]\\([nN]\\|[fF][fF]\\)\\)" | |
313 '(1 font-lock-builtin-face) | |
314 '(2 font-lock-constant-face t t)) | |
315 ;; Any text (except ON/OFF) following ECHO is a string. | |
316 (list | |
317 "^[@ \t]*\\([eE][cC][hH][oO]\\)[ \t]+\\(\\([oO]\\([nN]\\|[fF][fF]\\)\\)\\|\\([^>|\r\n]+\\)\\)" | |
318 '(1 font-lock-builtin-face) | |
319 '(3 font-lock-constant-face t t) | |
320 '(5 font-lock-string-face t t)) | |
321 ;; These keywords appear as the first word on a line. (Actually, they | |
322 ;; can also appear after "if ..." or "for ..." clause, but since they | |
323 ;; are frequently used in simple text, we punt.) | |
324 ;; In `generic-bat-mode-setup-function' we make the keywords | |
325 ;; case-insensitive | |
326 (generic-make-keywords-list | |
311 (list | 327 (list |
312 (function | 328 "for" |
313 (lambda () | 329 "if") |
314 (setq imenu-generic-expression | 330 'font-lock-keyword-face "^[@ \t]*") |
315 '((nil "^\\s-*\\(.*\\)\\s-*=" 1)))))) | 331 ;; These keywords can be anywhere on a line |
316 "Generic mode for MS-Windows Registry files.")) | 332 ;; In `generic-bat-mode-setup-function' we make the keywords |
317 | 333 ;; case-insensitive |
318 ;;; DOS/Windows BAT files | 334 (generic-make-keywords-list |
319 (if (not (memq 'bat-generic-mode generic-extras-enable-list)) | |
320 nil | |
321 (define-generic-mode 'bat-generic-mode | |
322 nil | |
323 nil | |
324 (list | 335 (list |
325 ;; Make this one first in the list, otherwise comments will | 336 "do" |
326 ;; be over-written by other variables | 337 "exist" |
327 (list "^[@ \t]*\\([rR][eE][mM][^\n\r]*\\)" 1 'font-lock-comment-face t) | 338 "errorlevel" |
328 (list "^[ \t]*\\(::.*\\)" 1 'font-lock-comment-face t) | 339 "goto" |
329 (list | 340 "not") |
330 "^[@ \t]*\\([bB][rR][eE][aA][kK]\\|[vV][eE][rR][iI][fF][yY]\\)[ \t]+\\([oO]\\([nN]\\|[fF][fF]\\)\\)" | 341 'font-lock-keyword-face) |
331 '(1 font-lock-builtin-face) | 342 ;; These are built-in commands. Only frequently-used ones are listed. |
332 '(2 font-lock-constant-face t t)) | 343 (generic-make-keywords-list |
333 ;; Any text (except ON/OFF) following ECHO is a string. | |
334 (list | |
335 "^[@ \t]*\\([eE][cC][hH][oO]\\)[ \t]+\\(\\([oO]\\([nN]\\|[fF][fF]\\)\\)\\|\\([^>|\r\n]+\\)\\)" | |
336 '(1 font-lock-builtin-face) | |
337 '(3 font-lock-constant-face t t) | |
338 '(5 font-lock-string-face t t)) | |
339 ;; These keywords appear as the first word on a line. (Actually, they | |
340 ;; can also appear after "if ..." or "for ..." clause, but since they | |
341 ;; are frequently used in simple text, we punt.) | |
342 ;; In `generic-bat-mode-setup-function' we make the keywords | |
343 ;; case-insensitive | |
344 (generic-make-keywords-list | |
345 (list | |
346 "for" | |
347 "if" | |
348 ) | |
349 'font-lock-keyword-face "^[@ \t]*") | |
350 ;; These keywords can be anywhere on a line | |
351 ;; In `generic-bat-mode-setup-function' we make the keywords | |
352 ;; case-insensitive | |
353 (generic-make-keywords-list | |
354 (list | |
355 "do" | |
356 "exist" | |
357 "errorlevel" | |
358 "goto" | |
359 "not" | |
360 ) 'font-lock-keyword-face) | |
361 ;; These are built-in commands. Only frequently-used ones are listed. | |
362 (generic-make-keywords-list | |
363 (list | |
364 "CALL" "call" "Call" | |
365 "CD" "cd" "Cd" | |
366 "CLS" "cls" "Cls" | |
367 "COPY" "copy" "Copy" | |
368 "DEL" "del" "Del" | |
369 "ECHO" "echo" "Echo" | |
370 "MD" "md" "Md" | |
371 "PATH" "path" "Path" | |
372 "PAUSE" "pause" "Pause" | |
373 "PROMPT" "prompt" "Prompt" | |
374 "RD" "rd" "Rd" | |
375 "REN" "ren" "Ren" | |
376 "SET" "set" "Set" | |
377 "START" "start" "Start" | |
378 "SHIFT" "shift" "Shift" | |
379 ) 'font-lock-builtin-face "[ \t|\n]") | |
380 (list "^[ \t]*\\(:\\sw+\\)" 1 'font-lock-function-name-face t) | |
381 (list "\\(%\\sw+%\\)" 1 'font-lock-variable-name-face t) | |
382 (list "\\(%[0-9]\\)" 1 'font-lock-variable-name-face t) | |
383 (list "\\(/[^/ \"\t\n]+\\)" 1 'font-lock-type-face) | |
384 (list "[\t ]+\\([+-][^\t\n\" ]+\\)" 1 'font-lock-type-face) | |
385 (list "[ \t\n|]\\<\\([gG][oO][tT][oO]\\)\\>[ \t]*\\(\\sw+\\)?" | |
386 '(1 font-lock-keyword-face) | |
387 '(2 font-lock-function-name-face nil t)) | |
388 (list "[ \t\n|]\\<\\([sS][eE][tT]\\)\\>[ \t]*\\(\\sw+\\)?[ \t]*=?" | |
389 '(1 font-lock-builtin-face) | |
390 '(2 font-lock-variable-name-face t t)) | |
391 | |
392 ) | |
393 (list | 344 (list |
394 "\\.[bB][aA][tT]\\'" | 345 "CALL" "call" "Call" |
395 "\\`[cC][oO][nN][fF][iI][gG]\\." | 346 "CD" "cd" "Cd" |
396 "\\`[aA][uU][tT][oO][eE][xX][eE][cC]\\." ) | 347 "CLS" "cls" "Cls" |
397 (list 'generic-bat-mode-setup-function) | 348 "COPY" "copy" "Copy" |
398 "Generic mode for MS-Windows BAT files.") | 349 "DEL" "del" "Del" |
399 | 350 "ECHO" "echo" "Echo" |
400 (defvar bat-generic-mode-syntax-table nil | 351 "MD" "md" "Md" |
401 "Syntax table in use in bat-generic-mode buffers.") | 352 "PATH" "path" "Path" |
402 | 353 "PAUSE" "pause" "Pause" |
403 (defvar bat-generic-mode-keymap (make-sparse-keymap) | 354 "PROMPT" "prompt" "Prompt" |
404 "Keymap for bet-generic-mode.") | 355 "RD" "rd" "Rd" |
405 | 356 "REN" "ren" "Ren" |
406 (defun bat-generic-mode-compile () | 357 "SET" "set" "Set" |
407 "Run the current BAT file in a compilation buffer." | 358 "START" "start" "Start" |
408 (interactive) | 359 "SHIFT" "shift" "Shift") |
409 (let ((compilation-buffer-name-function | 360 'font-lock-builtin-face "[ \t|\n]") |
410 (function | 361 (list "^[ \t]*\\(:\\sw+\\)" 1 'font-lock-function-name-face t) |
411 (lambda(ign) | 362 (list "\\(%\\sw+%\\)" 1 'font-lock-variable-name-face t) |
412 (concat "*" (buffer-file-name) "*"))) | 363 (list "\\(%[0-9]\\)" 1 'font-lock-variable-name-face t) |
413 ) | 364 (list "\\(/[^/ \"\t\n]+\\)" 1 'font-lock-type-face) |
414 ) | 365 (list "[\t ]+\\([+-][^\t\n\" ]+\\)" 1 'font-lock-type-face) |
415 (compile | 366 (list "[ \t\n|]\\<\\([gG][oO][tT][oO]\\)\\>[ \t]*\\(\\sw+\\)?" |
416 (concat (w32-shell-name) " -c " (buffer-file-name))))) | 367 '(1 font-lock-keyword-face) |
417 | 368 '(2 font-lock-function-name-face nil t)) |
418 (defun bat-generic-mode-run-as-comint () | 369 (list "[ \t\n|]\\<\\([sS][eE][tT]\\)\\>[ \t]*\\(\\sw+\\)?[ \t]*=?" |
419 "Run the current BAT file in a comint buffer." | 370 '(1 font-lock-builtin-face) |
420 (interactive) | 371 '(2 font-lock-variable-name-face t t))) |
421 (require 'comint) | 372 (list |
422 (let* ((file (buffer-file-name)) | 373 "\\.[bB][aA][tT]\\'" |
423 (buf-name (concat "*" file "*"))) | 374 "\\`[cC][oO][nN][fF][iI][gG]\\." |
424 (save-excursion | 375 "\\`[aA][uU][tT][oO][eE][xX][eE][cC]\\." ) |
425 (set-buffer | 376 (list 'generic-bat-mode-setup-function) |
426 (get-buffer-create buf-name)) | 377 "Generic mode for MS-Windows BAT files.") |
427 (erase-buffer) | 378 |
428 (comint-mode) | 379 (defvar bat-generic-mode-syntax-table nil |
429 (comint-exec | 380 "Syntax table in use in bat-generic-mode buffers.") |
430 buf-name | 381 |
431 file | 382 (defvar bat-generic-mode-keymap (make-sparse-keymap) |
432 (w32-shell-name) | 383 "Keymap for bet-generic-mode.") |
433 nil | 384 |
434 (list | 385 (defun bat-generic-mode-compile () |
435 "-c" | 386 "Run the current BAT file in a compilation buffer." |
436 file | 387 (interactive) |
437 ) | 388 (let ((compilation-buffer-name-function |
438 ) | 389 (function |
439 (display-buffer buf-name)))) | 390 (lambda(ign) |
440 | 391 (concat "*" (buffer-file-name) "*"))))) |
441 (define-key bat-generic-mode-keymap "\C-c\C-c" 'bat-generic-mode-compile) | 392 (compile |
442 | 393 (concat (w32-shell-name) " -c " (buffer-file-name))))) |
443 ;; Make underscores count as words | 394 |
444 (if bat-generic-mode-syntax-table | 395 (defun bat-generic-mode-run-as-comint () |
445 nil | 396 "Run the current BAT file in a comint buffer." |
446 (setq bat-generic-mode-syntax-table (make-syntax-table)) | 397 (interactive) |
447 (modify-syntax-entry ?_ "w" bat-generic-mode-syntax-table)) | 398 (require 'comint) |
448 | 399 (let* ((file (buffer-file-name)) |
449 ;; bat-generic-mode doesn't use the comment functionality of generic-mode | 400 (buf-name (concat "*" file "*"))) |
450 ;; because it has a three-letter comment-string, so we do it | 401 (save-excursion |
451 ;; here manually instead | 402 (set-buffer |
452 (defun generic-bat-mode-setup-function () | 403 (get-buffer-create buf-name)) |
453 (make-local-variable 'parse-sexp-ignore-comments) | 404 (erase-buffer) |
454 (make-local-variable 'comment-start) | 405 (comint-mode) |
455 (make-local-variable 'comment-start-skip) | 406 (comint-exec |
456 (make-local-variable 'comment-end) | 407 buf-name |
457 (setq imenu-generic-expression '((nil "^:\\(\\sw+\\)" 1)) | 408 file |
458 parse-sexp-ignore-comments t | 409 (w32-shell-name) |
459 comment-end "" | 410 nil |
460 comment-start "REM " | 411 (list "-c" file)) |
461 comment-start-skip "[Rr][Ee][Mm] *" | 412 (display-buffer buf-name)))) |
462 ) | 413 |
463 (set-syntax-table bat-generic-mode-syntax-table) | 414 (define-key bat-generic-mode-keymap "\C-c\C-c" 'bat-generic-mode-compile) |
464 ;; Make keywords case-insensitive | 415 |
465 (setq font-lock-defaults (list 'generic-font-lock-defaults nil t)) | 416 ;; Make underscores count as words |
466 (use-local-map bat-generic-mode-keymap) | 417 (unless bat-generic-mode-syntax-table |
467 ) | 418 (setq bat-generic-mode-syntax-table (make-syntax-table)) |
468 ) | 419 (modify-syntax-entry ?_ "w" bat-generic-mode-syntax-table)) |
420 | |
421 ;; bat-generic-mode doesn't use the comment functionality of generic-mode | |
422 ;; because it has a three-letter comment-string, so we do it | |
423 ;; here manually instead | |
424 (defun generic-bat-mode-setup-function () | |
425 (make-local-variable 'parse-sexp-ignore-comments) | |
426 (make-local-variable 'comment-start) | |
427 (make-local-variable 'comment-start-skip) | |
428 (make-local-variable 'comment-end) | |
429 (setq imenu-generic-expression '((nil "^:\\(\\sw+\\)" 1)) | |
430 parse-sexp-ignore-comments t | |
431 comment-end "" | |
432 comment-start "REM " | |
433 comment-start-skip "[Rr][Ee][Mm] *") | |
434 (set-syntax-table bat-generic-mode-syntax-table) | |
435 ;; Make keywords case-insensitive | |
436 (setq font-lock-defaults (list 'generic-font-lock-defaults nil t)) | |
437 (use-local-map bat-generic-mode-keymap))) | |
469 | 438 |
470 ;;; Mailagent | 439 ;;; Mailagent |
471 ;; Mailagent is a Unix mail filtering program. Anyone wanna do a generic mode | 440 ;; Mailagent is a Unix mail filtering program. Anyone wanna do a generic mode |
472 ;; for procmail? | 441 ;; for procmail? |
473 (and | 442 (when (memq 'mailagent-rules-generic-mode generic-extras-enable-list) |
474 (memq 'mailagent-rules-generic-mode generic-extras-enable-list) | 443 |
475 | 444 (define-generic-mode mailagent-rules-generic-mode |
476 (define-generic-mode 'mailagent-rules-generic-mode | 445 (list ?#) |
477 (list ?#) | 446 (list "SAVE" "DELETE" "PIPE" "ANNOTATE" "REJECT") |
478 (list "SAVE" "DELETE" "PIPE" "ANNOTATE" "REJECT") | 447 '(("^\\(\\sw+\\)\\s-*=" 1 'font-lock-variable-name-face) |
479 '(("^\\(\\sw+\\)\\s-*=" 1 'font-lock-variable-name-face) | 448 ("\\s-/\\([^/]+\\)/[i, \t\n]" 1 'font-lock-constant-face)) |
480 ("\\s-/\\([^/]+\\)/[i, \t\n]" 1 'font-lock-constant-face)) | 449 (list "\\.rules\\'") |
481 (list "\\.rules\\'") | 450 (list 'mailagent-rules-setup-function) |
482 (list 'mailagent-rules-setup-function) | 451 "Mode for Mailagent rules files.") |
483 "Mode for Mailagent rules files.") | |
484 | 452 |
485 (defun mailagent-rules-setup-function () | 453 (defun mailagent-rules-setup-function () |
486 (make-local-variable 'imenu-generic-expression) | 454 (make-local-variable 'imenu-generic-expression) |
487 (setq imenu-generic-expression | 455 (setq imenu-generic-expression |
488 '((nil "\\s-/\\([^/]+\\)/[i, \t\n]" 1)))) | 456 '((nil "\\s-/\\([^/]+\\)/[i, \t\n]" 1))))) |
489 ) | |
490 | 457 |
491 ;; Solaris/Sys V prototype files | 458 ;; Solaris/Sys V prototype files |
492 (and | 459 (when (memq 'prototype-generic-mode generic-extras-enable-list) |
493 (memq 'prototype-generic-mode generic-extras-enable-list) | 460 |
494 | 461 (define-generic-mode prototype-generic-mode |
495 (define-generic-mode 'prototype-generic-mode | 462 (list ?#) |
496 (list ?#) | 463 nil |
497 nil | 464 '(("^\\([0-9]\\)?\\s-*\\([a-z]\\)\\s-+\\([A-Za-z_]+\\)\\s-+\\([^\n\r]*\\)$" |
498 '( | 465 (2 font-lock-constant-face) |
499 ("^\\([0-9]\\)?\\s-*\\([a-z]\\)\\s-+\\([A-Za-z_]+\\)\\s-+\\([^\n\r]*\\)$" | 466 (3 font-lock-keyword-face)) |
500 (2 font-lock-constant-face) | 467 ("^\\([a-z]\\) \\([A-Za-z_]+\\)=\\([^\n\r]*\\)$" |
501 (3 font-lock-keyword-face)) | 468 (1 font-lock-constant-face) |
502 ("^\\([a-z]\\) \\([A-Za-z_]+\\)=\\([^\n\r]*\\)$" | 469 (2 font-lock-keyword-face) |
503 (1 font-lock-constant-face) | 470 (3 font-lock-variable-name-face)) |
504 (2 font-lock-keyword-face) | 471 ("^\\(!\\s-*\\(search\\|include\\|default\\)\\)\\s-*\\([^\n\r]*\\)$" |
505 (3 font-lock-variable-name-face)) | 472 (1 font-lock-keyword-face) |
506 ("^\\(!\\s-*\\(search\\|include\\|default\\)\\)\\s-*\\([^\n\r]*\\)$" | 473 (3 font-lock-variable-name-face)) |
507 (1 font-lock-keyword-face) | 474 ("^\\(!\\s-*\\sw+\\)=\\([^\n\r]*\\)$" |
508 (3 font-lock-variable-name-face)) | 475 (1 font-lock-keyword-face) |
509 ("^\\(!\\s-*\\sw+\\)=\\([^\n\r]*\\)$" | 476 (2 font-lock-variable-name-face))) |
510 (1 font-lock-keyword-face) | 477 (list "prototype\\'") |
511 (2 font-lock-variable-name-face)) | 478 nil |
512 ) | 479 "Mode for Sys V prototype files.")) |
513 (list "prototype\\'") | |
514 nil | |
515 "Mode for Sys V prototype files.")) | |
516 | 480 |
517 ;; Solaris/Sys V pkginfo files | 481 ;; Solaris/Sys V pkginfo files |
518 (and | 482 (when (memq 'pkginfo-generic-mode generic-extras-enable-list) |
519 (memq 'pkginfo-generic-mode generic-extras-enable-list) | 483 |
520 | 484 (define-generic-mode pkginfo-generic-mode |
521 (define-generic-mode 'pkginfo-generic-mode | 485 (list ?#) |
522 (list ?#) | 486 nil |
523 nil | 487 '(("^\\([A-Za-z_]+\\)=\\([^\n\r]*\\)$" |
524 '( | 488 (1 font-lock-keyword-face) |
525 ("^\\([A-Za-z_]+\\)=\\([^\n\r]*\\)$" | 489 (2 font-lock-variable-name-face))) |
526 (1 font-lock-keyword-face) | 490 (list "pkginfo\\'") |
527 (2 font-lock-variable-name-face)) | 491 nil |
528 ) | 492 "Mode for Sys V pkginfo files.")) |
529 (list "pkginfo\\'") | |
530 nil | |
531 "Mode for Sys V pkginfo files.")) | |
532 | 493 |
533 ;; Javascript mode | 494 ;; Javascript mode |
534 ;; Includes extra keywords from Armando Singer [asinger@MAIL.COLGATE.EDU] | 495 ;; Includes extra keywords from Armando Singer [asinger@MAIL.COLGATE.EDU] |
535 (define-generic-mode 'javascript-generic-mode | 496 (define-generic-mode javascript-generic-mode |
536 (list "//" '("/*" . "*/")) | 497 (list "//" '("/*" . "*/")) |
537 (list | 498 (list |
538 "break" | 499 "break" |
539 "case" | 500 "case" |
540 "continue" | 501 "continue" |
592 "short" | 553 "short" |
593 "static" | 554 "static" |
594 "synchronized" | 555 "synchronized" |
595 "throws" | 556 "throws" |
596 "transient" | 557 "transient" |
597 "true" | 558 "true") |
598 ) | |
599 (list | 559 (list |
600 (list "^\\s-*function\\s-+\\([A-Za-z0-9_]+\\)" | 560 (list "^\\s-*function\\s-+\\([A-Za-z0-9_]+\\)" |
601 '(1 font-lock-function-name-face)) | 561 '(1 font-lock-function-name-face)) |
602 (list "^\\s-*var\\s-+\\([A-Za-z0-9_]+\\)" | 562 (list "^\\s-*var\\s-+\\([A-Za-z0-9_]+\\)" |
603 '(1 font-lock-variable-name-face)) | 563 '(1 font-lock-variable-name-face))) |
604 ) | |
605 (list "\\.js\\'") | 564 (list "\\.js\\'") |
606 (list | 565 (list |
607 (function | 566 (function |
608 (lambda () | 567 (lambda () |
609 (setq imenu-generic-expression | 568 (setq imenu-generic-expression |
610 '((nil "^function\\s-+\\([A-Za-z0-9_]+\\)" 1) | 569 '((nil "^function\\s-+\\([A-Za-z0-9_]+\\)" 1) |
611 ("*Variables*" "^var\\s-+\\([A-Za-z0-9_]+\\)" 1) | 570 ("*Variables*" "^var\\s-+\\([A-Za-z0-9_]+\\)" 1)))))) |
612 )) | |
613 ))) | |
614 "Mode for JavaScript files.") | 571 "Mode for JavaScript files.") |
615 | 572 |
616 ;; VRML files | 573 ;; VRML files |
617 (define-generic-mode 'vrml-generic-mode | 574 (define-generic-mode vrml-generic-mode |
618 (list ?#) | 575 (list ?#) |
619 (list | 576 (list |
620 "DEF" | 577 "DEF" |
621 "NULL" | 578 "NULL" |
622 "USE" | 579 "USE" |
642 "texCoord" | 599 "texCoord" |
643 "texture" | 600 "texture" |
644 "textureTransform" | 601 "textureTransform" |
645 "title" | 602 "title" |
646 "transparency" | 603 "transparency" |
647 "type" | 604 "type") |
648 ) | |
649 (list | 605 (list |
650 (list "USE\\s-+\\([-A-Za-z0-9_]+\\)" | 606 (list "USE\\s-+\\([-A-Za-z0-9_]+\\)" |
651 '(1 font-lock-constant-face)) | 607 '(1 font-lock-constant-face)) |
652 (list "DEF\\s-+\\([-A-Za-z0-9_]+\\)\\s-+\\([A-Za-z0-9]+\\)\\s-*{" | 608 (list "DEF\\s-+\\([-A-Za-z0-9_]+\\)\\s-+\\([A-Za-z0-9]+\\)\\s-*{" |
653 '(1 font-lock-type-face) | 609 '(1 font-lock-type-face) |
654 '(2 font-lock-constant-face)) | 610 '(2 font-lock-constant-face)) |
655 (list "^\\s-*\\([-A-Za-z0-9_]+\\)\\s-*{" | 611 (list "^\\s-*\\([-A-Za-z0-9_]+\\)\\s-*{" |
656 '(1 font-lock-function-name-face)) | 612 '(1 font-lock-function-name-face)) |
657 (list | 613 (list |
658 "^\\s-*\\(geometry\\|appearance\\|material\\)\\s-+\\([-A-Za-z0-9_]+\\)" | 614 "^\\s-*\\(geometry\\|appearance\\|material\\)\\s-+\\([-A-Za-z0-9_]+\\)" |
659 '(2 font-lock-variable-name-face)) | 615 '(2 font-lock-variable-name-face))) |
660 ) | |
661 (list "\\.wrl\\'") | 616 (list "\\.wrl\\'") |
662 (list | 617 (list |
663 (function | 618 (function |
664 (lambda () | 619 (lambda () |
665 (setq imenu-generic-expression | 620 (setq imenu-generic-expression |
666 '((nil "^\\([A-Za-z0-9_]+\\)\\s-*{" 1) | 621 '((nil "^\\([A-Za-z0-9_]+\\)\\s-*{" 1) |
667 ("*Definitions*" | 622 ("*Definitions*" |
668 "DEF\\s-+\\([-A-Za-z0-9_]+\\)\\s-+\\([A-Za-z0-9]+\\)\\s-*{" | 623 "DEF\\s-+\\([-A-Za-z0-9_]+\\)\\s-+\\([A-Za-z0-9]+\\)\\s-*{" |
669 1))) | 624 1)))))) |
670 ))) | |
671 "Generic Mode for VRML files.") | 625 "Generic Mode for VRML files.") |
672 | 626 |
673 ;; Java Manifests | 627 ;; Java Manifests |
674 (define-generic-mode 'java-manifest-generic-mode | 628 (define-generic-mode java-manifest-generic-mode |
675 (list ?#) | 629 (list ?#) |
676 (list | 630 (list |
677 "Name" | 631 "Name" |
678 "Digest-Algorithms" | 632 "Digest-Algorithms" |
679 "Manifest-Version" | 633 "Manifest-Version" |
680 "Required-Version" | 634 "Required-Version" |
681 "Signature-Version" | 635 "Signature-Version" |
682 "Magic" | 636 "Magic" |
683 "Java-Bean" | 637 "Java-Bean" |
684 "Depends-On" | 638 "Depends-On") |
685 ) | |
686 '(("^Name:\\s-+\\([^\n\r]*\\)$" | 639 '(("^Name:\\s-+\\([^\n\r]*\\)$" |
687 (1 font-lock-variable-name-face)) | 640 (1 font-lock-variable-name-face)) |
688 ("^\\(Manifest\\|Required\\|Signature\\)-Version:\\s-+\\([^\n\r]*\\)$" | 641 ("^\\(Manifest\\|Required\\|Signature\\)-Version:\\s-+\\([^\n\r]*\\)$" |
689 (2 font-lock-constant-face)) | 642 (2 font-lock-constant-face))) |
690 ) | |
691 (list "[mM][aA][nN][iI][fF][eE][sS][tT]\\.[mM][fF]\\'") | 643 (list "[mM][aA][nN][iI][fF][eE][sS][tT]\\.[mM][fF]\\'") |
692 nil | 644 nil |
693 "Mode for Java Manifest files") | 645 "Mode for Java Manifest files") |
694 | 646 |
695 ;; Java properties files | 647 ;; Java properties files |
696 (define-generic-mode 'java-properties-generic-mode | 648 (define-generic-mode java-properties-generic-mode |
697 (list ?! ?#) | 649 (list ?! ?#) |
698 nil | 650 nil |
699 (let ((java-properties-key | 651 (let ((java-properties-key |
700 "\\(\\([-A-Za-z0-9_\\./]\\|\\(\\\\[ =:]\\)\\)+\\)") | 652 "\\(\\([-A-Za-z0-9_\\./]\\|\\(\\\\[ =:]\\)\\)+\\)") |
701 (java-properties-value | 653 (java-properties-value |
702 "\\([^\r\n]*\\)") | 654 "\\([^\r\n]*\\)")) |
703 ) | |
704 ;; Property and value can be separated in a number of different ways: | 655 ;; Property and value can be separated in a number of different ways: |
705 ;; * whitespace | 656 ;; * whitespace |
706 ;; * an equal sign | 657 ;; * an equal sign |
707 ;; * a colon | 658 ;; * a colon |
708 (mapcar | 659 (mapcar |
709 (function | 660 (function |
710 (lambda (elt) | 661 (lambda (elt) |
711 (list | 662 (list |
712 (concat "^" java-properties-key elt java-properties-value "$") | 663 (concat "^" java-properties-key elt java-properties-value "$") |
713 '(1 font-lock-constant-face) | 664 '(1 font-lock-constant-face) |
714 '(4 font-lock-variable-name-face) | 665 '(4 font-lock-variable-name-face)))) |
715 ))) | |
716 ;; These are the separators | 666 ;; These are the separators |
717 (list ":\\s-*" "\\s-+" "\\s-*=\\s-*") | 667 (list ":\\s-*" "\\s-+" "\\s-*=\\s-*"))) |
718 ) | |
719 ) | |
720 nil | 668 nil |
721 (list | 669 (list |
722 (function | 670 (function |
723 (lambda () | 671 (lambda () |
724 (setq imenu-generic-expression | 672 (setq imenu-generic-expression |
725 '((nil "^\\([^#! \t\n\r=:]+\\)" 1))) | 673 '((nil "^\\([^#! \t\n\r=:]+\\)" 1)))))) |
726 ))) | |
727 "Mode for Java properties files.") | 674 "Mode for Java properties files.") |
728 | 675 |
729 ;; C shell alias definitions | 676 ;; C shell alias definitions |
730 (and | 677 (when (memq 'alias-generic-mode generic-extras-enable-list) |
731 (memq 'alias-generic-mode generic-extras-enable-list) | 678 |
732 | 679 (define-generic-mode alias-generic-mode |
733 (define-generic-mode 'alias-generic-mode | |
734 (list ?#) | 680 (list ?#) |
735 (list "alias" "unalias") | 681 (list "alias" "unalias") |
736 '(("^alias\\s-+\\([-A-Za-z0-9_]+\\)\\s-+" | 682 '(("^alias\\s-+\\([-A-Za-z0-9_]+\\)\\s-+" |
737 (1 font-lock-variable-name-face)) | 683 (1 font-lock-variable-name-face)) |
738 ("^unalias\\s-+\\([-A-Za-z0-9_]+\\)\\s-*$" | 684 ("^unalias\\s-+\\([-A-Za-z0-9_]+\\)\\s-*$" |
739 (1 font-lock-variable-name-face)) | 685 (1 font-lock-variable-name-face))) |
740 ) | |
741 (list "alias\\'") | 686 (list "alias\\'") |
742 (list | 687 (list |
743 (function | 688 (function |
744 (lambda () | 689 (lambda () |
745 (setq imenu-generic-expression | 690 (setq imenu-generic-expression |
746 '((nil "^\\(alias\\|unalias\\)\\s-+\\([-a-zA-Z0-9_]+\\)" 2))) | 691 '((nil "^\\(alias\\|unalias\\)\\s-+\\([-a-zA-Z0-9_]+\\)" 2)))))) |
747 ))) | 692 "Mode for C Shell alias files.")) |
748 "Mode for C Shell alias files.") | |
749 ) | |
750 | 693 |
751 ;;; Windows RC files | 694 ;;; Windows RC files |
752 ;; Contributed by ACorreir@pervasive-sw.com (Alfred Correira) | 695 ;; Contributed by ACorreir@pervasive-sw.com (Alfred Correira) |
753 (and | 696 (when (memq 'rc-generic-mode generic-extras-enable-list) |
754 (memq 'rc-generic-mode generic-extras-enable-list) | 697 |
755 | 698 (define-generic-mode rc-generic-mode |
756 (define-generic-mode 'rc-generic-mode | 699 ;; (list ?\/) |
757 ;; (list ?\/) | 700 (list "//") |
758 (list "//") | 701 '("ACCELERATORS" |
759 '("ACCELERATORS" | 702 "AUTO3STATE" |
760 "AUTO3STATE" | 703 "AUTOCHECKBOX" |
761 "AUTOCHECKBOX" | 704 "AUTORADIOBUTTON" |
762 "AUTORADIOBUTTON" | 705 "BITMAP" |
763 "BITMAP" | 706 "BOTTOMMARGIN" |
764 "BOTTOMMARGIN" | 707 "BUTTON" |
765 "BUTTON" | 708 "CAPTION" |
766 "CAPTION" | 709 "CHARACTERISTICS" |
767 "CHARACTERISTICS" | 710 "CHECKBOX" |
768 "CHECKBOX" | 711 "CLASS" |
769 "CLASS" | 712 "COMBOBOX" |
770 "COMBOBOX" | 713 "CONTROL" |
771 "CONTROL" | 714 "CTEXT" |
772 "CTEXT" | 715 "CURSOR" |
773 "CURSOR" | 716 "DEFPUSHBUTTON" |
774 "DEFPUSHBUTTON" | 717 "DESIGNINFO" |
775 "DESIGNINFO" | 718 "DIALOG" |
776 "DIALOG" | 719 "DISCARDABLE" |
777 "DISCARDABLE" | 720 "EDITTEXT" |
778 "EDITTEXT" | 721 "EXSTYLE" |
779 "EXSTYLE" | 722 "FONT" |
780 "FONT" | 723 "GROUPBOX" |
781 "GROUPBOX" | 724 "GUIDELINES" |
782 "GUIDELINES" | 725 "ICON" |
783 "ICON" | 726 "LANGUAGE" |
784 "LANGUAGE" | 727 "LEFTMARGIN" |
785 "LEFTMARGIN" | 728 "LISTBOX" |
786 "LISTBOX" | 729 "LTEXT" |
787 "LTEXT" | 730 "MENUITEM SEPARATOR" |
788 "MENUITEM SEPARATOR" | 731 "MENUITEM" |
789 "MENUITEM" | 732 "MENU" |
790 "MENU" | 733 "MOVEABLE" |
791 "MOVEABLE" | 734 "POPUP" |
792 "POPUP" | 735 "PRELOAD" |
793 "PRELOAD" | 736 "PURE" |
794 "PURE" | 737 "PUSHBOX" |
795 "PUSHBOX" | 738 "PUSHBUTTON" |
796 "PUSHBUTTON" | 739 "RADIOBUTTON" |
797 "RADIOBUTTON" | 740 "RCDATA" |
798 "RCDATA" | 741 "RIGHTMARGIN" |
799 "RIGHTMARGIN" | 742 "RTEXT" |
800 "RTEXT" | 743 "SCROLLBAR" |
801 "SCROLLBAR" | 744 "SEPARATOR" |
802 "SEPARATOR" | 745 "STATE3" |
803 "STATE3" | 746 "STRINGTABLE" |
804 "STRINGTABLE" | 747 "STYLE" |
805 "STYLE" | 748 "TEXTINCLUDE" |
806 "TEXTINCLUDE" | 749 "TOOLBAR" |
807 "TOOLBAR" | 750 "TOPMARGIN" |
808 "TOPMARGIN" | 751 "VERSIONINFO" |
809 "VERSIONINFO" | 752 "VERSION") |
810 "VERSION" | 753 ;; the choice of what tokens go where is somewhat arbitrary, |
811 ) | 754 ;; as is the choice of which value tokens are included, as |
812 ;; the choice of what tokens go where is somewhat arbitrary, | 755 ;; the choice of face for each token group |
813 ;; as is the choice of which value tokens are included, as | 756 (list |
814 ;; the choice of face for each token group | 757 (eval-when-compile |
815 (list | 758 (generic-make-keywords-list |
816 (eval-when-compile | 759 (list |
817 (generic-make-keywords-list | 760 "FILEFLAGSMASK" |
818 (list | 761 "FILEFLAGS" |
819 "FILEFLAGSMASK" | 762 "FILEOS" |
820 "FILEFLAGS" | 763 "FILESUBTYPE" |
821 "FILEOS" | 764 "FILETYPE" |
822 "FILESUBTYPE" | 765 "FILEVERSION" |
823 "FILETYPE" | 766 "PRODUCTVERSION") |
824 "FILEVERSION" | 767 'font-lock-type-face)) |
825 "PRODUCTVERSION" | 768 (eval-when-compile |
826 ) 'font-lock-type-face)) | 769 (generic-make-keywords-list |
827 (eval-when-compile | 770 (list |
828 (generic-make-keywords-list | 771 "BEGIN" |
829 (list | 772 "BLOCK" |
830 "BEGIN" | 773 "END" |
831 "BLOCK" | 774 "VALUE") |
832 "END" | 775 'font-lock-function-name-face)) |
833 "VALUE" | 776 '("^#[ \t]*include[ \t]+\\(<[^>\"\n]+>\\)" 1 font-lock-string-face) |
834 ) 'font-lock-function-name-face)) | 777 '("^#[ \t]*define[ \t]+\\(\\sw+\\)(" 1 font-lock-function-name-face) |
835 '("^#[ \t]*include[ \t]+\\(<[^>\"\n]+>\\)" 1 font-lock-string-face) | 778 '("^#[ \t]*\\(elif\\|if\\)\\>" |
836 '("^#[ \t]*define[ \t]+\\(\\sw+\\)(" 1 font-lock-function-name-face) | 779 ("\\<\\(defined\\)\\>[ \t]*(?\\(\\sw+\\)?" nil nil |
837 '("^#[ \t]*\\(elif\\|if\\)\\>" | |
838 ("\\<\\(defined\\)\\>[ \t]*(?\\(\\sw+\\)?" nil nil | |
839 (1 font-lock-constant-face) (2 font-lock-variable-name-face nil t))) | |
840 '("^#[ \t]*\\(\\sw+\\)\\>[ \t]*\\(\\sw+\\)?" | |
841 (1 font-lock-constant-face) (2 font-lock-variable-name-face nil t))) | 780 (1 font-lock-constant-face) (2 font-lock-variable-name-face nil t))) |
842 (list "\\.[rR][cC]$") | 781 '("^#[ \t]*\\(\\sw+\\)\\>[ \t]*\\(\\sw+\\)?" |
843 nil | 782 (1 font-lock-constant-face) (2 font-lock-variable-name-face nil t))) |
844 "Generic mode for MS-Windows Resource files.")) | 783 (list "\\.[rR][cC]$") |
784 nil | |
785 "Generic mode for MS-Windows Resource files.")) | |
845 | 786 |
846 ;; InstallShield RUL files | 787 ;; InstallShield RUL files |
847 ;; Contributed by Alfred.Correira@Pervasive.Com | 788 ;; Contributed by Alfred.Correira@Pervasive.Com |
848 ;; Bugfixes by "Rolf Sandau" <Rolf.Sandau@marconi.com> | 789 ;; Bugfixes by "Rolf Sandau" <Rolf.Sandau@marconi.com> |
849 (and | 790 (when (memq 'rul-generic-mode generic-extras-enable-list) |
850 (memq 'rul-generic-mode generic-extras-enable-list) | 791 |
851 ;;; build the regexp strings using regexp-opt | 792 ;;; build the regexp strings using regexp-opt |
852 (defvar installshield-statement-keyword-list | 793 (defvar installshield-statement-keyword-list |
853 (list | 794 (list |
854 "abort" | 795 "abort" |
855 "begin" | 796 "begin" |
880 "then" | 821 "then" |
881 "to" | 822 "to" |
882 "typedef" | 823 "typedef" |
883 "until" | 824 "until" |
884 "void" | 825 "void" |
885 "while" | 826 "while") |
886 ) | |
887 "Statement keywords used in InstallShield 3 and 5.") | 827 "Statement keywords used in InstallShield 3 and 5.") |
888 | 828 |
889 (defvar installshield-system-functions-list | 829 (defvar installshield-system-functions-list |
890 (list | 830 (list |
891 "AddFolderIcon" | 831 "AddFolderIcon" |
905 "BatchMoveEx" | 845 "BatchMoveEx" |
906 "BatchSetFileName" | 846 "BatchSetFileName" |
907 "ChangeDirectory" | 847 "ChangeDirectory" |
908 "CloseFile" | 848 "CloseFile" |
909 "CmdGetHwndDlg" | 849 "CmdGetHwndDlg" |
910 "ComponentAddItem" ; differs between IS3 and IS5 | 850 "ComponentAddItem" ; differs between IS3 and IS5 |
911 "ComponentCompareSizeRequired" ; IS5 only | 851 "ComponentCompareSizeRequired" ; IS5 only |
912 "ComponentDialog" | 852 "ComponentDialog" |
913 "ComponentError" ; IS5 only | 853 "ComponentError" ; IS5 only |
914 "ComponentFileEnum" ; IS5 only | 854 "ComponentFileEnum" ; IS5 only |
915 "ComponentFileInfo" ; IS5 only | 855 "ComponentFileInfo" ; IS5 only |
916 "ComponentFilterLanguage" ; IS5 only | 856 "ComponentFilterLanguage" ; IS5 only |
917 "ComponentFilterOS" ; IS5 only | 857 "ComponentFilterOS" ; IS5 only |
918 "ComponentGetData" ; IS5 only | 858 "ComponentGetData" ; IS5 only |
919 "ComponentGetItemInfo" ; IS3 only | 859 "ComponentGetItemInfo" ; IS3 only |
920 "ComponentGetItemSize" ; differs between IS3 and IS5 | 860 "ComponentGetItemSize" ; differs between IS3 and IS5 |
921 "ComponentIsItemSelected" ; differs between IS3 and IS5 | 861 "ComponentIsItemSelected" ; differs between IS3 and IS5 |
922 "ComponentListItems" | 862 "ComponentListItems" |
923 "ComponentMoveData" ; IS5 only | 863 "ComponentMoveData" ; IS5 only |
924 "ComponentSelectItem" ; differs between IS3 and IS5 | 864 "ComponentSelectItem" ; differs between IS3 and IS5 |
925 "ComponentSetData" ; IS5 only | 865 "ComponentSetData" ; IS5 only |
926 "ComponentSetItemInfo" ; IS3 only | 866 "ComponentSetItemInfo" ; IS3 only |
927 "ComponentSetTarget" ; IS5 only | 867 "ComponentSetTarget" ; IS5 only |
928 "ComponentSetupTypeEnum" ; IS5 only | 868 "ComponentSetupTypeEnum" ; IS5 only |
929 "ComponentSetupTypeGetData" ; IS5 only | 869 "ComponentSetupTypeGetData" ; IS5 only |
930 "ComponentSetupTypeSet" ; IS5 only | 870 "ComponentSetupTypeSet" ; IS5 only |
931 "ComponentTotalSize" | 871 "ComponentTotalSize" |
932 "ComponentValidate" ; IS5 only | 872 "ComponentValidate" ; IS5 only |
933 "CompressAdd" ; IS3 only | 873 "CompressAdd" ; IS3 only |
934 "CompressDel" ; IS3 only | 874 "CompressDel" ; IS3 only |
935 "CompressEnum" ; IS3 only | 875 "CompressEnum" ; IS3 only |
936 "CompressGet" ; IS3 only | 876 "CompressGet" ; IS3 only |
937 "CompressInfo" ; IS3 only | 877 "CompressInfo" ; IS3 only |
938 "CopyFile" | 878 "CopyFile" |
939 "CreateDir" | 879 "CreateDir" |
940 "CreateFile" | 880 "CreateFile" |
941 "CreateProgramFolder" | 881 "CreateProgramFolder" |
942 "DeinstallSetReference" ; IS5 only | 882 "DeinstallSetReference" ; IS5 only |
943 "DeinstallStart" | 883 "DeinstallStart" |
944 "Delay" | 884 "Delay" |
945 "DeleteDir" | 885 "DeleteDir" |
946 "DeleteFile" | 886 "DeleteFile" |
947 "DialogSetInfo" | 887 "DialogSetInfo" |
963 "EzDefineDialog" | 903 "EzDefineDialog" |
964 "FileCompare" | 904 "FileCompare" |
965 "FileDeleteLine" | 905 "FileDeleteLine" |
966 "FileGrep" | 906 "FileGrep" |
967 "FileInsertLine" | 907 "FileInsertLine" |
968 "FileSetBeginDefine" ; IS3 only | 908 "FileSetBeginDefine" ; IS3 only |
969 "FileSetEndDefine" ; IS3 only | 909 "FileSetEndDefine" ; IS3 only |
970 "FileSetPerformEz" ; IS3 only | 910 "FileSetPerformEz" ; IS3 only |
971 "FileSetPerform" ; IS3 only | 911 "FileSetPerform" ; IS3 only |
972 "FileSetReset" ; IS3 only | 912 "FileSetReset" ; IS3 only |
973 "FileSetRoot" ; IS3 only | 913 "FileSetRoot" ; IS3 only |
974 "FindAllDirs" | 914 "FindAllDirs" |
975 "FindAllFiles" | 915 "FindAllFiles" |
976 "FindFile" | 916 "FindFile" |
977 "FindWindow" | 917 "FindWindow" |
978 "GetDiskSpace" | 918 "GetDiskSpace" |
1022 "PathMove" | 962 "PathMove" |
1023 "PathSet" | 963 "PathSet" |
1024 "Path" | 964 "Path" |
1025 "PlaceBitmap" | 965 "PlaceBitmap" |
1026 "PlaceWindow" | 966 "PlaceWindow" |
1027 "PlayMMedia" ; IS5 only | 967 "PlayMMedia" ; IS5 only |
1028 "ProgDefGroupType" | 968 "ProgDefGroupType" |
1029 "RegDBCreateKeyEx" | 969 "RegDBCreateKeyEx" |
1030 "RegDBDeleteValue" | 970 "RegDBDeleteValue" |
1031 "RegDBGetItem" | 971 "RegDBGetItem" |
1032 "RegDBKeyExist" | 972 "RegDBKeyExist" |
1082 "SdRegisterUserEx" | 1022 "SdRegisterUserEx" |
1083 "SdRemoveEndSpace" | 1023 "SdRemoveEndSpace" |
1084 "SdSelectFolder" | 1024 "SdSelectFolder" |
1085 "SdSetSequentialItems" | 1025 "SdSetSequentialItems" |
1086 "SdSetStatic" | 1026 "SdSetStatic" |
1087 "SdSetupTypeEx" ; IS5 only | 1027 "SdSetupTypeEx" ; IS5 only |
1088 "SdSetupType" | 1028 "SdSetupType" |
1089 "SdShowAnyDialog" | 1029 "SdShowAnyDialog" |
1090 "SdShowDlgEdit1" | 1030 "SdShowDlgEdit1" |
1091 "SdShowDlgEdit2" | 1031 "SdShowDlgEdit2" |
1092 "SdShowDlgEdit3" | 1032 "SdShowDlgEdit3" |
1099 "SdWelcome" | 1039 "SdWelcome" |
1100 "SendMessage" | 1040 "SendMessage" |
1101 "SetColor" | 1041 "SetColor" |
1102 "SetFont" | 1042 "SetFont" |
1103 "SetDialogTitle" | 1043 "SetDialogTitle" |
1104 "SetDisplayEffect" ; IS5 only | 1044 "SetDisplayEffect" ; IS5 only |
1105 "SetFileInfo" | 1045 "SetFileInfo" |
1106 "SetForegroundWindow" | 1046 "SetForegroundWindow" |
1107 "SetStatusWindow" | 1047 "SetStatusWindow" |
1108 "SetTitle" | 1048 "SetTitle" |
1109 "SetupType" | 1049 "SetupType" |
1110 "ShowProgramFolder" | 1050 "ShowProgramFolder" |
1111 "Split" ; IS3 only | 1051 "Split" ; IS3 only |
1112 "SprintfBox" | 1052 "SprintfBox" |
1113 "Sprintf" | 1053 "Sprintf" |
1114 "StatusUpdate" | 1054 "StatusUpdate" |
1115 "StrCompare" | 1055 "StrCompare" |
1116 "StrFind" | 1056 "StrFind" |
1127 "VerGetFileVersion" | 1067 "VerGetFileVersion" |
1128 "WaitOnDialog" | 1068 "WaitOnDialog" |
1129 "Welcome" | 1069 "Welcome" |
1130 "WriteLine" | 1070 "WriteLine" |
1131 "WriteProfString" | 1071 "WriteProfString" |
1132 "XCopyFile" | 1072 "XCopyFile") |
1133 ) | |
1134 "System functions defined in InstallShield 3 and 5.") | 1073 "System functions defined in InstallShield 3 and 5.") |
1135 | 1074 |
1136 (defvar installshield-system-variables-list | 1075 (defvar installshield-system-variables-list |
1137 (list | 1076 (list |
1138 "BATCH_INSTALL" | 1077 "BATCH_INSTALL" |
1161 "UNINST" | 1100 "UNINST" |
1162 "WINDIR" | 1101 "WINDIR" |
1163 "WINDISK" | 1102 "WINDISK" |
1164 "WINMAJOR" | 1103 "WINMAJOR" |
1165 "WINSYSDIR" | 1104 "WINSYSDIR" |
1166 "WINSYSDISK" | 1105 "WINSYSDISK") |
1167 ) | |
1168 "System variables used in InstallShield 3 and 5.") | 1106 "System variables used in InstallShield 3 and 5.") |
1169 | 1107 |
1170 (defvar installshield-types-list | 1108 (defvar installshield-types-list |
1171 (list | 1109 (list |
1172 "BOOL" | 1110 "BOOL" |
1184 "POINTER" | 1122 "POINTER" |
1185 "QUAD" | 1123 "QUAD" |
1186 "RGB" | 1124 "RGB" |
1187 "SHORT" | 1125 "SHORT" |
1188 "STRINGLIST" | 1126 "STRINGLIST" |
1189 "STRING" | 1127 "STRING") |
1190 ) | |
1191 "Type keywords used in InstallShield 3 and 5.") | 1128 "Type keywords used in InstallShield 3 and 5.") |
1192 | 1129 |
1193 ;;; some might want to skip highlighting these to improve performance | 1130 ;;; some might want to skip highlighting these to improve performance |
1194 (defvar installshield-funarg-constants-list | 1131 (defvar installshield-funarg-constants-list |
1195 (list | 1132 (list |
1395 "WARNING" | 1332 "WARNING" |
1396 "WINMAJOR" | 1333 "WINMAJOR" |
1397 "WINMINOR" | 1334 "WINMINOR" |
1398 "WIN32SINSTALLED" | 1335 "WIN32SINSTALLED" |
1399 "WIN32SMAJOR" | 1336 "WIN32SMAJOR" |
1400 "WIN32SMINOR" | 1337 "WIN32SMINOR") |
1401 ) | |
1402 "Function argument constants used in InstallShield 3 and 5.") | 1338 "Function argument constants used in InstallShield 3 and 5.") |
1403 | 1339 |
1404 (progn | 1340 (defvar rul-generic-mode-syntax-table nil |
1405 (defvar rul-generic-mode-syntax-table nil | 1341 "Syntax table to use in rul-generic-mode buffers.") |
1406 "Syntax table to use in rul-generic-mode buffers.") | 1342 |
1407 | 1343 (setq rul-generic-mode-syntax-table |
1408 (setq rul-generic-mode-syntax-table | 1344 (make-syntax-table c++-mode-syntax-table)) |
1409 (make-syntax-table c++-mode-syntax-table)) | 1345 |
1410 | 1346 (modify-syntax-entry ?\r "> b" rul-generic-mode-syntax-table) |
1411 (modify-syntax-entry ?\r "> b" rul-generic-mode-syntax-table) | 1347 (modify-syntax-entry ?\n "> b" rul-generic-mode-syntax-table) |
1412 (modify-syntax-entry ?\n "> b" rul-generic-mode-syntax-table) | 1348 |
1413 | 1349 (modify-syntax-entry ?/ ". 124b" rul-generic-mode-syntax-table) |
1414 (modify-syntax-entry ?/ ". 124b" rul-generic-mode-syntax-table) | 1350 (modify-syntax-entry ?* ". 23" rul-generic-mode-syntax-table) |
1415 (modify-syntax-entry ?* ". 23" rul-generic-mode-syntax-table) | 1351 |
1416 | 1352 ;; here manually instead |
1417 ;; here manually instead | 1353 (defun generic-rul-mode-setup-function () |
1418 (defun generic-rul-mode-setup-function () | 1354 (make-local-variable 'parse-sexp-ignore-comments) |
1419 (make-local-variable 'parse-sexp-ignore-comments) | 1355 (make-local-variable 'comment-start) |
1420 (make-local-variable 'comment-start) | 1356 (make-local-variable 'comment-start-skip) |
1421 (make-local-variable 'comment-start-skip) | 1357 (make-local-variable 'comment-end) |
1422 (make-local-variable 'comment-end) | 1358 (setq imenu-generic-expression |
1423 (setq imenu-generic-expression | 1359 '((nil "^function\\s-+\\([A-Za-z0-9_]+\\)" 1)) |
1424 '((nil "^function\\s-+\\([A-Za-z0-9_]+\\)" 1)) | 1360 parse-sexp-ignore-comments t |
1425 parse-sexp-ignore-comments t | 1361 comment-end "*/" |
1426 comment-end "*/" | 1362 comment-start "/*" |
1427 comment-start "/*" | 1363 ;;; comment-end "" |
1428 ;; comment-end "" | 1364 ;;; comment-start "//" |
1429 ;; comment-start "//" | 1365 ;;; comment-start-skip "" |
1430 ;; comment-start-skip "" | 1366 ) |
1431 ) | 1367 ;; (set-syntax-table rul-generic-mode-syntax-table) |
1432 ;; (set-syntax-table rul-generic-mode-syntax-table) | 1368 (setq font-lock-syntax-table rul-generic-mode-syntax-table)) |
1433 (setq font-lock-syntax-table rul-generic-mode-syntax-table) | 1369 |
1434 ) | 1370 ;; moved mode-definition behind defun-definition to be warning-free - 15.11.02/RSan |
1435 | 1371 (define-generic-mode rul-generic-mode |
1436 ;; moved mode-definition behind defun-definition to be warning-free - 15.11.02/RSan | 1372 ;; Using "/*" and "*/" doesn't seem to be working right |
1437 (define-generic-mode 'rul-generic-mode | 1373 (list "//" '("/*" . "*/" )) |
1438 ;; Using "/*" and "*/" doesn't seem to be working right | 1374 installshield-statement-keyword-list |
1439 (list "//" '("/*" . "*/" )) | 1375 (list |
1440 installshield-statement-keyword-list | 1376 ;; preprocessor constructs |
1441 (list | 1377 '("#[ \t]*include[ \t]+\\(<[^>\"\n]+>\\)" |
1442 ;; preprocessor constructs | 1378 1 font-lock-string-face) |
1443 '("#[ \t]*include[ \t]+\\(<[^>\"\n]+>\\)" | 1379 '("#[ \t]*\\(\\sw+\\)\\>[ \t]*\\(\\sw+\\)?" |
1444 1 font-lock-string-face) | 1380 (1 font-lock-reference-face) |
1445 '("#[ \t]*\\(\\sw+\\)\\>[ \t]*\\(\\sw+\\)?" | 1381 (2 font-lock-variable-name-face nil t)) |
1446 (1 font-lock-reference-face) | 1382 ;; indirect string constants |
1447 (2 font-lock-variable-name-face nil t)) | 1383 '("\\(@[A-Za-z][A-Za-z0-9_]+\\)" 1 font-lock-builtin-face) |
1448 ;; indirect string constants | 1384 ;; gotos |
1449 '("\\(@[A-Za-z][A-Za-z0-9_]+\\)" 1 font-lock-builtin-face) | 1385 '("[ \t]*\\(\\sw+:\\)" 1 font-lock-reference-face) |
1450 ;; gotos | 1386 '("\\<\\(goto\\)\\>[ \t]*\\(\\sw+\\)?" |
1451 '("[ \t]*\\(\\sw+:\\)" 1 font-lock-reference-face) | 1387 (1 font-lock-keyword-face) |
1452 '("\\<\\(goto\\)\\>[ \t]*\\(\\sw+\\)?" | 1388 (2 font-lock-reference-face nil t)) |
1453 (1 font-lock-keyword-face) | 1389 ;; system variables |
1454 (2 font-lock-reference-face nil t)) | 1390 (generic-make-keywords-list |
1455 ;; system variables | 1391 installshield-system-variables-list |
1456 (generic-make-keywords-list | 1392 'font-lock-variable-name-face "[^_]" "[^_]") |
1457 installshield-system-variables-list | 1393 ;; system functions |
1458 'font-lock-variable-name-face "[^_]" "[^_]") | 1394 (generic-make-keywords-list |
1459 ;; system functions | 1395 installshield-system-functions-list |
1460 (generic-make-keywords-list | 1396 'font-lock-function-name-face "[^_]" "[^_]") |
1461 installshield-system-functions-list | 1397 ;; type keywords |
1462 'font-lock-function-name-face "[^_]" "[^_]") | 1398 (generic-make-keywords-list |
1463 ;; type keywords | 1399 installshield-types-list |
1464 (generic-make-keywords-list | 1400 'font-lock-type-face "[^_]" "[^_]") |
1465 installshield-types-list | 1401 ;; function argument constants |
1466 'font-lock-type-face "[^_]" "[^_]") | 1402 (generic-make-keywords-list |
1467 ;; function argument constants | 1403 installshield-funarg-constants-list |
1468 (generic-make-keywords-list | 1404 'font-lock-variable-name-face "[^_]" "[^_]")) ; is this face the best choice? |
1469 installshield-funarg-constants-list | 1405 (list "\\.[rR][uU][lL]$") |
1470 'font-lock-variable-name-face "[^_]" "[^_]") ; is this face the best choice? | 1406 (list 'generic-rul-mode-setup-function) |
1471 ) | 1407 "Generic mode for InstallShield RUL files.") |
1472 (list "\\.[rR][uU][lL]$") | 1408 |
1473 (list 'generic-rul-mode-setup-function) | |
1474 "Generic mode for InstallShield RUL files.") | |
1475 ) | |
1476 (define-skeleton rul-if | 1409 (define-skeleton rul-if |
1477 "Insert an if statement." | 1410 "Insert an if statement." |
1478 "condition: " | 1411 "condition: " |
1479 "if(" str ") then" \n | 1412 "if(" str ") then" \n |
1480 > _ \n | 1413 > _ \n |
1481 ( "other condition, %s: " | 1414 ( "other condition, %s: " |
1482 > "elseif(" str ") then" \n | 1415 > "elseif(" str ") then" \n |
1483 > \n) | 1416 > \n) |
1484 > "else" \n | 1417 > "else" \n |
1485 > \n | 1418 > \n |
1486 resume: | 1419 resume: |
1487 > "endif;" | 1420 > "endif;") |
1488 ) | |
1489 | 1421 |
1490 (define-skeleton rul-function | 1422 (define-skeleton rul-function |
1491 "Insert a function statement." | 1423 "Insert a function statement." |
1492 "function: " | 1424 "function: " |
1493 "function " str " ()" \n | 1425 "function " str " ()" \n |
1494 ( "local variables, %s: " | 1426 ( "local variables, %s: " |
1495 > " " str ";" \n) | 1427 > " " str ";" \n) |
1496 > "begin" \n | 1428 > "begin" \n |
1497 > _ \n | 1429 > _ \n |
1498 resume: | 1430 resume: |
1499 > "end;") | 1431 > "end;")) |
1500 | |
1501 ) | |
1502 | 1432 |
1503 ;; Additions by ACorreir@pervasive-sw.com (Alfred Correira) | 1433 ;; Additions by ACorreir@pervasive-sw.com (Alfred Correira) |
1504 (define-generic-mode 'mailrc-generic-mode | 1434 (define-generic-mode mailrc-generic-mode |
1505 (list ?#) | 1435 (list ?#) |
1506 (list | 1436 (list |
1507 "alias" | 1437 "alias" |
1508 "else" | 1438 "else" |
1509 "endif" | 1439 "endif" |
1510 "group" | 1440 "group" |
1511 "if" | 1441 "if" |
1512 "ignore" | 1442 "ignore" |
1513 "set" | 1443 "set" |
1514 "source" | 1444 "source" |
1515 "unset" | 1445 "unset") |
1516 ) | |
1517 '(("^\\s-*\\(alias\\|group\\)\\s-+\\([-A-Za-z0-9_]+\\)\\s-+\\([^\n\r#]*\\)\\(#.*\\)?$" | 1446 '(("^\\s-*\\(alias\\|group\\)\\s-+\\([-A-Za-z0-9_]+\\)\\s-+\\([^\n\r#]*\\)\\(#.*\\)?$" |
1518 (2 font-lock-constant-face) (3 font-lock-variable-name-face)) | 1447 (2 font-lock-constant-face) (3 font-lock-variable-name-face)) |
1519 ("^\\s-*\\(unset\\|set\\|ignore\\)\\s-+\\([-A-Za-z0-9_]+\\)=?\\([^\n\r#]*\\)\\(#.*\\)?$" | 1448 ("^\\s-*\\(unset\\|set\\|ignore\\)\\s-+\\([-A-Za-z0-9_]+\\)=?\\([^\n\r#]*\\)\\(#.*\\)?$" |
1520 (2 font-lock-constant-face) (3 font-lock-variable-name-face)) | 1449 (2 font-lock-constant-face) (3 font-lock-variable-name-face)) |
1521 ("^\\s-*\\(source\\)\\s-+\\([^\n\r#]*\\)\\(#.*\\)?$" | 1450 ("^\\s-*\\(source\\)\\s-+\\([^\n\r#]*\\)\\(#.*\\)?$" |
1523 (list "\\.mailrc\\'") | 1452 (list "\\.mailrc\\'") |
1524 nil | 1453 nil |
1525 "Mode for mailrc files.") | 1454 "Mode for mailrc files.") |
1526 | 1455 |
1527 ;; Inetd.conf | 1456 ;; Inetd.conf |
1528 (and | 1457 (when (memq 'inetd-conf-generic-mode generic-extras-enable-list) |
1529 (memq 'inetd-conf-generic-mode generic-extras-enable-list) | 1458 |
1530 | 1459 (define-generic-mode inetd-conf-generic-mode |
1531 (define-generic-mode 'inetd-conf-generic-mode | |
1532 (list ?#) | 1460 (list ?#) |
1533 (list | 1461 (list |
1534 "stream" | 1462 "stream" |
1535 "dgram" | 1463 "dgram" |
1536 "tcp" | 1464 "tcp" |
1537 "udp" | 1465 "udp" |
1538 "wait" | 1466 "wait" |
1539 "nowait" | 1467 "nowait" |
1540 "internal" | 1468 "internal") |
1541 ) | 1469 '(("^\\([-A-Za-z0-9_]+\\)" |
1542 '( | 1470 1 'font-lock-type-face)) |
1543 ("^\\([-A-Za-z0-9_]+\\)" | |
1544 1 'font-lock-type-face) | |
1545 ) | |
1546 '("/etc/inetd.conf\\'") | 1471 '("/etc/inetd.conf\\'") |
1547 (list | 1472 (list |
1548 (function | 1473 (function |
1549 (lambda () | 1474 (lambda () |
1550 (setq imenu-generic-expression | 1475 (setq imenu-generic-expression |
1551 '((nil "^\\([-A-Za-z0-9_]+\\)" 1))) | 1476 '((nil "^\\([-A-Za-z0-9_]+\\)" 1)))))))) |
1552 ))) | |
1553 ) | |
1554 ) | |
1555 | 1477 |
1556 ;; Services | 1478 ;; Services |
1557 (and | 1479 (when (memq 'etc-services-generic-mode generic-extras-enable-list) |
1558 (memq 'etc-services-generic-mode generic-extras-enable-list) | 1480 |
1559 | 1481 (define-generic-mode etc-services-generic-mode |
1560 (define-generic-mode 'etc-services-generic-mode | |
1561 (list ?#) | 1482 (list ?#) |
1562 (list | 1483 (list |
1563 "tcp" | 1484 "tcp" |
1564 "udp" | 1485 "udp" |
1565 "ddp" | 1486 "ddp") |
1566 ) | 1487 '(("^\\([-A-Za-z0-9_]+\\)\\s-+\\([0-9]+\\)/" |
1567 '( | |
1568 ("^\\([-A-Za-z0-9_]+\\)\\s-+\\([0-9]+\\)/" | |
1569 (1 'font-lock-type-face) | 1488 (1 'font-lock-type-face) |
1570 (2 'font-lock-variable-name-face) | 1489 (2 'font-lock-variable-name-face))) |
1571 ) | |
1572 ) | |
1573 '("/etc/services\\'") | 1490 '("/etc/services\\'") |
1574 (list | 1491 (list |
1575 (function | 1492 (function |
1576 (lambda () | 1493 (lambda () |
1577 (setq imenu-generic-expression | 1494 (setq imenu-generic-expression |
1578 '((nil "^\\([-A-Za-z0-9_]+\\)" 1))) | 1495 '((nil "^\\([-A-Za-z0-9_]+\\)" 1)))))))) |
1579 ))) | |
1580 ) | |
1581 ) | |
1582 | 1496 |
1583 ;; Password and Group files | 1497 ;; Password and Group files |
1584 (and | 1498 (when (memq 'etc-passwd-generic-mode generic-extras-enable-list) |
1585 (memq 'etc-passwd-generic-mode generic-extras-enable-list) | 1499 |
1586 | 1500 (define-generic-mode etc-passwd-generic-mode |
1587 (define-generic-mode 'etc-passwd-generic-mode | |
1588 nil ;; No comment characters | 1501 nil ;; No comment characters |
1589 (list "root") ;; Only one keyword | 1502 (list "root") ;; Only one keyword |
1590 (list | 1503 (list |
1591 (list | 1504 (list |
1592 (concat | 1505 (concat |
1593 "^" | 1506 "^" |
1594 ;; User name -- Never blank! | 1507 ;; User name -- Never blank! |
1595 "\\([^:]+\\)" | 1508 "\\([^:]+\\)" |
1596 ":" | 1509 ":" |
1597 ;; Password, UID and GID | 1510 ;; Password, UID and GID |
1598 (mapconcat | 1511 (mapconcat |
1599 'identity | 1512 'identity |
1600 (make-list 3 "\\([^:]+\\)") | 1513 (make-list 3 "\\([^:]+\\)") |
1601 ":" | 1514 ":") |
1602 ) | 1515 ":" |
1603 ":" | 1516 ;; GECOS/Name -- might be blank |
1604 ;; GECOS/Name -- might be blank | 1517 "\\([^:]*\\)" |
1605 "\\([^:]*\\)" | 1518 ":" |
1606 ":" | 1519 ;; Home directory and shell |
1607 ;; Home directory and shell | 1520 "\\([^:]+\\)" |
1608 "\\([^:]+\\)" | 1521 ":?" |
1609 ":?" | 1522 "\\([^:]*\\)" |
1610 "\\([^:]*\\)" | 1523 "$") |
1611 "$" | 1524 '(1 'font-lock-type-face) |
1612 ) | 1525 '(5 'font-lock-variable-name-face) |
1613 '(1 'font-lock-type-face) | 1526 '(6 'font-lock-constant-face) |
1614 '(5 'font-lock-variable-name-face) | 1527 '(7 'font-lock-warning-face)) |
1615 '(6 'font-lock-constant-face) | 1528 '("^\\([^:]+\\):\\([^:]*\\):\\([0-9]+\\):\\(.*\\)$" |
1616 '(7 'font-lock-warning-face) | 1529 (1 'font-lock-type-face) |
1617 ) | 1530 (4 'font-lock-variable-name-face))) |
1618 '("^\\([^:]+\\):\\([^:]*\\):\\([0-9]+\\):\\(.*\\)$" | |
1619 (1 'font-lock-type-face) | |
1620 (4 'font-lock-variable-name-face) | |
1621 ) | |
1622 ) | |
1623 '("/etc/passwd\\'" "/etc/group\\'") | 1531 '("/etc/passwd\\'" "/etc/group\\'") |
1624 (list | 1532 (list |
1625 (function | 1533 (function |
1626 (lambda () | 1534 (lambda () |
1627 (setq imenu-generic-expression | 1535 (setq imenu-generic-expression |
1628 '((nil "^\\([-A-Za-z0-9_]+\\):" 1))) | 1536 '((nil "^\\([-A-Za-z0-9_]+\\):" 1)))))))) |
1629 ))) | |
1630 ) | |
1631 ) | |
1632 | 1537 |
1633 ;; Fstab | 1538 ;; Fstab |
1634 (and | 1539 (when (memq 'etc-fstab-generic-mode generic-extras-enable-list) |
1635 (memq 'etc-fstab-generic-mode generic-extras-enable-list) | 1540 |
1636 | 1541 (define-generic-mode etc-fstab-generic-mode |
1637 (define-generic-mode 'etc-fstab-generic-mode | |
1638 (list ?#) | 1542 (list ?#) |
1639 (list | 1543 (list |
1544 "adfs" | |
1545 "affs" | |
1546 "autofs" | |
1547 "coda" | |
1548 "coherent" | |
1549 "cramfs" | |
1550 "devpts" | |
1551 "efs" | |
1640 "ext2" | 1552 "ext2" |
1641 "fd" | 1553 "ext3" |
1554 "hfs" | |
1555 "hpfs" | |
1642 "iso9660" | 1556 "iso9660" |
1557 "jfs" | |
1558 "minix" | |
1559 "msdos" | |
1560 "ncpfs" | |
1643 "nfs" | 1561 "nfs" |
1562 "ntfs" | |
1644 "proc" | 1563 "proc" |
1564 "qnx4" | |
1565 "reiserfs" | |
1566 "romfs" | |
1567 "smbfs" | |
1568 "sysv" | |
1569 "tmpfs" | |
1570 "udf" | |
1571 "ufs" | |
1572 "umsdos" | |
1573 "vfat" | |
1574 "xenix" | |
1575 "xfs" | |
1645 "swap" | 1576 "swap" |
1646 "ufs" | 1577 "auto" |
1647 ) | 1578 "ignore") |
1648 '( | 1579 '(("^\\([/-A-Za-z0-9_]+\\)\\s-+\\([/-A-Za-z0-9_]+\\)" |
1649 ("^\\([/-A-Za-z0-9_]+\\)\\s-+\\([/-A-Za-z0-9_]+\\)" | |
1650 (1 'font-lock-type-face) | 1580 (1 'font-lock-type-face) |
1651 (2 'font-lock-variable-name-face) | 1581 (2 'font-lock-variable-name-face))) |
1652 ) | |
1653 ) | |
1654 '("/etc/[v]*fstab\\'") | 1582 '("/etc/[v]*fstab\\'") |
1655 (list | 1583 (list |
1656 (function | 1584 (function |
1657 (lambda () | 1585 (lambda () |
1658 (setq imenu-generic-expression | 1586 (setq imenu-generic-expression |
1659 '((nil "^\\([/-A-Za-z0-9_]+\\)\\s-+" 1))) | 1587 '((nil "^\\([/-A-Za-z0-9_]+\\)\\s-+" 1)))))))) |
1660 ))) | |
1661 ) | |
1662 ) | |
1663 | 1588 |
1664 ;; From Jacques Duthen <jacques.duthen@sncf.fr> | 1589 ;; From Jacques Duthen <jacques.duthen@sncf.fr> |
1665 (defvar show-tabs-generic-mode-font-lock-defaults-1 | 1590 (defvar show-tabs-generic-mode-font-lock-defaults-1 |
1666 '( ;; trailing spaces must come before... | 1591 '( ;; trailing spaces must come before... |
1667 ("[ \t]+$" . 'show-tabs-space-face) | 1592 ("[ \t]+$" . 'show-tabs-space-face) |
1668 ;; ...embedded tabs | 1593 ;; ...embedded tabs |
1669 ("[^\n\t]\\(\t+\\)" (1 'show-tabs-tab-face)))) | 1594 ("[^\n\t]\\(\t+\\)" (1 'show-tabs-tab-face)))) |
1670 | 1595 |
1671 (defvar show-tabs-generic-mode-font-lock-defaults-2 | 1596 (defvar show-tabs-generic-mode-font-lock-defaults-2 |
1672 '( ;; trailing spaces must come before... | 1597 '( ;; trailing spaces must come before... |
1673 ("[ \t]+$" . 'show-tabs-space-face) | 1598 ("[ \t]+$" . 'show-tabs-space-face) |
1674 ;; ...tabs | 1599 ;; ...tabs |
1675 ("\t+" . 'show-tabs-tab-face))) | 1600 ("\t+" . 'show-tabs-tab-face))) |
1676 | 1601 |
1677 (defface show-tabs-tab-face | 1602 (defface show-tabs-tab-face |
1678 '((((class grayscale) (background light)) (:foreground "LightGray" :weight bold)) | 1603 '((((class grayscale) (background light)) (:foreground "LightGray" :weight bold)) |
1679 (((class grayscale) (background dark)) (:foreground "DimGray" :weight bold)) | 1604 (((class grayscale) (background dark)) (:foreground "DimGray" :weight bold)) |
1680 (((class color) (background light)) (:foreground "red")) | 1605 (((class color) (background light)) (:foreground "red")) |
1690 (((class color) (background dark)) (:foreground "yellow")) | 1615 (((class color) (background dark)) (:foreground "yellow")) |
1691 (t (:weight bold))) | 1616 (t (:weight bold))) |
1692 "Font Lock mode face used to highlight spaces." | 1617 "Font Lock mode face used to highlight spaces." |
1693 :group 'show-tabs) | 1618 :group 'show-tabs) |
1694 | 1619 |
1695 (define-generic-mode 'show-tabs-generic-mode | 1620 (define-generic-mode show-tabs-generic-mode |
1696 () ;; no comment char | 1621 () ;; no comment char |
1697 () ;; no keywords | 1622 () ;; no keywords |
1698 show-tabs-generic-mode-font-lock-defaults-1 | 1623 show-tabs-generic-mode-font-lock-defaults-1 |
1699 () ;; no auto-mode-alist | 1624 () ;; no auto-mode-alist |
1700 ;; (list 'show-tabs-generic-mode-hook-fun) | 1625 ;; (list 'show-tabs-generic-mode-hook-fun) |
1701 nil | 1626 nil |
1702 "Generic mode to show tabs and trailing spaces") | 1627 "Generic mode to show tabs and trailing spaces") |
1703 | 1628 |
1704 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | 1629 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
1705 ;; DNS modes | 1630 ;; DNS modes |
1706 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | 1631 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
1707 | 1632 |
1708 (define-generic-mode 'named-boot-generic-mode | 1633 (define-generic-mode named-boot-generic-mode |
1709 ;;List of comment characters | 1634 ;; List of comment characters |
1710 (list ?\;) | 1635 (list ?\;) |
1711 ;;List of keywords | 1636 ;; List of keywords |
1712 (list "cache" "primary" "secondary" "forwarders" "limit" "options" | 1637 (list "cache" "primary" "secondary" "forwarders" "limit" "options" |
1713 "directory" "check-names") | 1638 "directory" "check-names") |
1714 ;;List of additional font-lock-expressions | 1639 ;; List of additional font-lock-expressions |
1715 (list | 1640 (list |
1716 (list "\\([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+\\)" 1 'font-lock-constant-face) | 1641 (list "\\([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+\\)" 1 'font-lock-constant-face) |
1717 (list "^directory\\s-+\\(.*\\)" 1 'font-lock-variable-name-face) | 1642 (list "^directory\\s-+\\(.*\\)" 1 'font-lock-variable-name-face) |
1718 (list "^\\(primary\\|cache\\)\\s-+\\([.A-Za-z]+\\)\\s-+\\(.*\\)" | 1643 (list "^\\(primary\\|cache\\)\\s-+\\([.A-Za-z]+\\)\\s-+\\(.*\\)" |
1719 (list 2 'font-lock-variable-name-face) | 1644 (list 2 'font-lock-variable-name-face) |
1720 (list 3 'font-lock-constant-face)) | 1645 (list 3 'font-lock-constant-face))) |
1721 ) | 1646 ;; List of additional automode-alist expressions |
1722 ;;List of additional automode-alist expressions | |
1723 (list "/etc/named.boot\\'") | 1647 (list "/etc/named.boot\\'") |
1724 ;;List of set up functions to call | 1648 ;; List of set up functions to call |
1725 nil | 1649 nil) |
1726 ) | 1650 |
1727 | 1651 (define-generic-mode named-database-generic-mode |
1728 (define-generic-mode 'named-database-generic-mode | 1652 ;; List of comment characters |
1729 ;;List of comment characters | |
1730 (list ?\;) | 1653 (list ?\;) |
1731 ;;List of keywords | 1654 ;; List of keywords |
1732 (list "IN" "NS" "CNAME" "SOA" "PTR" "MX" "A") | 1655 (list "IN" "NS" "CNAME" "SOA" "PTR" "MX" "A") |
1733 ;;List of additional font-lock-expressions | 1656 ;; List of additional font-lock-expressions |
1734 (list | 1657 (list |
1735 (list "\\([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+\\)" 1 'font-lock-constant-face) | 1658 (list "\\([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+\\)" 1 'font-lock-constant-face) |
1736 (list "^\\([.A-Za-z0-9]+\\)" 1 'font-lock-variable-name-face) | 1659 (list "^\\([.A-Za-z0-9]+\\)" 1 'font-lock-variable-name-face)) |
1737 ) | 1660 ;; List of additional automode-alist expressions |
1738 ;;List of additional automode-alist expressions | 1661 nil |
1739 nil | 1662 ;; List of set up functions to call |
1740 ;;List of set up functions to call | 1663 nil) |
1741 nil | |
1742 ) | |
1743 | 1664 |
1744 (defvar named-database-time-string "%Y%m%d%H" | 1665 (defvar named-database-time-string "%Y%m%d%H" |
1745 "Timestring for named serial numbers.") | 1666 "Timestring for named serial numbers.") |
1746 | 1667 |
1747 (defun named-database-print-serial () | 1668 (defun named-database-print-serial () |
1748 "Print a serial number based on the current date." | 1669 "Print a serial number based on the current date." |
1749 (interactive) | 1670 (interactive) |
1750 (insert (format-time-string named-database-time-string (current-time))) | 1671 (insert (format-time-string named-database-time-string (current-time)))) |
1751 ) | 1672 |
1752 | 1673 (define-generic-mode resolve-conf-generic-mode |
1753 (define-generic-mode 'resolve-conf-generic-mode | 1674 ;; List of comment characters |
1754 ;;List of comment characters | |
1755 (list ?#) | 1675 (list ?#) |
1756 ;;List of keywords | 1676 ;; List of keywords |
1757 (list "nameserver" "domain" "search" "sortlist" "options") | 1677 (list "nameserver" "domain" "search" "sortlist" "options") |
1758 ;;List of additional font-lock-expressions | 1678 ;; List of additional font-lock-expressions |
1759 nil | 1679 nil |
1760 ;;List of additional automode-alist expressions | 1680 ;; List of additional automode-alist expressions |
1761 (list "/etc/resolv[e]?.conf\\'") | 1681 (list "/etc/resolv[e]?.conf\\'") |
1762 ;;List of set up functions to call | 1682 ;; List of set up functions to call |
1763 nil | 1683 nil) |
1764 ) | |
1765 | 1684 |
1766 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | 1685 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
1767 ;; Modes for spice and common electrical engineering circuit netlist formats | 1686 ;; Modes for spice and common electrical engineering circuit netlist formats |
1768 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | 1687 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
1769 | 1688 |
1770 (define-generic-mode 'spice-generic-mode | 1689 (define-generic-mode spice-generic-mode |
1771 nil | 1690 nil |
1772 (list | 1691 (list |
1773 "and" | 1692 "and" |
1774 "cccs" | 1693 "cccs" |
1775 "ccvs" | 1694 "ccvs" |
1782 "ppwl" | 1701 "ppwl" |
1783 "pwl" | 1702 "pwl" |
1784 "vccap" | 1703 "vccap" |
1785 "vccs" | 1704 "vccs" |
1786 "vcr" | 1705 "vcr" |
1787 "vcvs" | 1706 "vcvs") |
1788 ) | |
1789 '( | 1707 '( |
1790 ("^\\s-*\\([*].*\\)" 1 'font-lock-comment-face) | 1708 ("^\\s-*\\([*].*\\)" 1 'font-lock-comment-face) |
1791 (" \\(\\$ .*\\)$" 1 'font-lock-comment-face) | 1709 (" \\(\\$ .*\\)$" 1 'font-lock-comment-face) |
1792 ("^\\(\\$ .*\\)$" 1 'font-lock-comment-face) | 1710 ("^\\(\\$ .*\\)$" 1 'font-lock-comment-face) |
1793 ("\\([*].*\\)" 1 'font-lock-comment-face) | 1711 ("\\([*].*\\)" 1 'font-lock-comment-face) |
1794 ("^\\([+]\\)" 1 'font-lock-string-face) | 1712 ("^\\([+]\\)" 1 'font-lock-string-face) |
1795 ("^\\s-*\\([.]\\w+\\>\\)" 1 'font-lock-keyword-face) | 1713 ("^\\s-*\\([.]\\w+\\>\\)" 1 'font-lock-keyword-face) |
1796 ("\\(\\([.]\\|_\\|\\w\\)+\\)\\s-*=" 1 'font-lock-variable-name-face) | 1714 ("\\(\\([.]\\|_\\|\\w\\)+\\)\\s-*=" 1 'font-lock-variable-name-face) |
1797 ("\\('[^']+'\\)" 1 'font-lock-string-face) | 1715 ("\\('[^']+'\\)" 1 'font-lock-string-face) |
1798 ("\\(\"[^\"]+\"\\)" 1 'font-lock-string-face) | 1716 ("\\(\"[^\"]+\"\\)" 1 'font-lock-string-face)) |
1799 ) | |
1800 (list "\\.[sS][pP]\\'" | 1717 (list "\\.[sS][pP]\\'" |
1801 "\\.[sS][pP][iI]\\'" | 1718 "\\.[sS][pP][iI]\\'" |
1802 "\\.[sS][pP][iI][cC][eE]\\'" | 1719 "\\.[sS][pP][iI][cC][eE]\\'" |
1803 "\\.[iI][nN][cC]\\'") | 1720 "\\.[iI][nN][cC]\\'") |
1804 (list | 1721 (list |
1805 'generic-bracket-support | 1722 'generic-bracket-support |
1806 ;; Make keywords case-insensitive | 1723 ;; Make keywords case-insensitive |
1807 (function | 1724 (function |
1808 (lambda() | 1725 (lambda() |
1809 (setq font-lock-defaults (list 'generic-font-lock-defaults nil t)))) | 1726 (setq font-lock-defaults (list 'generic-font-lock-defaults nil t))))) |
1810 ) | 1727 "Generic mode for SPICE circuit netlist files.") |
1811 "Generic mode for SPICE circuit netlist files." | 1728 |
1812 ) | 1729 (define-generic-mode ibis-generic-mode |
1813 | |
1814 (define-generic-mode 'ibis-generic-mode | |
1815 (list ?|) | 1730 (list ?|) |
1816 nil | 1731 nil |
1817 '( | 1732 '( |
1818 ("[[]\\([^]]*\\)[]]" 1 'font-lock-keyword-face) | 1733 ("[[]\\([^]]*\\)[]]" 1 'font-lock-keyword-face) |
1819 ("\\(\\(_\\|\\w\\)+\\)\\s-*=" 1 'font-lock-variable-name-face) | 1734 ("\\(\\(_\\|\\w\\)+\\)\\s-*=" 1 'font-lock-variable-name-face)) |
1820 ) | |
1821 (list "\\.[iI][bB][sS]\\'") | 1735 (list "\\.[iI][bB][sS]\\'") |
1822 (list 'generic-bracket-support) | 1736 (list 'generic-bracket-support) |
1823 "Generic mode for IBIS circuit netlist files." | 1737 "Generic mode for IBIS circuit netlist files.") |
1824 ) | 1738 |
1825 | 1739 (define-generic-mode astap-generic-mode |
1826 (define-generic-mode 'astap-generic-mode | |
1827 nil | 1740 nil |
1828 (list | 1741 (list |
1829 "analyze" | 1742 "analyze" |
1830 "description" | 1743 "description" |
1831 "elements" | 1744 "elements" |
1836 "model" | 1749 "model" |
1837 "outputs" | 1750 "outputs" |
1838 "print" | 1751 "print" |
1839 "run" | 1752 "run" |
1840 "controls" | 1753 "controls" |
1841 "table" | 1754 "table") |
1842 ) | 1755 '(("^\\s-*\\([*].*\\)" 1 'font-lock-comment-face) |
1843 '( | |
1844 ("^\\s-*\\([*].*\\)" 1 'font-lock-comment-face) | |
1845 (";\\s-*\\([*].*\\)" 1 'font-lock-comment-face) | 1756 (";\\s-*\\([*].*\\)" 1 'font-lock-comment-face) |
1846 ("^\\s-*\\([.]\\w+\\>\\)" 1 'font-lock-keyword-face) | 1757 ("^\\s-*\\([.]\\w+\\>\\)" 1 'font-lock-keyword-face) |
1847 ("\\('[^']+'\\)" 1 'font-lock-string-face) | 1758 ("\\('[^']+'\\)" 1 'font-lock-string-face) |
1848 ("\\(\"[^\"]+\"\\)" 1 'font-lock-string-face) | 1759 ("\\(\"[^\"]+\"\\)" 1 'font-lock-string-face) |
1849 ("[(,]\\s-*\\(\\([.]\\|_\\|\\w\\)+\\)\\s-*=" 1 'font-lock-variable-name-face) | 1760 ("[(,]\\s-*\\(\\([.]\\|_\\|\\w\\)+\\)\\s-*=" 1 'font-lock-variable-name-face)) |
1850 ) | |
1851 (list "\\.[aA][pP]\\'" | 1761 (list "\\.[aA][pP]\\'" |
1852 "\\.[aA][sS][xX]\\'" | 1762 "\\.[aA][sS][xX]\\'" |
1853 "\\.[aA][sS][tT][aA][pP]\\'" | 1763 "\\.[aA][sS][tT][aA][pP]\\'" |
1854 "\\.[pP][sS][pP]\\'" | 1764 "\\.[pP][sS][pP]\\'" |
1855 "\\.[dD][eE][cC][kK]\\'" | 1765 "\\.[dD][eE][cC][kK]\\'" |
1857 (list | 1767 (list |
1858 'generic-bracket-support | 1768 'generic-bracket-support |
1859 ;; Make keywords case-insensitive | 1769 ;; Make keywords case-insensitive |
1860 (function | 1770 (function |
1861 (lambda() | 1771 (lambda() |
1862 (setq font-lock-defaults (list 'generic-font-lock-defaults nil t)))) | 1772 (setq font-lock-defaults (list 'generic-font-lock-defaults nil t))))) |
1863 ) | 1773 "Generic mode for ASTAP circuit netlist files.") |
1864 "Generic mode for ASTAP circuit netlist files." | 1774 |
1865 ) | 1775 (define-generic-mode etc-modules-conf-generic-mode |
1866 | 1776 ;; List of comment characters |
1867 (define-generic-mode 'etc-modules-conf-generic-mode | |
1868 ;;List of comment characters | |
1869 (list ?#) | 1777 (list ?#) |
1870 ;;List of keywords | 1778 ;; List of keywords |
1871 (list | 1779 (list |
1872 "above" | 1780 "above" |
1873 "alias" | 1781 "alias" |
1874 "below" | 1782 "below" |
1875 "define" | 1783 "define" |
1898 "post-remove" | 1806 "post-remove" |
1899 "pre-install" | 1807 "pre-install" |
1900 "pre-remove" | 1808 "pre-remove" |
1901 "remove" | 1809 "remove" |
1902 "persistdir") | 1810 "persistdir") |
1903 ;;List of additional font-lock-expressions | 1811 ;; List of additional font-lock-expressions |
1904 nil | 1812 nil |
1905 ;;List of additional automode-alist expressions | 1813 ;; List of additional automode-alist expressions |
1906 (list "/etc/modules.conf" "/etc/conf.modules") | 1814 (list "/etc/modules.conf" "/etc/conf.modules") |
1907 ;;List of set up functions to call | 1815 ;; List of set up functions to call |
1908 nil | 1816 nil) |
1909 ) | |
1910 | 1817 |
1911 (provide 'generic-x) | 1818 (provide 'generic-x) |
1912 | 1819 |
1913 ;;; arch-tag: cde692a5-9ff6-4506-9999-c67999c2bdb5 | 1820 ;;; arch-tag: cde692a5-9ff6-4506-9999-c67999c2bdb5 |
1914 ;;; generic-x.el ends here | 1821 ;;; generic-x.el ends here |