log4-hi-mode.el
author Oleksandr Gavenko <gavenkoa@gmail.com>
Wed, 09 Oct 2013 18:36:48 +0300
changeset 1078 bd0c280abe8a
parent 1077 1fd5c6a97073
child 1083 d4b063fc0f5e
permissions -rw-r--r--
Define own faces to remove dependency on compile.el.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1076
eed45b8a9e3a Highlight standard elements in log4* like log-files.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     1
1078
bd0c280abe8a Define own faces to remove dependency on compile.el.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1077
diff changeset
     2
(defface log4-hi-error-face
bd0c280abe8a Define own faces to remove dependency on compile.el.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1077
diff changeset
     3
  '((t :inherit error))
bd0c280abe8a Define own faces to remove dependency on compile.el.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1077
diff changeset
     4
  "Face for critical message.")
bd0c280abe8a Define own faces to remove dependency on compile.el.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1077
diff changeset
     5
bd0c280abe8a Define own faces to remove dependency on compile.el.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1077
diff changeset
     6
(defface log4-hi-warn-face
bd0c280abe8a Define own faces to remove dependency on compile.el.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1077
diff changeset
     7
  '((t :inherit warning))
bd0c280abe8a Define own faces to remove dependency on compile.el.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1077
diff changeset
     8
  "Face for urgent message.")
bd0c280abe8a Define own faces to remove dependency on compile.el.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1077
diff changeset
     9
bd0c280abe8a Define own faces to remove dependency on compile.el.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1077
diff changeset
    10
(defface log4-hi-info-face
bd0c280abe8a Define own faces to remove dependency on compile.el.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1077
diff changeset
    11
  '((t :inherit success))
bd0c280abe8a Define own faces to remove dependency on compile.el.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1077
diff changeset
    12
  "Face for informational message.")
1076
eed45b8a9e3a Highlight standard elements in log4* like log-files.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    13
eed45b8a9e3a Highlight standard elements in log4* like log-files.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    14
(defvar log4-hi-keywords
1078
bd0c280abe8a Define own faces to remove dependency on compile.el.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1077
diff changeset
    15
  '(("FATAL\\|ERROR" . 'log4-hi-error-face)
bd0c280abe8a Define own faces to remove dependency on compile.el.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1077
diff changeset
    16
    ("WARN" . 'log4-hi-warn-face)
bd0c280abe8a Define own faces to remove dependency on compile.el.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1077
diff changeset
    17
    ("INFO\\|DEBUG\\|TRACE" . 'log4-hi-info-face) ))
1076
eed45b8a9e3a Highlight standard elements in log4* like log-files.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    18
eed45b8a9e3a Highlight standard elements in log4* like log-files.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    19
;;;###autoload
eed45b8a9e3a Highlight standard elements in log4* like log-files.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    20
(define-minor-mode log4-hi-mode
eed45b8a9e3a Highlight standard elements in log4* like log-files.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    21
  "Highlight standard elements in log4* like log-files."
eed45b8a9e3a Highlight standard elements in log4* like log-files.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    22
  nil " log4-hi" nil
eed45b8a9e3a Highlight standard elements in log4* like log-files.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    23
  :global nil
eed45b8a9e3a Highlight standard elements in log4* like log-files.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    24
  (catch 'exit
eed45b8a9e3a Highlight standard elements in log4* like log-files.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    25
    (when log4-hi-mode
eed45b8a9e3a Highlight standard elements in log4* like log-files.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    26
      (font-lock-mode 1)
eed45b8a9e3a Highlight standard elements in log4* like log-files.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    27
      (font-lock-add-keywords nil log4-hi-keywords)
eed45b8a9e3a Highlight standard elements in log4* like log-files.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    28
      (throw 'exit nil))
eed45b8a9e3a Highlight standard elements in log4* like log-files.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    29
    (font-lock-remove-keywords nil log4-hi-keywords))
eed45b8a9e3a Highlight standard elements in log4* like log-files.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    30
  (font-lock-fontify-buffer))
eed45b8a9e3a Highlight standard elements in log4* like log-files.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    31
eed45b8a9e3a Highlight standard elements in log4* like log-files.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    32
(provide 'log4-hi-mode)