]>
Commit | Line | Data |
---|---|---|
d5403d4f | 1 | # -*- coding: utf-8 -*- |
acddc0ed | 2 | # SPDX-License-Identifier: ISC |
d5403d4f | 3 | # Copyright (c) 2017 Vincent Bernat <bernat@luffy.cx> |
d5403d4f QY |
4 | |
5 | from pygments.lexer import RegexLexer, bygroups | |
6 | from pygments.token import Text, Comment, Keyword | |
7 | from pygments.token import String, Number, Name | |
8 | ||
9 | ||
10 | class FRRLexer(RegexLexer): | |
11 | name = "frr" | |
12 | aliases = ["frr"] | |
13 | tokens = { | |
701a0192 | 14 | "root": [ |
15 | (r"^[ \t]*!.*?\n", Comment.Singleline), | |
d5403d4f | 16 | (r'"(\\\\|\\"|[^"])*"', String.Double), |
701a0192 | 17 | ( |
18 | r"[a-f0-9]*:[a-f0-9]*:[a-f0-9:]*(:\d+\.\d+\.\d+\.\d+)?(/\d+)?", | |
19 | Number, | |
20 | ), # IPv6 | |
21 | (r"\d+\.\d+\.\d+\.\d+(/\d+)?", Number), # IPv4 | |
22 | (r"^([ \t]*)(no[ \t]+)?([-\w]+)", bygroups(Text, Keyword, Name.Function)), | |
23 | (r"[ \t]+", Text), | |
24 | (r"\n", Text), | |
25 | (r"\d+", Number), | |
26 | (r"\S+", Text), | |
d5403d4f QY |
27 | ], |
28 | } |