]>
git.proxmox.com Git - mirror_frr.git/blob - doc/extra/frrlexer.py
1 # -*- coding: utf-8 -*-
2 # Copyright (c) 2017 Vincent Bernat <bernat@luffy.cx>
4 # Permission to use, copy, modify, and/or distribute this software for any
5 # purpose with or without fee is hereby granted, provided that the above
6 # copyright notice and this permission notice appear in all copies.
8 # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 from pygments
.lexer
import RegexLexer
, bygroups
17 from pygments
.token
import Text
, Comment
, Keyword
18 from pygments
.token
import String
, Number
, Name
21 class FRRLexer(RegexLexer
):
26 (r
'^[ \t]*!.*?\n', Comment
.Singleline
),
27 (r
'"(\\\\|\\"|[^"])*"', String
.Double
),
28 (r
'[a-f0-9]*:[a-f0-9]*:[a-f0-9:]*(:\d+\.\d+\.\d+\.\d+)?(/\d+)?',
30 (r
'\d+\.\d+\.\d+\.\d+(/\d+)?', Number
), # IPv4
31 (r
'^([ \t]*)(no[ \t]+)?([-\w]+)',
32 bygroups(Text
, Keyword
, Name
.Function
)),