author | Oleksandr Gavenko <gavenkoa@gmail.com> |
Tue, 03 May 2022 09:10:27 +0300 | |
changeset 1754 | c9f5c4f83bde |
parent 1718 | 9d72f4424570 |
permissions | -rw-r--r-- |
257
2f3ac763c340
Make docs headers according to 'Conventional Headers for Emacs Libraries'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
212
diff
changeset
|
1 |
;;; iar-linker-config-mode.el --- major mode for highlighting IAR Embedded Workbench 5.x linker scripts |
2f3ac763c340
Make docs headers according to 'Conventional Headers for Emacs Libraries'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
212
diff
changeset
|
2 |
|
2f3ac763c340
Make docs headers according to 'Conventional Headers for Emacs Libraries'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
212
diff
changeset
|
3 |
;;; Commentary: |
2f3ac763c340
Make docs headers according to 'Conventional Headers for Emacs Libraries'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
212
diff
changeset
|
4 |
;; |
1718
9d72f4424570
Removed mentioning of author and copyright from all files' headers.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
1662
diff
changeset
|
5 |
;; Very poor highlighting, not all syntax is covered. |
257
2f3ac763c340
Make docs headers according to 'Conventional Headers for Emacs Libraries'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
212
diff
changeset
|
6 |
|
2f3ac763c340
Make docs headers according to 'Conventional Headers for Emacs Libraries'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
212
diff
changeset
|
7 |
;;; Code: |
2f3ac763c340
Make docs headers according to 'Conventional Headers for Emacs Libraries'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
212
diff
changeset
|
8 |
|
274
7c18567f0754
Added autoload magic comment for main mode function.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
270
diff
changeset
|
9 |
;;;###autoload |
193 | 10 |
(define-generic-mode iar-linker-config-mode |
11 |
'("// " ("/*" . "*/")) |
|
209
9047c4e41e02
Correct highlighting in iar-linker-config-mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
195
diff
changeset
|
12 |
'("zeroinit" "code" "readwrite" "rw" "readonly" "ro") |
193 | 13 |
'( |
209
9047c4e41e02
Correct highlighting in iar-linker-config-mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
195
diff
changeset
|
14 |
("\\(define +symbol\\) +\\([_a-zA-Z0-9]+\\) *= *\\(0x[0-9a-fA-F]+\\);" |
193 | 15 |
(1 font-lock-keyword-face) |
16 |
(2 font-lock-variable-name-face) |
|
17 |
(3 font-lock-constant-face) ) |
|
18 |
("\\(define +memory\\) +\\([_a-zA-Z]+\\) +\\(with +size\\) = \\(0x[0-9a-fA-F]+\\|[0-9]+\\)[GMK]?;" |
|
19 |
(1 font-lock-keyword-face) |
|
20 |
(2 font-lock-variable-name-face) |
|
21 |
(3 font-lock-keyword-face) |
|
22 |
(4 font-lock-constant-face) ) |
|
212
4618907607b5
Correct highlighting in iar-linker-config-mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
209
diff
changeset
|
23 |
("\\([_a-zA-Z]+\\):\\[\\(from\\) +\\([_a-zA-Z0-9]+\\) +\\(to\\|size\\) +\\([_a-zA-Z0-9]+\\)\\]" |
4618907607b5
Correct highlighting in iar-linker-config-mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
209
diff
changeset
|
24 |
(1 font-lock-variable-name-face) |
4618907607b5
Correct highlighting in iar-linker-config-mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
209
diff
changeset
|
25 |
(2 font-lock-keyword-face) |
4618907607b5
Correct highlighting in iar-linker-config-mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
209
diff
changeset
|
26 |
(3 font-lock-variable-name-face) |
4618907607b5
Correct highlighting in iar-linker-config-mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
209
diff
changeset
|
27 |
(4 font-lock-keyword-face) |
4618907607b5
Correct highlighting in iar-linker-config-mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
209
diff
changeset
|
28 |
(5 font-lock-variable-name-face) ) |
4618907607b5
Correct highlighting in iar-linker-config-mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
209
diff
changeset
|
29 |
("\\(define +region\\) +\\([_a-zA-Z]+\\) *=" |
193 | 30 |
(1 font-lock-keyword-face) |
212
4618907607b5
Correct highlighting in iar-linker-config-mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
209
diff
changeset
|
31 |
(2 font-lock-variable-name-face) ) |
193 | 32 |
("\\(define +block\\) +\\([_a-zA-Z]+\\) +\\(with +alignment\\) *= *[0-9]+, *\\(size\\) *= *\\([_a-zA-Z]+\\).*;" |
33 |
(1 font-lock-keyword-face) |
|
34 |
(2 font-lock-variable-name-face) |
|
35 |
(3 font-lock-keyword-face) |
|
36 |
(4 font-lock-keyword-face) |
|
37 |
(5 font-lock-variable-name-face) ) |
|
38 |
("\\(do +not +initialize\\) *{" |
|
39 |
(1 font-lock-keyword-face) ) |
|
40 |
("\\(place +in\\) +\\([_a-zA-Z]+\\) *{" |
|
41 |
(1 font-lock-keyword-face) |
|
42 |
(2 font-lock-variable-name-face) ) |
|
43 |
("\\(place +at +address\\) +\\([_a-zA-Z]+\\):\\([_a-zA-Z]+\\) *{" |
|
44 |
(1 font-lock-keyword-face) |
|
45 |
(2 font-lock-variable-name-face) |
|
46 |
(3 font-lock-variable-name-face) ) |
|
194
a00fe2a384f9
adds new match for highlighting in iar-linker-config-mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
193
diff
changeset
|
47 |
("\\(initialize by copy\\) *{" |
a00fe2a384f9
adds new match for highlighting in iar-linker-config-mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
193
diff
changeset
|
48 |
(1 font-lock-keyword-face) ) |
209
9047c4e41e02
Correct highlighting in iar-linker-config-mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
195
diff
changeset
|
49 |
("\\(block\\|section\\) +\\([_.a-zA-Z0-9]+\\)" |
9047c4e41e02
Correct highlighting in iar-linker-config-mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
195
diff
changeset
|
50 |
(1 font-lock-keyword-face) |
9047c4e41e02
Correct highlighting in iar-linker-config-mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
195
diff
changeset
|
51 |
(2 font-lock-variable-name-face) ) |
193 | 52 |
) |
53 |
(list "\\.\\(icf\\)\\'") |
|
54 |
(list |
|
55 |
(lambda () (setq comment-start "/* " comment-end " */")) |
|
56 |
) |
|
57 |
"Generic mode for iar linker config files.") |
|
258
29533873ee3e
Fix docs headers according to 'Conventional Headers for Emacs Libraries'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
257
diff
changeset
|
58 |
|
29533873ee3e
Fix docs headers according to 'Conventional Headers for Emacs Libraries'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
257
diff
changeset
|
59 |
(provide 'iar-linker-config-mode) |
29533873ee3e
Fix docs headers according to 'Conventional Headers for Emacs Libraries'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
257
diff
changeset
|
60 |
|
257
2f3ac763c340
Make docs headers according to 'Conventional Headers for Emacs Libraries'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
212
diff
changeset
|
61 |
;;; iar-linker-config-mode.el ends here |