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>