lisp/iar4-linker-config-mode.el
author Oleksandr Gavenko <gavenkoa@gmail.com>
Thu, 28 Jan 2010 21:29:40 +0200
changeset 274 7c18567f0754
parent 270 61173396cfe4
child 279 fd6164dfec82
permissions -rw-r--r--
Added autoload magic comment for main mode function.
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: 236
diff changeset
     1
;;; iar-linker-config-mode.el --- major mode for highlighting IAR Embedded Workbench 4.x linker scripts
2f3ac763c340 Make docs headers according to 'Conventional Headers for Emacs Libraries'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 236
diff changeset
     2
2f3ac763c340 Make docs headers according to 'Conventional Headers for Emacs Libraries'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 236
diff changeset
     3
;; Copyright (C) 2009, 2010 by Oleksandr Gavenko <gavenkoa@gmail.com>
2f3ac763c340 Make docs headers according to 'Conventional Headers for Emacs Libraries'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 236
diff changeset
     4
2f3ac763c340 Make docs headers according to 'Conventional Headers for Emacs Libraries'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 236
diff changeset
     5
;; Author: Oleksandr Gavenko <gavenkoa@gmail.com>
2f3ac763c340 Make docs headers according to 'Conventional Headers for Emacs Libraries'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 236
diff changeset
     6
;; Maintainer: Oleksandr Gavenko <gavenkoa@gmail.com>
2f3ac763c340 Make docs headers according to 'Conventional Headers for Emacs Libraries'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 236
diff changeset
     7
;; Created: 2009-11-04
2f3ac763c340 Make docs headers according to 'Conventional Headers for Emacs Libraries'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 236
diff changeset
     8
;; Version: 0.1
2f3ac763c340 Make docs headers according to 'Conventional Headers for Emacs Libraries'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 236
diff changeset
     9
;; Keywords: languages
2f3ac763c340 Make docs headers according to 'Conventional Headers for Emacs Libraries'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 236
diff changeset
    10
2f3ac763c340 Make docs headers according to 'Conventional Headers for Emacs Libraries'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 236
diff changeset
    11
;;; Commentary:
2f3ac763c340 Make docs headers according to 'Conventional Headers for Emacs Libraries'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 236
diff changeset
    12
;;
2f3ac763c340 Make docs headers according to 'Conventional Headers for Emacs Libraries'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 236
diff changeset
    13
;; Very pure highlighting and not all available syntax.
2f3ac763c340 Make docs headers according to 'Conventional Headers for Emacs Libraries'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 236
diff changeset
    14
2f3ac763c340 Make docs headers according to 'Conventional Headers for Emacs Libraries'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 236
diff changeset
    15
;;; Code:
2f3ac763c340 Make docs headers according to 'Conventional Headers for Emacs Libraries'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 236
diff changeset
    16
274
7c18567f0754 Added autoload magic comment for main mode function.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 270
diff changeset
    17
;;;###autoload
210
b1404f54ec30 Added iar4-linker-config-mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    18
(define-generic-mode iar4-linker-config-mode
b1404f54ec30 Added iar4-linker-config-mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    19
  '("// " ("/*" . "*/"))
b1404f54ec30 Added iar4-linker-config-mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    20
  nil
b1404f54ec30 Added iar4-linker-config-mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    21
  '(
b1404f54ec30 Added iar4-linker-config-mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    22
    ("^\\(-c\\)\\([_a-zA-Z]+\\)"
b1404f54ec30 Added iar4-linker-config-mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    23
     (1 font-lock-keyword-face)
b1404f54ec30 Added iar4-linker-config-mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    24
     (2 font-lock-variable-name-face) )
b1404f54ec30 Added iar4-linker-config-mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    25
    ("^\\(-D\\)\\([_a-zA-Z0-9]+\\)=\\(\\(0x\\)?[0-9a-fA-F]+\\|.[0-9]+\\)"
b1404f54ec30 Added iar4-linker-config-mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    26
     (1 font-lock-keyword-face)
b1404f54ec30 Added iar4-linker-config-mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    27
     (2 font-lock-variable-name-face)
b1404f54ec30 Added iar4-linker-config-mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    28
     (3 font-lock-constant-face) )
b1404f54ec30 Added iar4-linker-config-mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    29
    ("^\\(-Q\\)\\([_a-zA-Z]+\\)=\\([_a-zA-Z]+\\)"
b1404f54ec30 Added iar4-linker-config-mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    30
     (1 font-lock-keyword-face)
b1404f54ec30 Added iar4-linker-config-mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    31
     (2 font-lock-variable-name-face)
b1404f54ec30 Added iar4-linker-config-mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    32
     (3 font-lock-variable-name-face) )
236
848b9cd2e47c Correct highlight patterns.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 210
diff changeset
    33
    ("^\\(-Z\\|-P\\|-b\\)(\\([_a-zA-Z]+\\))\\([_a-zA-Z]+\\)="
210
b1404f54ec30 Added iar4-linker-config-mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    34
     (1 font-lock-keyword-face)
b1404f54ec30 Added iar4-linker-config-mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    35
     (2 font-lock-variable-name-face)
b1404f54ec30 Added iar4-linker-config-mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    36
     (3 font-lock-variable-name-face) )
236
848b9cd2e47c Correct highlight patterns.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 210
diff changeset
    37
    ("^\\(-Z\\|-P\\|-b\\)(\\([_a-zA-Z]+\\))\\([_a-zA-Z]+\\)\\+\\([_a-zA-Z]+\\)="
210
b1404f54ec30 Added iar4-linker-config-mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    38
     (1 font-lock-keyword-face)
b1404f54ec30 Added iar4-linker-config-mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    39
     (2 font-lock-variable-name-face)
b1404f54ec30 Added iar4-linker-config-mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    40
     (3 font-lock-variable-name-face)
b1404f54ec30 Added iar4-linker-config-mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    41
     (4 font-lock-variable-name-face) )
b1404f54ec30 Added iar4-linker-config-mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    42
    )
b1404f54ec30 Added iar4-linker-config-mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    43
  (list "\\.\\(xcl\\)\\'")
b1404f54ec30 Added iar4-linker-config-mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    44
  (list
b1404f54ec30 Added iar4-linker-config-mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    45
   (lambda () (setq comment-start "// " comment-end ""))
b1404f54ec30 Added iar4-linker-config-mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    46
   )
b1404f54ec30 Added iar4-linker-config-mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    47
  "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
    48
29533873ee3e Fix docs headers according to 'Conventional Headers for Emacs Libraries'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 257
diff changeset
    49
(provide 'iar4-linker-config-mode)
29533873ee3e Fix docs headers according to 'Conventional Headers for Emacs Libraries'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 257
diff changeset
    50
257
2f3ac763c340 Make docs headers according to 'Conventional Headers for Emacs Libraries'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 236
diff changeset
    51
;;; iar4-linker-config-mode.el ends here