Annotation of embedaddon/quagga/tools/zebra.el, revision 1.1.1.1

1.1       misho       1: ;; -*- lisp -*-
                      2: ;;; zebra-mode.el -- major mode for editing zebra configuration file.
                      3: 
                      4: ;; Copyright (C) 1998 Kunihiro Ishiguro
                      5: 
                      6: ;; Author:     1998 Kunihiro Ishiguro
                      7: ;;                  SeonMeyong HEO
                      8: ;; Maintainer: kunihiro@zebra.org
                      9: ;;             seirios@Matrix.IRI.Co.JP
                     10: ;; Created:    Jan 28 1998
                     11: ;; Version:    Alpha 0.2
                     12: ;; Keywords:   zebra bgpd ripd ripngd languages
                     13: 
                     14: ;; You can get the latest version of zebra from
                     15: ;;
                     16: ;;    http://www.zebra.org/
                     17: ;;
                     18: ;; Install this Emacs Lisp code
                     19: ;;
                     20: ;; Compile zebra.el
                     21: ;;   % $(EMACS) -batch -f batch-byte-compile zebra.el
                     22: ;; Install zebra.el,zebra.elc to Emacs-load-path
                     23: ;;   % cp zebra.el zebra.elc $(emacs-load-path)
                     24: ;; Add .emacs or (site-load.el | site-start.el)
                     25: ;;   (auto-load 'zebra-mode "zebra" nil t)
                     26: ;;   (auto-load 'bgp-mode "zebra" nil t)
                     27: ;;   (auto-load 'rip-mode "zebra" nil t)
                     28: ;;
                     29: 
                     30: ;;; Code:
                     31: 
                     32: ;; Set keywords
                     33: 
                     34: (defvar zebra-font-lock-keywords
                     35:   (list
                     36:    '("#.*$" . font-lock-comment-face)
                     37:    '("!.*$" . font-lock-comment-face)
                     38:    '("no\\|interface" . font-lock-type-face)
                     39:    '("ip6\\|ip\\|route\\|address" . font-lock-function-name-face)
                     40:    '("ipforward\\|ipv6forward" . font-lock-keyword-face)
                     41:    '("hostname\\|password\\|enable\\|logfile\\|no" . font-lock-keyword-face))
                     42:   "Default value to highlight in zebra mode.")
                     43: 
                     44: (defvar bgp-font-lock-keywords
                     45:   (list
                     46:    '("#.*$" . font-lock-comment-face)
                     47:    '("!.*$" . font-lock-comment-face)
                     48:    '("no\\|router" . font-lock-type-face)
                     49:    '("bgp\\|router-id\\|neighbor\\|network" . font-lock-function-name-face)
                     50:    '("ebgp\\|multihop\\|next\\|zebra\\|remote-as" . font-lock-keyword-face)
                     51:    '("hostname\\|password\\|enable\\|logfile\\|no" . font-lock-keyword-face))
                     52:   "Default value to highlight in bgp mode.")
                     53: 
                     54: (defvar rip-font-lock-keywords
                     55:   (list
                     56:    '("#.*$" . font-lock-comment-face)
                     57:    '("!.*$" . font-lock-comment-face)
                     58:    '("no\\|router\\|interface\\|ipv6\\|ip6\\|ip" . font-lock-type-face)
                     59:    '("ripng\\|rip\\|recive\\|advertize\\|accept" . font-lock-function-name-face)
                     60:    '("version\\|network" . font-lock-function-name-face)
                     61:    '("default\\|none\\|zebra" . font-lock-keyword-face)
                     62:    '("hostname\\|password\\|enable\\|logfile\\|no" . font-lock-keyword-face))
                     63:   "Default value to highlight in bgp mode.")
                     64: 
                     65: ;; set font-lock-mode
                     66: 
                     67: (defun zebra-font-lock ()
                     68:   (make-local-variable 'font-lock-defaults)
                     69:   (setq font-lock-defaults '(zebra-font-lock-keywords nil t)))
                     70: 
                     71: (defun bgp-font-lock ()
                     72:   (make-local-variable 'font-lock-defaults)
                     73:   (setq font-lock-defaults '(bgp-font-lock-keywords nil t)))
                     74: 
                     75: (defun rip-font-lock ()
                     76:   (make-local-variable 'font-lock-defaults)
                     77:   (setq font-lock-defaults '(rip-font-lock-keywords nil t)))
                     78: 
                     79: ;; define Major mode
                     80: 
                     81: (defun major-mode-define ()
                     82:   (interactive)
                     83:   (progn
                     84:     (setq comment-start "[#!]"
                     85:          comment-end ""
                     86:          comment-start-skip "!+ ")
                     87:     (run-hooks 'zebra-mode-hook)
                     88:     (cond
                     89:      ((string< "20" emacs-version)
                     90:       (font-lock-mode)))))
                     91: 
                     92: (defun zebra-mode ()
                     93:   (progn
                     94:     (setq mode-name "zebra")
                     95:     (zebra-font-lock))
                     96:   (major-mode-define))
                     97: 
                     98: (defun bgp-mode ()
                     99:   (progn
                    100:     (setq mode-name "bgp") 
                    101:     (bgp-font-lock))
                    102:   (major-mode-define))
                    103: 
                    104: (defun rip-mode ()
                    105:   (progn
                    106:     (setq mode-name "rip")
                    107:     (rip-font-lock))
                    108:   (major-mode-define))

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>