view runtime/syntax/srt.vim @ 34651:d299b4b3099f v9.1.0210

patch 9.1.0210: Motif: leaking memory when mui_mch_dialog() fails Commit: https://github.com/vim/vim/commit/9ccc2972373c8310c20ae7621b9c634d0dc43e26 Author: Christian Brabandt <cb@256bit.org> Date: Tue Mar 26 18:44:48 2024 +0100 patch 9.1.0210: Motif: leaking memory when mui_mch_dialog() fails Problem: Motif: leaking memory when mui_mch_dialog() fails (LuMingYinDetect) Solution: When allocating the label using the XmStringCreateLtoR() function fails, before returning also free the allocated buttons pointer. fixes: #14247 closes: #14280 Signed-off-by: Christian Brabandt <cb@256bit.org>
author Christian Brabandt <cb@256bit.org>
date Tue, 26 Mar 2024 19:00:03 +0100
parents 0827d3d6d8c0
children
line wrap: on
line source

" Vim syntax file
" Language:	SubRip
" Maintainer:	ObserverOfTime <chronobserver@disroot.org>
" Filenames:	*.srt
" Last Change:	2022 Sep 12

if exists('b:current_syntax')
    finish
endif

syn spell toplevel

syn cluster srtSpecial contains=srtBold,srtItalics,srtStrikethrough,srtUnderline,srtFont,srtTag,srtEscape

" Number
syn match srtNumber /^\d\+$/ contains=@NoSpell

" Range
syn match srtRange /\d\d:\d\d:\d\d[,.]\d\d\d --> \d\d:\d\d:\d\d[,.]\d\d\d/ skipwhite contains=srtArrow,srtTime nextgroup=srtCoordinates
syn match srtArrow /-->/ contained contains=@NoSpell
syn match srtTime /\d\d:\d\d:\d\d[,.]\d\d\d/ contained contains=@NoSpell
syn match srtCoordinates /X1:\d\+ X2:\d\+ Y1:\d\+ Y2:\d\+/ contained contains=@NoSpell

" Bold
syn region srtBold matchgroup=srtFormat start=+<b>+ end=+</b>+ contains=@srtSpecial
syn region srtBold matchgroup=srtFormat start=+{b}+ end=+{/b}+ contains=@srtSpecial

" Italics
syn region srtItalics matchgroup=srtFormat start=+<i>+ end=+</i>+ contains=@srtSpecial
syn region srtItalics matchgroup=srtFormat start=+{i}+ end=+{/i}+ contains=@srtSpecial

" Strikethrough
syn region srtStrikethrough matchgroup=srtFormat start=+<s>+ end=+</s>+ contains=@srtSpecial
syn region srtStrikethrough matchgroup=srtFormat start=+{s}+ end=+{/s}+ contains=@srtSpecial

" Underline
syn region srtUnderline matchgroup=srtFormat start=+<u>+ end=+</u>+ contains=@srtSpecial
syn region srtUnderline matchgroup=srtFormat start=+{u}+ end=+{/u}+ contains=@srtSpecial

" Font
syn region srtFont matchgroup=srtFormat start=+<font[^>]\{-}>+ end=+</font>+ contains=@srtSpecial

" ASS tags
syn match srtTag /{\\[^}]\{1,}}/ contains=@NoSpell

" Special characters
syn match srtEscape /\\[nNh]/ contains=@NoSpell

hi def link srtArrow Delimiter
hi def link srtCoordinates Label
hi def link srtEscape SpecialChar
hi def link srtFormat Special
hi def link srtNumber Number
hi def link srtTag PreProc
hi def link srtTime String

hi srtBold cterm=bold gui=bold
hi srtItalics cterm=italic gui=italic
hi srtStrikethrough cterm=strikethrough gui=strikethrough
hi srtUnderline cterm=underline gui=underline

let b:current_syntax = 'srt'