view runtime/syntax/srt.vim @ 30548:84ea6d876d43 v9.0.0609

patch 9.0.0609: blockedit test fails because of wrong indent Commit: https://github.com/vim/vim/commit/66000ff9af8e3de93825ce7baa0c43727465eca5 Author: Bram Moolenaar <Bram@vim.org> Date: Tue Sep 27 17:47:12 2022 +0100 patch 9.0.0609: blockedit test fails because of wrong indent Problem: Blockedit test fails because of wrong indent. Solution: Adjust the expected text temporarily
author Bram Moolenaar <Bram@vim.org>
date Tue, 27 Sep 2022 19:00:04 +0200
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'