view runtime/syntax/ssa.vim @ 32311:10a03ae8ba60 v9.0.1487

patch 9.0.1487: Content-type header for LSP channel not according to spec Commit: https://github.com/vim/vim/commit/c3eddd2068620ceb4e475961192c1d8cae3350cd Author: Yegappan Lakshmanan <yegappan@yahoo.com> Date: Tue Apr 25 14:54:54 2023 +0100 patch 9.0.1487: Content-type header for LSP channel not according to spec Problem: Content-type header for LSP channel not according to spec. Solution: Use "vscode-jsonrpc" instead of "vim-jsonrpc". (Yegappan Lakshmanan, closes #12295)
author Bram Moolenaar <Bram@vim.org>
date Tue, 25 Apr 2023 16:00:09 +0200
parents 3295247d97a5
children 8de906dadd4a
line wrap: on
line source

" Vim syntax file
" Language:	SubStation Alpha
" Maintainer:	ObserverOfTime <chronobserver@disroot.org>
" Filenames:	*.ass,*.ssa
" Last Change:	2022 Oct 10

if exists('b:current_syntax')
    finish
endif

" Comments
syn keyword ssaTodo TODO FIXME NOTE XXX contained
syn match ssaComment /^\(;\|!:\).*$/ contains=ssaTodo,@Spell
syn match ssaTextComment /{[^}]*}/ contained contains=@Spell

" Sections
syn match ssaSection /^\[[a-zA-Z0-9+ ]\+\]$/

" Headers
syn match ssaHeader /^[^;!:]\+:/ skipwhite nextgroup=ssaField

" Fields
syn match ssaField /[^,]*/ contained skipwhite nextgroup=ssaDelimiter

" Time
syn match ssaTime /\d:\d\d:\d\d\.\d\d/ contained skipwhite nextgroup=ssaDelimiter

" Delimiter
syn match ssaDelimiter /,/ contained skipwhite nextgroup=ssaField,ssaTime,ssaText

" Text
syn match ssaText /\(^Dialogue:\(.*,\)\{9}\)\@<=.*$/ contained contains=@ssaTags,@Spell
syn cluster ssaTags contains=ssaOverrideTag,ssaEscapeChar,ssaTextComment,ssaItalics,ssaBold,ssaUnderline,ssaStrikeout

" Override tags
syn match ssaOverrideTag /{\\[^}]\+}/ contained contains=@NoSpell

" Special characters
syn match ssaEscapeChar /\\[nNh{}]/ contained contains=@NoSpell

" Markup
syn region ssaItalics start=/{\\i1}/ end=/{\\i0}/ matchgroup=ssaOverrideTag keepend oneline contained contains=@ssaTags,@Spell
syn region ssaBold start=/{\\b1}/ end=/{\\b0}/ matchgroup=ssaOverrideTag keepend oneline contained contains=@ssaTags,@Spell
syn region ssaUnderline start=/{\\u1}/ end=/{\\u0}/ matchgroup=ssaOverrideTag keepend oneline contained contains=@ssaTags,@Spell
syn region ssaStrikeout start=/{\\s1}/ end=/{\\s0}/ matchgroup=ssaOverrideTag keepend oneline contained contains=@ssaTags,@Spell

hi def link ssaDelimiter Delimiter
hi def link ssaComment Comment
hi def link ssaEscapeChar SpecialChar
hi def link ssaField String
hi def link ssaHeader Label
hi def link ssaSection StorageClass
hi def link ssaOverrideTag Special
hi def link ssaTextComment Comment
hi def link ssaTime Number
hi def link ssaTodo Todo

hi ssaBold cterm=bold gui=bold
hi ssaItalics cterm=italic gui=italic
hi ssaStrikeout cterm=strikethrough gui=strikethrough
hi ssaUnderline cterm=underline gui=underline

let b:current_syntax = 'srt'