There seems to be a lot of missing syntax highlighting in IOS-XR.
Example Syntax
Task Groups, User Groups, & Users (missing)
taskgroup TASK_GROUP_NAME
description LINE
inherit taskgroup WORD
task debug|execute|read|write WORD
!
usergroup USER_GROUP_NAME
description LINE
inherit usergroup WORD
taskgroup WORD
!
username A_USER
group WORD
password 0|7 LINE
password LINE
password-policy WORD
!
Clock (missing)
https://www.cisco.com/c/en/us/td/docs/routers/xr12000/software/xr12k_r3-9/system_management/command/reference/yr39xr12k_chapter4.html#wp748744425
clock timezone WORD <-23,+23> <0-59>|<cr>
clock summer-time WORD date <MONTHDAY> <1993-2035> <0-23>:<0-59> <MONTHDAY> <1993-2035> <0-23>:<0-59> <0-1440>|<cr>
clock summer-time WORD recurring <WEEKMONTH> <0-23>:<0-59> <WEEKMONTH> <0-23>:<0-59> <0-1440>|<cr>
In the above, <MONTHDAY>
can be either <1-31> <january-december>
or <january-december> <1-31>
(mix & match is allowed).
<WEEKMONTH>
should be replaced with <1-5>|first|last <sunday-saturday> <january-december>
.
Object-Groups (missing)
https://www.cisco.com/en/US/docs/ios-xml/ios/sec_data_acl/configuration/15-2mt/sec-object-group-acl.html
object-group network ipv4|ipv6 WORD
description LINE
host X.X.X.X|X:X::X # Depends on ipv4|ipv6
object-group WORD
range X.X.X.X|X:X::X X.X.X.X|X:X::X # Depends on ipv4|ipv6
X.X.X.X/length|X:X::X/length # Depends on ipv4|ipv6
!
object-group port WORD
description LINE
eq|gt|lt|neq <portname>|<0-65535>
object-group WORD
range <portname>|<0-65535> <portname>|<0-65535>
!
IP Access Lists (missing)
(todo)
Netflow: Exporter-Map, Monitor-Map, Sampler-Map (missing)
(todo)
Interfaces (incomplete)
Applying access lists:
interface TenGigE0/0/0/0
ipv4|ipv6 access-group WORD ingress|egress
ipv4|ipv6 access-group WORD WORD ingress|egress
ipv4|ipv6 access-group WORD WORD WORD ingress|egress
ipv4|ipv6 access-group WORD WORD WORD WORD ingress|egress
ipv4|ipv6 access-group WORD WORD WORD WORD WORD ingress|egress
ipv4|ipv6 access-group WORD WORD WORD WORD WORD WORD ingress|egress
!
Port bundle configuration:
interface TenGigE0/0/0/0
bundle id <1-65535> mode|<cr> active|inherit|on|passive
bundle port-priority <1-65535>
!
Some interface names aren't highlighted correctly:
interface MgmtEth0/RSP0/CPU0/0
shutdown
!
interface MgmtEth0/RSP0/CPU0/1
shutdown
!
interface MgmtEth0/RSP1/CPU0/0
shutdown
!
interface MgmtEth0/RSP1/CPU0/1
shutdown
!
interface PTP0/RSP0/CPU0/0
shutdown
!
interface PTP0/RSP1/CPU0/0
shutdown
!
Netflow configuration:
interface TenGigE0/0/0/0
flow ipv4|ipv6|mpls monitor WORD ingress|egress
flow ipv4|ipv6|mpls monitor WORD sampler WORD ingress|egress
!
Other random/assorted interface config:
interface TenGigE0/0/0/0
load-interval <0-600> # Must be a multiple of 30
lldp
receive disable
transmit disable
destination mac-address
ieee-nearest-bridge
ieee-nearest-non-tmpr-bridge
!
!
!
Prefix Sets (incomplete)
ge followed by le (or vice versa) isn't highlighted, and isn't highlighted for IPv6 at all:
prefix-set PREFIX_SET_NAME
10.0.0.0/8 ge 24 le 32, # "le 32" not highlighted correctly
172.16.0.0/12 ge 24, # Highlighted correctly
::0/0 ge 48 le 128, # "ge 48" and "le 128" both not highlighted
::0/0 ge 48 # "ge 48" not highlighted correctly
end-set
Route Policies (incomplete)
There should not be a space between the route policy name and variables:
route-policy RP_NAME($VAR)
end-policy
A lot more things are highlighting incorrectly, so I'll just post screenshots rather than trying to explain them all:
![image](https://user-images.githubusercontent.com/15221443/81336289-0d7c9d80-9077-11ea-9b49-0dba27f44fb4.png)
Router BGP
Missing the following attributes:
router bgp 1
address-family ipv4 unicast
additional-paths receive # Not implemented
additional-paths send # Not implemented
additional-paths selection route-policy WORD # Not implemented
redistribute static route-policy WORD # Not implemented
!
neighbor 1.1.1.1
ignore-connected-check # Not implemented
address-family ipv4 unicast
default-originate # Not implemented
send-community-ebgp # Not implemented
send-extended-community-ebgp # Not implemented
route-reflector-client # Not implemented
route-policy test(1234, 1234) in # Multiple parameters aren't supported
remove-private-AS # Not implemented
remove-private-AS inbound # Not implemented