runtime(sgf): Include sgf syntax script

closes: #20380

Signed-off-by: Borys Lykah <lykahb@fastmail.com>
Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
Borys Lykah
2026-06-01 20:36:45 +00:00
committed by Christian Brabandt
parent 8f508cdcfb
commit bcb8dacb6d
2 changed files with 42 additions and 0 deletions
+1
View File
@@ -678,6 +678,7 @@ runtime/syntax/scala.vim @derekwyatt
runtime/syntax/scheme.vim @evhan
runtime/syntax/scss.vim @tpope
runtime/syntax/sed.vim @dkearns
runtime/syntax/sgf.vim @lykahb
runtime/syntax/shaderslang.vim @mTvare6
runtime/syntax/shared/debversions.vim @jamessan
runtime/syntax/shared/hgcommitDiff.vim @vegerot
+41
View File
@@ -0,0 +1,41 @@
" Vim syntax file
" Language: Smart Game Format
" Maintainer: Borys Lykah
" Last Change: 2026 May 30
" Quit when a syntax file was already loaded
if exists("b:current_syntax")
finish
endif
syn match sgfDelimiter "[();]"
syn keyword sgfMoveProp B W nextgroup=sgfValue skipwhite
syn keyword sgfSetupProp AB AE AW PL nextgroup=sgfValue skipwhite
syn keyword sgfMarkupProp AR CR DD DM FG GB GW HO LB LN MA SL SQ TR UC VW nextgroup=sgfValue skipwhite
syn keyword sgfRootProp AP CA FF GM ST SZ nextgroup=sgfValue skipwhite
syn keyword sgfGameInfoProp AN BR BT CP DT EV GC GN HA KM ON OT PB PC PW RE RO RU SO TM US WR WT nextgroup=sgfValue skipwhite
syn keyword sgfCommentProp C nextgroup=sgfCommentValue skipwhite
syn match sgfProperty "\<[A-Za-z]\+\ze\s*\[" nextgroup=sgfValue skipwhite
syn match sgfEscape "\\." contained
syn region sgfValue contained matchgroup=sgfBracket start="\[" end="\]" skip="\\\\\|\\\]" contains=sgfEscape keepend nextgroup=sgfValue skipwhite
syn region sgfCommentValue contained matchgroup=sgfBracket start="\[" end="\]" skip="\\\\\|\\\]" contains=sgfEscape,@Spell keepend nextgroup=sgfCommentValue skipwhite
hi def link sgfDelimiter Delimiter
hi def link sgfMoveProp Statement
hi def link sgfSetupProp Type
hi def link sgfMarkupProp Identifier
hi def link sgfRootProp PreProc
hi def link sgfGameInfoProp Label
hi def link sgfCommentProp Comment
hi def link sgfProperty Identifier
hi def link sgfBracket Delimiter
hi def link sgfEscape SpecialChar
hi def link sgfValue String
hi def link sgfCommentValue Comment
let b:current_syntax = "sgf"
" vim: ts=8