;;; fsc-modes.el --- Modes for Fabasoft Components ;; ;; Copyright by Thomas Bleier (thomas@bleier.at) ;; ;; This program is free software: you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation, either version 3 of the License, or ;; (at your option) any later version. ;; This program is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License ;; along with this program. If not, see . (require 'generic) (require 'font-lock) ;; coo-mode: Mode for editing Fabasoft COO files - based on generic mode (define-generic-mode 'coo-generic-mode (list "//") '("for" "update") '(("\\(\"[^\"]+\"\\)" (1 'font-lock-constant-face)) ("\\(<[^>]+>\\)" (1 'font-lock-type-face)) ("\\([a-zA-Z0-9_]+@[0-9]+\\.[0-9]+:[a-zA-Z0-9_]+\\)" (1 'font-lock-function-name-face)) ("\\(P?COO\\.[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+\\)" (1 'font-lock-variable-name-face))) (list "\\.[Cc][Oo][Oo]\\'") (list 'generic-bracket-support) "Generic mode for Fabasoft COO Files") (defalias 'coo-mode 'coo-generic-mode) (provide 'coo-mode) ;; fsctrace-mode: Mode for displaying Fabasoft trace files - based on generic mode ;; ;; Trace-Flags: ;; ;; XY --> X = Modul, Y = Severity ;; ;; Module: E = Application, T = Tools, C = Components, K = Kernel? ;; Severity: C = Normal, X = Extended, M = Message, T = ???, S = ???, ? = Warning ;; ;; define faces (to look like in FSC tracer) (make-empty-face 'fsctrace-cc-face) (set-face-foreground 'fsctrace-cc-face "navy") (set-face-background 'fsctrace-cc-face "RosyBrown1") (make-empty-face 'fsctrace-cx-face) (set-face-foreground 'fsctrace-cx-face "dim gray") (set-face-background 'fsctrace-cx-face "RosyBrown1") (make-empty-face 'fsctrace-cm-face) (set-face-foreground 'fsctrace-cm-face "firebrick") (set-face-background 'fsctrace-cm-face "RosyBrown1") (make-empty-face 'fsctrace-ec-face) (set-face-foreground 'fsctrace-ec-face "forest green") (set-face-background 'fsctrace-ec-face "DarkSeaGreen1") (make-empty-face 'fsctrace-ex-face) (set-face-foreground 'fsctrace-ex-face "dim gray") (set-face-background 'fsctrace-ex-face "white") (make-empty-face 'fsctrace-em-face) (set-face-foreground 'fsctrace-em-face "firebrick") (set-face-background 'fsctrace-em-face "white") (make-empty-face 'fsctrace-ee-face) (set-face-foreground 'fsctrace-ee-face "black") (set-face-background 'fsctrace-ee-face "white") (make-empty-face 'fsctrace-tc-face) (set-face-foreground 'fsctrace-tc-face "forest green") (set-face-background 'fsctrace-tc-face "DarkSeaGreen1") (make-empty-face 'fsctrace-tx-face) (set-face-foreground 'fsctrace-tx-face "dim gray") (set-face-background 'fsctrace-tx-face "PaleTurquoise1") (make-empty-face 'fsctrace-tm-face) (set-face-foreground 'fsctrace-tm-face "firebrick") (set-face-background 'fsctrace-tm-face "PaleTurquoise1") (make-empty-face 'fsctrace-tt-face) (set-face-foreground 'fsctrace-tt-face "medium blue") (set-face-background 'fsctrace-tt-face "PaleTurquoise1") (make-empty-face 'fsctrace-kc-face) (set-face-foreground 'fsctrace-kc-face "forest green") (set-face-background 'fsctrace-kc-face "DarkSeaGreen1") (make-empty-face 'fsctrace-kx-face) (set-face-foreground 'fsctrace-kx-face "dim gray") (set-face-background 'fsctrace-kx-face "MediumPurple1") (make-empty-face 'fsctrace-km-face) (set-face-foreground 'fsctrace-km-face "firebrick") (set-face-background 'fsctrace-km-face "MediumPurple1") (make-empty-face 'fsctrace-kt-face) (set-face-foreground 'fsctrace-kt-face "forest green") (set-face-background 'fsctrace-kt-face "DarkSeaGreen1") (make-empty-face 'fsctrace-ks-face) (set-face-foreground 'fsctrace-ks-face "dark olive green") (set-face-background 'fsctrace-ks-face "MediumPurple1") (make-empty-face 'fsctrace-kk-face) (set-face-foreground 'fsctrace-kk-face "medium blue") (set-face-background 'fsctrace-kk-face "MediumPurple1") (define-generic-mode 'fsctrace-generic-mode nil nil '(("\\(^.+ CC|.+\n\\)" (1 'fsctrace-cc-face)) ("\\(^.+ CX|.+\n\\)" (1 'fsctrace-cx-face)) ("\\(^.+ CM|.+\n\\)" (1 'fsctrace-cm-face)) ("\\(^.+ EE|.+\n\\)" (1 'fsctrace-ee-face)) ("\\(^.+ EC|.+\n\\)" (1 'fsctrace-ec-face)) ("\\(^.+ EX|.+\n\\)" (1 'fsctrace-ex-face)) ("\\(^.+ EM|.+\n\\)" (1 'fsctrace-em-face)) ("\\(^.+ TC|.+\n\\)" (1 'fsctrace-tc-face)) ("\\(^.+ TX|.+\n\\)" (1 'fsctrace-tx-face)) ("\\(^.+ TM|.+\n\\)" (1 'fsctrace-tm-face)) ("\\(^.+ TT|.+\n\\)" (1 'fsctrace-tt-face)) ("\\(^.+ KC|.+\n\\)" (1 'fsctrace-kc-face)) ("\\(^.+ KX|.+\n\\)" (1 'fsctrace-kx-face)) ("\\(^.+ KM|.+\n\\)" (1 'fsctrace-km-face)) ("\\(^.+ KT|.+\n\\)" (1 'fsctrace-kt-face)) ("\\(^.+ KS|.+\n\\)" (1 'fsctrace-ks-face)) ("\\(^.+ KK|.+\n\\)" (1 'fsctrace-kk-face)) ) (list "\\.[Tt][Rr][Cc]\\'") nil "Generic mode for Fabasoft Trace Files") (defalias 'fsctrace-mode 'fsctrace-generic-mode) (provide 'fsctrace-mode) ;;; fsc-modes.el ends here