mylisp-obsolete/iar-linker-config-mode.el
author Oleksandr Gavenko <gavenkoa@gmail.com>
Wed, 16 Jun 2021 12:50:08 +0300
changeset 1734 ae2c6a001464
parent 1718 9d72f4424570
permissions -rw-r--r--
Add some standard places to PATH if they are not set by login script. Rearrange the order of paths so system's are first, user's are last. For Cygwin this helps with Cygwin's paths to be situated before "C:/Windows" (Emacs is not started from a login shell on Windows!).
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
56bfc334d076 iar-linker-config-mode
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    10
(define-generic-mode iar-linker-config-mode
56bfc334d076 iar-linker-config-mode
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    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
56bfc334d076 iar-linker-config-mode
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    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
56bfc334d076 iar-linker-config-mode
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    15
     (1 font-lock-keyword-face)
56bfc334d076 iar-linker-config-mode
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    16
     (2 font-lock-variable-name-face)
56bfc334d076 iar-linker-config-mode
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    17
     (3 font-lock-constant-face) )
56bfc334d076 iar-linker-config-mode
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    18
    ("\\(define +memory\\) +\\([_a-zA-Z]+\\) +\\(with +size\\) = \\(0x[0-9a-fA-F]+\\|[0-9]+\\)[GMK]?;"
56bfc334d076 iar-linker-config-mode
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    19
     (1 font-lock-keyword-face)
56bfc334d076 iar-linker-config-mode
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    20
     (2 font-lock-variable-name-face)
56bfc334d076 iar-linker-config-mode
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    21
     (3 font-lock-keyword-face)
56bfc334d076 iar-linker-config-mode
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    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
56bfc334d076 iar-linker-config-mode
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    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
56bfc334d076 iar-linker-config-mode
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    32
    ("\\(define +block\\) +\\([_a-zA-Z]+\\) +\\(with +alignment\\) *= *[0-9]+, *\\(size\\) *= *\\([_a-zA-Z]+\\).*;"
56bfc334d076 iar-linker-config-mode
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    33
     (1 font-lock-keyword-face)
56bfc334d076 iar-linker-config-mode
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    34
     (2 font-lock-variable-name-face)
56bfc334d076 iar-linker-config-mode
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    35
     (3 font-lock-keyword-face)
56bfc334d076 iar-linker-config-mode
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    36
     (4 font-lock-keyword-face)
56bfc334d076 iar-linker-config-mode
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    37
     (5 font-lock-variable-name-face) )
56bfc334d076 iar-linker-config-mode
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    38
    ("\\(do +not +initialize\\) *{"
56bfc334d076 iar-linker-config-mode
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    39
     (1 font-lock-keyword-face) )
56bfc334d076 iar-linker-config-mode
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    40
    ("\\(place +in\\) +\\([_a-zA-Z]+\\) *{"
56bfc334d076 iar-linker-config-mode
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    41
     (1 font-lock-keyword-face)
56bfc334d076 iar-linker-config-mode
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    42
     (2 font-lock-variable-name-face) )
56bfc334d076 iar-linker-config-mode
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    43
    ("\\(place +at +address\\) +\\([_a-zA-Z]+\\):\\([_a-zA-Z]+\\) *{"
56bfc334d076 iar-linker-config-mode
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    44
     (1 font-lock-keyword-face)
56bfc334d076 iar-linker-config-mode
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    45
     (2 font-lock-variable-name-face)
56bfc334d076 iar-linker-config-mode
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    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
56bfc334d076 iar-linker-config-mode
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    52
    )
56bfc334d076 iar-linker-config-mode
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    53
  (list "\\.\\(icf\\)\\'")
56bfc334d076 iar-linker-config-mode
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    54
  (list
56bfc334d076 iar-linker-config-mode
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    55
   (lambda () (setq comment-start "/* " comment-end " */"))
56bfc334d076 iar-linker-config-mode
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    56
   )
56bfc334d076 iar-linker-config-mode
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    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