view runtime/syntax/hlsplaylist.vim @ 35238:f8623bd12e17 default tip

CI: disable -O2 for Coverity after v9.1.0429 Commit: https://github.com/vim/vim/commit/95ff39f8e3d5e16d4ef55f47d8f50da29df05f9e Author: Christian Brabandt <cb@256bit.org> Date: Wed May 22 07:53:23 2024 +0200 CI: disable -O2 for Coverity after v9.1.0429 gcc -O2 outputs this warning and turns it into an error when running Coverity action: ``` eval.c: In function ?echo_string_core?: cc1: warning: function may return address of local variable [-Wreturn-local-addr] eval.c:6495:12: note: declared here 6495 | char_u buf[MAX_FUNC_NAME_LEN]; | ^~~ ``` This seems to be a false positive, so disable -O2 for Coverity specifically. Signed-off-by: Christian Brabandt <cb@256bit.org>
author Christian Brabandt <cb@256bit.org>
date Wed, 22 May 2024 08:00:06 +0200
parents 1e91e26ceebf
children
line wrap: on
line source

" Vim syntax file
" Language: HLS Playlist
" Maintainer: BenoƮt Ryder <benoit@ryder.fr>
" Latest Revision: 2022-09-23

if exists("b:current_syntax")
  finish
endif

let s:cpo_save = &cpo
set cpo&vim

" Comment line
syn match  hlsplaylistComment  "^#\(EXT\)\@!.*$"
" Segment URL
syn match  hlsplaylistUrl      "^[^#].*$"

" Unknown tags, assume an attribute list or nothing
syn match  hlsplaylistTagUnknown    "^#EXT[^:]*$"
syn region hlsplaylistTagLine matchgroup=hlsplaylistTagUnknown    start="^#EXT[^:]*\ze:"  end="$" keepend contains=hlsplaylistAttributeList

" Basic Tags
syn match  hlsplaylistTagHeader     "^#EXTM3U$"
syn region hlsplaylistTagLine matchgroup=hlsplaylistTagHeader     start="^#EXT-X-VERSION\ze:"  end="$" keepend contains=hlsplaylistValueInt

" Media or Multivariant Playlist Tags
syn match  hlsplaylistTagHeader     "^#EXT-X-INDEPENDENT-SEGMENTS$"
syn region hlsplaylistTagLine matchgroup=hlsplaylistTagDelimiter  start="^#EXT-X-START\ze:"  end="$" keepend contains=hlsplaylistAttributeList
syn region hlsplaylistTagLine matchgroup=hlsplaylistTagStandard   start="^#EXT-X-DEFINE\ze:"  end="$" keepend contains=hlsplaylistAttributeList

" Media Playlist Tags
syn region hlsplaylistTagLine matchgroup=hlsplaylistTagHeader     start="^#EXT-X-TARGETDURATION\ze:"  end="$" keepend contains=hlsplaylistValueFloat
syn region hlsplaylistTagLine matchgroup=hlsplaylistTagHeader     start="^#EXT-X-MEDIA-SEQUENCE\ze:"  end="$" keepend contains=hlsplaylistValueInt
syn region hlsplaylistTagLine matchgroup=hlsplaylistTagHeader     start="^#EXT-X-DISCONTINUITY-SEQUENCE\ze:"  end="$" keepend contains=hlsplaylistValueInt
syn match  hlsplaylistTagDelimiter  "^#EXT-X-ENDLIST$"
syn region hlsplaylistTagLine matchgroup=hlsplaylistTagHeader     start="^#EXT-X-PLAYLIST-TYPE\ze:"  end="$" keepend contains=hlsplaylistAttributeEnum
syn match  hlsplaylistTagStandard   "^#EXT-X-I-FRAME-ONLY$"
syn region hlsplaylistTagLine matchgroup=hlsplaylistTagHeader     start="^#EXT-X-PART-INF\ze:"  end="$" keepend contains=hlsplaylistAttributeList
syn region hlsplaylistTagLine matchgroup=hlsplaylistTagHeader     start="^#EXT-X-SERVER-CONTROL\ze:"  end="$" keepend contains=hlsplaylistAttributeList

" Media Segment Tags
syn region hlsplaylistTagLine matchgroup=hlsplaylistTagStatement  start="^#EXTINF\ze:"  end="$" keepend contains=hlsplaylistValueFloat,hlsplaylistExtInfDesc
syn region hlsplaylistTagLine matchgroup=hlsplaylistTagStandard   start="^#EXT-X-BYTERANGE\ze:"  end="$" keepend contains=hlsplaylistValueInt
syn match  hlsplaylistTagDelimiter  "^#EXT-X-DISCONTINUITY$"
syn region hlsplaylistTagLine matchgroup=hlsplaylistTagStandard   start="^#EXT-X-KEY\ze:"  end="$" keepend contains=hlsplaylistAttributeList
syn region hlsplaylistTagLine matchgroup=hlsplaylistTagStandard   start="^#EXT-X-MAP\ze:"  end="$" keepend contains=hlsplaylistAttributeList
syn region hlsplaylistTagLine matchgroup=hlsplaylistTagStandard   start="^#EXT-X-PROGRAM-DATE-TIME\ze:"  end="$" keepend contains=hlsplaylistValueDateTime
syn match  hlsplaylistTagDelimiter  "^#EXT-X-GAP$"
syn region hlsplaylistTagLine matchgroup=hlsplaylistTagStandard   start="^#EXT-X-BITRATE\ze:"  end="$" keepend contains=hlsplaylistValueFloat
syn region hlsplaylistTagLine matchgroup=hlsplaylistTagStatement  start="^#EXT-X-PART\ze:"  end="$" keepend contains=hlsplaylistAttributeList

" Media Metadata Tags
syn region hlsplaylistTagLine matchgroup=hlsplaylistTagStandard   start="^#EXT-X-DATERANGE\ze:"  end="$" keepend contains=hlsplaylistAttributeList
syn region hlsplaylistTagLine matchgroup=hlsplaylistTagStandard   start="^#EXT-X-SKIP\ze:"  end="$" keepend contains=hlsplaylistAttributeList
syn region hlsplaylistTagLine matchgroup=hlsplaylistTagStatement  start="^#EXT-X-PRELOAD-HINT\ze:"  end="$" keepend contains=hlsplaylistAttributeList
syn region hlsplaylistTagLine matchgroup=hlsplaylistTagStatement  start="^#EXT-X-RENDITION-REPORT\ze:"  end="$" keepend contains=hlsplaylistAttributeList

" Multivariant Playlist Tags
syn region hlsplaylistTagLine matchgroup=hlsplaylistTagStandard   start="^#EXT-X-MEDIA\ze:"  end="$" keepend contains=hlsplaylistAttributeList
syn region hlsplaylistTagLine matchgroup=hlsplaylistTagStatement  start="^#EXT-X-STREAM-INF\ze:"  end="$" keepend contains=hlsplaylistAttributeList
syn region hlsplaylistTagLine matchgroup=hlsplaylistTagStatement  start="^#EXT-X-I-FRAME-STREAM-INF\ze:"  end="$" keepend contains=hlsplaylistAttributeList
syn region hlsplaylistTagLine matchgroup=hlsplaylistTagStandard   start="^#EXT-X-SESSION-DATA\ze:"  end="$" keepend contains=hlsplaylistAttributeList
syn region hlsplaylistTagLine matchgroup=hlsplaylistTagStandard   start="^#EXT-X-SESSION-KEY\ze:"  end="$" keepend contains=hlsplaylistAttributeList
syn region hlsplaylistTagLine matchgroup=hlsplaylistTagStandard   start="^#EXT-X-CONTENT-STEERING\ze:"  end="$" keepend contains=hlsplaylistAttributeList

" Attributes
syn region hlsplaylistAttributeList  start=":" end="$" keepend contained
  \ contains=hlsplaylistAttributeName,hlsplaylistAttributeInt,hlsplaylistAttributeHex,hlsplaylistAttributeFloat,hlsplaylistAttributeString,hlsplaylistAttributeEnum,hlsplaylistAttributeResolution,hlsplaylistAttributeUri
" Common attributes
syn match  hlsplaylistAttributeName        "[A-Za-z-]\+\ze=" contained
syn match  hlsplaylistAttributeEnum        "=\zs[A-Za-z][A-Za-z0-9-_]*" contained
syn match  hlsplaylistAttributeString      +=\zs"[^"]*"+ contained
syn match  hlsplaylistAttributeInt         "=\zs\d\+" contained
syn match  hlsplaylistAttributeFloat       "=\zs-\?\d*\.\d*" contained
syn match  hlsplaylistAttributeHex         "=\zs0[xX]\d*" contained
syn match  hlsplaylistAttributeResolution  "=\zs\d\+x\d\+" contained
" Allow different highligting for URI attributes
syn region hlsplaylistAttributeUri matchgroup=hlsplaylistAttributeName    start="\zsURI\ze" end="\(,\|$\)" contained contains=hlsplaylistUriQuotes
syn region hlsplaylistUriQuotes    matchgroup=hlsplaylistAttributeString  start=+"+ end=+"+ keepend contained contains=hlsplaylistUriValue
syn match  hlsplaylistUriValue             /[^" ]\+/ contained
" Individual values
syn match  hlsplaylistValueInt             "[0-9]\+" contained
syn match  hlsplaylistValueFloat           "\(\d\+\|\d*\.\d*\)" contained
syn match  hlsplaylistExtInfDesc           ",\zs.*$" contained
syn match  hlsplaylistValueDateTime        "\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d\(\.\d*\)\?\(Z\|\d\d:\?\d\d\)$" contained


" Define default highlighting

hi def link hlsplaylistComment  Comment
hi def link hlsplaylistUrl      NONE

hi def link hlsplaylistTagHeader     Special
hi def link hlsplaylistTagStandard   Define
hi def link hlsplaylistTagDelimiter  Delimiter
hi def link hlsplaylistTagStatement  Statement
hi def link hlsplaylistTagUnknown    Special

hi def link hlsplaylistUriQuotes            String
hi def link hlsplaylistUriValue             Underlined
hi def link hlsplaylistAttributeQuotes      String
hi def link hlsplaylistAttributeName        Identifier
hi def link hlsplaylistAttributeInt         Number
hi def link hlsplaylistAttributeHex         Number
hi def link hlsplaylistAttributeFloat       Float
hi def link hlsplaylistAttributeString      String
hi def link hlsplaylistAttributeEnum        Constant
hi def link hlsplaylistAttributeResolution  Constant
hi def link hlsplaylistValueInt             Number
hi def link hlsplaylistValueFloat           Float
hi def link hlsplaylistExtInfDesc           String
hi def link hlsplaylistValueDateTime        Constant


let b:current_syntax = "hlsplaylist"

let &cpo = s:cpo_save
unlet s:cpo_save

" vim: sts=2 sw=2 et