blob: 015c1f0890ae7b1ed0aeadbaebaec6150334c4e9 [file] [log] [blame]
Bram Moolenaar9964e462007-05-05 17:54:07 +00001" 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/
Bram Moolenaarb8ff1fb2012-02-04 21:59:01 +01006" Last Change: 2012 Feb 03 by Thilo Six
Bram Moolenaar9964e462007-05-05 17:54:07 +00007
Bram Moolenaar89bcfda2016-08-30 23:26:57 +02008" quit when a syntax file was already loaded
9if exists("b:current_syntax")
Bram Moolenaar9964e462007-05-05 17:54:07 +000010 finish
11endif
12
Bram Moolenaarb8ff1fb2012-02-04 21:59:01 +010013let s:cpo_save = &cpo
14set cpo&vim
15
Bram Moolenaar9964e462007-05-05 17:54:07 +000016" Always ignore case
17syn case ignore
18
19" Comments
20syn match sdComment /\s*[#;].*$/
21
22" IP Adresses
23syn cluster sdIPCluster contains=sdIPError,sdIPSpecial
24syn match sdIPError /\%(\d\{4,}\|25[6-9]\|2[6-9]\d\|[3-9]\d\{2}\)[\.0-9]*/ contained
25syn match sdIPSpecial /\%(127\.\d\{1,3}\.\d\{1,3}\.\d\{1,3}\)/ contained
26syn match sdIP contained /\%(\d\{1,4}\.\)\{3}\d\{1,4}/ contains=@sdIPCluster
27
28" Statements
Bram Moolenaarb8ff1fb2012-02-04 21:59:01 +010029syn keyword sdStatement AGGREGATE AUDIO_CHANNELS
Bram Moolenaar9964e462007-05-05 17:54:07 +000030syn keyword sdStatement BYTE_PER_PCKT BIT_PER_SAMPLE BITRATE
31syn keyword sdStatement CLOCK_RATE CODING_TYPE CREATOR
32syn match sdStatement /^\s*CODING_TYPE\>/ nextgroup=sdCoding skipwhite
33syn match sdStatement /^\s*ENCODING_NAME\>/ nextgroup=sdEncoding skipwhite
34syn keyword sdStatement FILE_NAME FRAME_LEN FRAME_RATE FORCE_FRAME_RATE
Bram Moolenaarb8ff1fb2012-02-04 21:59:01 +010035syn keyword sdStatement LICENSE
Bram Moolenaar9964e462007-05-05 17:54:07 +000036syn match sdStatement /^\s*MEDIA_SOURCE\>/ nextgroup=sdSource skipwhite
37syn match sdStatement /^\s*MULTICAST\>/ nextgroup=sdIP skipwhite
38syn keyword sdStatement PAYLOAD_TYPE PKT_LEN PRIORITY
39syn keyword sdStatement SAMPLE_RATE
40syn keyword sdStatement TITLE TWIN
41syn keyword sdStatement VERIFY
42
43" Known Options
44syn keyword sdEncoding H26L MPV MP2T MP4V-ES
45syn keyword sdCoding FRAME SAMPLE
46syn keyword sdSource STORED LIVE
47
48"Specials
49syn keyword sdSpecial TRUE FALSE NULL
50syn keyword sdDelimiter STREAM STREAM_END
51syn match sdError /^search .\{257,}/
52
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020053command! -nargs=+ HiLink hi def link <args>
Bram Moolenaar9964e462007-05-05 17:54:07 +000054
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020055HiLink sdIP Number
56HiLink sdHostname Type
57HiLink sdEncoding Identifier
58HiLink sdCoding Identifier
59HiLink sdSource Identifier
60HiLink sdComment Comment
61HiLink sdIPError Error
62HiLink sdError Error
63HiLink sdStatement Statement
64HiLink sdIPSpecial Special
65HiLink sdSpecial Special
66HiLink sdDelimiter Delimiter
Bram Moolenaar9964e462007-05-05 17:54:07 +000067
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020068delcommand HiLink
Bram Moolenaar9964e462007-05-05 17:54:07 +000069
70let b:current_syntax = "sd"
Bram Moolenaarb8ff1fb2012-02-04 21:59:01 +010071
72let &cpo = s:cpo_save
73unlet s:cpo_save