syntax/bird.vim
branchvim-stuff
changeset 29 a0e6ddfadf82
parent 28 2b198f0a86fe
--- a/syntax/bird.vim	Wed Jan 02 09:14:17 2013 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,137 +0,0 @@
-"----------------------------------------------------------------------
-" Vim syntax file
-" Language:     Configuration for the Bird Internet Routing Daemon
-" Bird Site:    http://bird.network.cz/
-" Maintainer:   Mahlon E. Smith <mahlon@martini.nu>
-" Version:      $Id$
-"----------------------------------------------------------------------
-
-if has( "folding" )
-	setlocal foldmethod=syntax
-endif
-
-setlocal iskeyword+=;
-
-syntax region  birdInlineComment start=/#/ end=/$/
-syntax region  birdBlockComment  start=/^#/ end=/^\([^#]\|$\)/me=e-1 fold
-highlight link birdInlineComment Comment
-highlight link birdBlockComment  Comment
-
-syntax region  birdString start=/"/ skip=/\\"/ end=/"/
-highlight link birdString String
-
-syntax match   birdNetworkAddressIP4 /\d\+\.\d\+\.\d\+\.\d\+\(\/\d\+\)\?/
-highlight link birdNetworkAddressIP4 Character
-
-syntax match   birdNumber / \d\+\(;\|\s\|$\)/
-highlight link birdNumber Number
-
-syntax match   birdOperator /\(+\|-\|*\|\/\|(\|)\|=\|<\|>\|!\|&&\|||\|\~\)/
-highlight link birdOperator Operator
-
-syntax region  birdFunctionArguments start=/(/ end=/)/ oneline
-syntax region  birdFunction matchgroup=birdFunctionArguments start=/\S\+(/ end=/)/ oneline transparent
-highlight link birdFunctionArguments Function
-
-syntax cluster birdCommon contains=birdInlineComment,birdString,birdNetworkAddressIP4,birdNumber,birdOperator,birdFunction
-
-syntax keyword birdGlobals define table eval
-syntax match   birdGlobals /\(router id\|listen bgp\) /
-highlight link birdGlobals PreProc
-
-syntax region  birdLog start=/^log / end=/$/ keepend contains=@birdCommon,birdLogOptions,birdLogDirective,birdLogLevels
-syntax keyword birdLogOptions syslog stderr contained
-syntax keyword birdLogLevels all all; info warning error fatal trace remote auth bug contained
-syntax keyword birdLogDirective log contained
-highlight link birdLogOptions   Identifier
-highlight link birdLogDirective PreProc
-highlight link birdLogLevels    Special
-highlight link birdLog          Normal
-
-syntax region  birdDebug start=/debug / end=/$/ keepend contains=@birdCommon,birdDebugOptions,birdDebugDirective,birdDebugTypes
-syntax keyword birdDebugOptions protocols commands contained
-syntax keyword birdDebugTypes all all; off off; states routes filters interfaces events packets messages contained
-syntax keyword birdDebugDirective debug contained
-highlight link birdDebugOptions   Identifier
-highlight link birdDebugDirective PreProc
-highlight link birdDebugTypes     Special
-highlight link birdDebug          Normal
-
-syntax region  birdMrt start=/mrtdump / end=/$/ keepend contains=@birdCommon,birdMrtOptions,birdMrtDirective,birdMrtTypes
-syntax keyword birdMrtOptions protocols contained
-syntax keyword birdMrtTypes all all; off off; states messages contained
-syntax keyword birdMrtDirective mrtdump contained
-highlight link birdMrtOptions   Identifier
-highlight link birdMrtDirective PreProc
-highlight link birdMrtTypes     Special
-highlight link birdMrt          Normal
-
-syntax cluster birdProtoShared contains=birdGlobals,birdDebug,birdMrt
-
-syntax region  birdTimeFormat start=/^timeformat / end=/$/ keepend contains=@birdCommon,birdTimeFormatDirective,birdTimeFormatTypes
-syntax keyword birdTimeFormatTypes route protocol base log contained
-syntax keyword birdTimeFormatDirective timeformat contained
-highlight link birdTimeFormatDirective PreProc
-highlight link birdTimeFormatTypes     Identifier
-highlight link birdTimeFormat          Normal
-
-syntax region  birdImportExport start=/\(import\|export\) / end=/$/  contains=@birdCommon,birdImportExportDirective,birdImportExportTypes,birdFilter,birdFilterProtoConstants,birdFilterAttributes
-syntax keyword birdImportExportDirective import export contained
-syntax keyword birdImportExportTypes all all; none none; where contained
-highlight link birdImportExportDirective Type
-highlight link birdImportExportTypes     Special
-highlight link birdImportExport          Normal
-
-syntax region  birdProtocol start=/^protocol / end=/^}/ contains=@birdCommon,@birdProtoShared,birdProtocolDirective,birdProtocolTypes,birdProtocolMisc,birdProtocolGlobals,birdImportExport,birdProtocolDisabled,birdProtocolBools,birdProtocolDate,birdFilter,birdProtocolAttributes fold
-syntax keyword birdProtocolDirective protocol area interface networks stubnet neighbors contained
-syntax match   birdProtocolDirective /virtual link / contained
-syntax keyword birdProtocolTypes bgp device direct kernel ospf pipe rip static contained
-syntax keyword birdProtocolMisc as via self self; drop drop; ignore ignore; normal; large; broadcast; nonbroadcast nonbroadcast; pointopoint; none; simple; plain; md5; cryptographic; eligible; opaque; transparent; always; never; neighbor; multicast; reject; prohibit; contained
-syntax keyword birdProtocolGlobals preference description id password type local neighbor multihop passive passive; persist persist; learn learn; primary rfc1583compat rfc1583compat; tick hidden hidden; summary summary; cost stub stub; hello poll retransmit priority wait authentication strict honor port infinity period mode route contained
-syntax match   birdProtocolGlobals /generate from\|generate to\|accept from\|accept to\|next hop\|missing lladdr\|source address\|rr client\|rr cluster id\|rs client\|enable route refresh\|interpret communities\|enable as4\|capabilities\|advertise ipv4\|route limit\|disable after error\|\(startup \)\?hold time\|\(scan\|keepalive\|timeout\|garbage\|connect retry\|start delay\|error \(wait\|forget\)\) time\|path metric\|prefer older\|default bgp_med\|default bgp_local_pref\|device routes\|\(kernel\|peer\) table\|stub cost\|dead\( count\)\?\|rx buffer/ contained
-syntax match   birdProtocolDate /\d\{2\}-\d\{2\}-\d\{4\} \d\{2\}:\d\{2\}:\d\{2\}/ contained
-syntax keyword birdProtocolDisabled disabled disabled; contained
-syntax keyword birdProtocolBools yes yes; no no; contained
-syntax match   birdProtocolAttributes /bgp_path\|bgp_local_pref\|bgp_med\|bgp_origin\|bgp_next_hop\|bgp_atomic_aggr\|bgp_community\|bgp_originator_id\|bgp_cluster_list\|ospf_metric1\|ospf_metric2\|ospf_tag\|rip_metric\|rip_tag/ contained
-highlight link birdProtocolDirective  PreProc
-highlight link birdProtocolTypes      Function
-highlight link birdProtocolMisc       String
-highlight link birdProtocolGlobals    Constant
-highlight link birdProtocolDisabled   Error
-highlight link birdProtocolBools      Boolean
-highlight link birdProtocolDate		  Number
-highlight link birdProtocolAttributes Identifier
-highlight link birdProtocol           Normal
-
-syntax keyword birdInternalFunctions accept accept; reject reject; print printn return quitbird defined contained
-syntax keyword birdInternalControls if then else case contained
-syntax keyword birdInternalTypes bool int pair quad string ip prefix enum bgppath bgpmask clist contained
-highlight link birdInternalFunctions Keyword
-highlight link birdInternalControls  Conditional
-highlight link birdInternalTypes     Type
-
-" inline, named filters
-syntax match   birdFilter /filter.\+$/ contains=@birdCommon,birdFilterDirective
-" filter definitions
-syntax region  birdFilter start=/^filter\(\s\+\S\+\)\?\s\+/ end=/^}$/ fold contains=@birdCommon,birdFilterDirective,birdFilterProtoConstants,birdInternalFunctions,birdFilterAttributes,birdInternalControls,birdInternalTypes,birdProtocolAttributes
-" inline complex filters
-syntax region  birdFilter start=/filter\s\+{/ end=/};/ fold contains=@birdCommon,birdFilterDirective,birdFilterProtoConstants,birdInternalFunctions,birdFilterAttributes,birdInternalControls,birdInternalTypes,birdProtocolAttributes
-syntax match   birdFilterDirective /filter/ nextgroup=birdFilterName skipwhite contained
-syntax match   birdFilterName /[^{;]\+/ skipwhite contained
-syntax match   birdFilterProtoConstants /\(RTS_DUMMY\|RTS_STATIC\|RTS_INHERIT\|RTS_DEVICE\|RTS_STATIC_DEVICE\|RTS_REDIRECT\|RTS_RIP\|RTS_OSPF\|RTS_OSPF_IA\|RTS_OSPF_EXT1\|RTS_OSPF_EXT2\|RTS_BGP\|RTS_PIPE\)/ contained
-syntax keyword birdFilterAttributes net scope preference from gw proto source cast dest contained
-highlight link birdFilterDirective      PreProc
-highlight link birdFilterName           Function
-highlight link birdFilterProtoConstants Underlined
-highlight link birdFilterAttributes     Identifier
-highlight link birdFilter               Normal
-
-syntax region  birdFunctionDef start=/^function\(\s\+\S\+\)\?\s\+/ end=/^}$/ fold contains=@birdCommon,birdFunctionDirective,birdInternalFunctions,birdInternalControls,birdInternalTypes
-syntax match   birdFunctionDirective /function / nextgroup=birdFunctionName skipwhite contained
-syntax match   birdFunctionName /[^(]\+/ skipwhite contained
-highlight link birdFunctionDirective PreProc
-highlight link birdFunctionName      Function
-highlight link birdFunctionDef       Normal
-
-let b:current_syntax = "bird"
-