1" Language: streaming descriptor file
2" Maintainer: Puria Nafisi Azizi (pna) <pna@netstudent.polito.it>
3" License: This file can be redistribued and/or modified under the same terms
4"   as Vim itself.
5" URL: http://netstudent.polito.it/vim_syntax/
6" Last Change: 2006-09-27
7
8if version < 600
9        syntax clear
10elseif exists("b:current_syntax")
11        finish
12endif
13
14" Always ignore case
15syn case ignore
16
17" Comments
18syn match sdComment /\s*[#;].*$/
19
20" IP Adresses
21syn cluster sdIPCluster contains=sdIPError,sdIPSpecial
22syn match sdIPError /\%(\d\{4,}\|25[6-9]\|2[6-9]\d\|[3-9]\d\{2}\)[\.0-9]*/ contained
23syn match sdIPSpecial /\%(127\.\d\{1,3}\.\d\{1,3}\.\d\{1,3}\)/ contained
24syn match sdIP contained /\%(\d\{1,4}\.\)\{3}\d\{1,4}/ contains=@sdIPCluster
25
26" Statements
27syn keyword sdStatement AGGREGATE AUDIO_CHANNELS 
28syn keyword sdStatement BYTE_PER_PCKT BIT_PER_SAMPLE BITRATE
29syn keyword sdStatement CLOCK_RATE CODING_TYPE CREATOR
30syn match sdStatement /^\s*CODING_TYPE\>/ nextgroup=sdCoding skipwhite
31syn match sdStatement /^\s*ENCODING_NAME\>/ nextgroup=sdEncoding skipwhite
32syn keyword sdStatement FILE_NAME FRAME_LEN FRAME_RATE FORCE_FRAME_RATE
33syn keyword sdStatement LICENSE 
34syn match sdStatement /^\s*MEDIA_SOURCE\>/ nextgroup=sdSource skipwhite
35syn match sdStatement /^\s*MULTICAST\>/ nextgroup=sdIP skipwhite
36syn keyword sdStatement PAYLOAD_TYPE PKT_LEN PRIORITY
37syn keyword sdStatement SAMPLE_RATE
38syn keyword sdStatement TITLE TWIN
39syn keyword sdStatement VERIFY
40
41" Known Options
42syn keyword sdEncoding H26L MPV MP2T MP4V-ES
43syn keyword sdCoding FRAME SAMPLE
44syn keyword sdSource STORED LIVE
45
46"Specials
47syn keyword sdSpecial TRUE FALSE NULL
48syn keyword sdDelimiter STREAM STREAM_END
49syn match sdError /^search .\{257,}/
50
51if version >= 508 || !exists("did_config_syntax_inits")
52        if version < 508
53                let did_config_syntax_inits = 1
54                command! -nargs=+ HiLink hi link <args>
55        else
56                command! -nargs=+ HiLink hi def link <args>
57        endif
58
59        HiLink sdIP Number
60		  HiLink sdHostname Type
61        HiLink sdEncoding Identifier
62        HiLink sdCoding Identifier
63        HiLink sdSource Identifier
64        HiLink sdComment Comment
65        HiLink sdIPError Error
66        HiLink sdError Error
67        HiLink sdStatement Statement
68        HiLink sdIPSpecial Special
69        HiLink sdSpecial Special
70		  HiLink sdDelimiter Delimiter
71
72        delcommand HiLink
73endif
74
75let b:current_syntax = "sd"
76