From 0903702634d8e5714749ea599a2f1042b3377525 Mon Sep 17 00:00:00 2001 From: Christian Clason Date: Wed, 31 Aug 2022 08:08:51 +0200 Subject: vim-patch:9b03d3e75b42 (#20013) Update runtime files https://github.com/vim/vim/commit/9b03d3e75b4274493bbe76772d7b92238791964c --- runtime/syntax/gdscript.vim | 104 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 104 insertions(+) create mode 100644 runtime/syntax/gdscript.vim (limited to 'runtime/syntax/gdscript.vim') diff --git a/runtime/syntax/gdscript.vim b/runtime/syntax/gdscript.vim new file mode 100644 index 0000000000..bf6d47c60d --- /dev/null +++ b/runtime/syntax/gdscript.vim @@ -0,0 +1,104 @@ +" Vim syntax file for Godot gdscript +" Language: gdscript +" Maintainer: Maxim Kim +" Filenames: *.gd + +if exists("b:current_syntax") + finish +endif + +let s:keepcpo= &cpo +set cpo&vim + +syntax sync maxlines=100 + +syn keyword gdscriptConditional if else elif match +syn keyword gdscriptRepeat for while break continue + +syn keyword gdscriptOperator is as not and or in + +syn match gdscriptClass "\v<\u\w+>" +syn match gdscriptConstant "\<[_A-Z]\+[0-9_A-Z]*\>" +syn match gdscriptBlockStart ":\s*$" + +syn keyword gdscriptKeyword null self owner parent tool +syn keyword gdscriptBoolean false true + +syn keyword gdscriptStatement remote master puppet remotesync mastersync puppetsync sync +syn keyword gdscriptStatement return pass +syn keyword gdscriptStatement static const enum +syn keyword gdscriptStatement breakpoint assert +syn keyword gdscriptStatement onready +syn keyword gdscriptStatement class_name extends + +syn keyword gdscriptType void bool int float String contained + +syn keyword gdscriptStatement var nextgroup=gdscriptTypeDecl skipwhite +syn keyword gdscriptStatement const nextgroup=gdscriptTypeDecl skipwhite +syn match gdscriptTypeDecl "\h\w*\s*:\s*\h\w*" contains=gdscriptOperator,gdscriptType,gdscriptClass contained skipwhite +syn match gdscriptTypeDecl "->\s*\h\w*" contains=gdscriptOperator,gdscriptType,gdscriptClass skipwhite + +syn keyword gdscriptStatement export nextgroup=gdscriptExportTypeDecl skipwhite +syn match gdscriptExportTypeDecl "(.\{-}[,)]" contains=gdscriptOperator,gdscriptType,gdscriptClass contained skipwhite + +syn keyword gdscriptStatement setget nextgroup=gdscriptSetGet,gdscriptSetGetSeparator skipwhite +syn match gdscriptSetGet "\h\w*" nextgroup=gdscriptSetGetSeparator display contained skipwhite +syn match gdscriptSetGetSeparator "," nextgroup=gdscriptSetGet display contained skipwhite + +syn keyword gdscriptStatement class func signal nextgroup=gdscriptFunctionName skipwhite +syn match gdscriptFunctionName "\h\w*" nextgroup=gdscriptFunctionParams display contained skipwhite +syn match gdscriptFunctionParams "(.*)" contains=gdscriptTypeDecl display contained skipwhite + +syn match gdscriptNode "\$\h\w*\%(/\h\w*\)*" + +syn match gdscriptComment "#.*$" contains=@Spell,gdscriptTodo + +syn region gdscriptString matchgroup=gdscriptQuotes + \ start=+[uU]\=\z(['"]\)+ end="\z1" skip="\\\\\|\\\z1" + \ contains=gdscriptEscape,@Spell + +syn region gdscriptString matchgroup=gdscriptTripleQuotes + \ start=+[uU]\=\z('''\|"""\)+ end="\z1" keepend + \ contains=gdscriptEscape,@Spell + +syn match gdscriptEscape +\\[abfnrtv'"\\]+ contained +syn match gdscriptEscape "\\$" + +" Numbers +syn match gdscriptNumber "\<0x\%(_\=\x\)\+\>" +syn match gdscriptNumber "\<0b\%(_\=[01]\)\+\>" +syn match gdscriptNumber "\<\d\%(_\=\d\)*\>" +syn match gdscriptNumber "\<\d\%(_\=\d\)*\%(e[+-]\=\d\%(_\=\d\)*\)\=\>" +syn match gdscriptNumber "\<\d\%(_\=\d\)*\.\%(e[+-]\=\d\%(_\=\d\)*\)\=\%(\W\|$\)\@=" +syn match gdscriptNumber "\%(^\|\W\)\@1<=\%(\d\%(_\=\d\)*\)\=\.\d\%(_\=\d\)*\%(e[+-]\=\d\%(_\=\d\)*\)\=\>" + +" XXX, TODO, etc +syn keyword gdscriptTodo TODO XXX FIXME HACK NOTE BUG contained + +hi def link gdscriptStatement Statement +hi def link gdscriptKeyword Keyword +hi def link gdscriptConditional Conditional +hi def link gdscriptBoolean Boolean +hi def link gdscriptOperator Operator +hi def link gdscriptRepeat Repeat +hi def link gdscriptSetGet Function +hi def link gdscriptFunctionName Function +hi def link gdscriptClass Type +hi def link gdscriptConstant Constant +hi def link gdscriptBuiltinStruct Typedef +hi def link gdscriptComment Comment +hi def link gdscriptString String +hi def link gdscriptQuotes String +hi def link gdscriptTripleQuotes String +hi def link gdscriptEscape Special +hi def link gdscriptNode PreProc +hi def link gdscriptType Type +hi def link gdscriptNumber Number +hi def link gdscriptBlockStart Special +hi def link gdscriptTodo Todo + + +let b:current_syntax = "gdscript" + +let &cpo = s:keepcpo +unlet s:keepcpo -- cgit From 4bf005e9fdfb57397475b2663a3651faa83886ff Mon Sep 17 00:00:00 2001 From: Christian Clason Date: Tue, 6 Sep 2022 08:57:53 +0200 Subject: vim-patch:partial 0daafaa7d99e (#20083) Update runtime files https://github.com/vim/vim/commit/0daafaa7d99ef500f76b1b12f5fe8153e2fcaea0 skip vim9script ftplugin create userfunc.txt from Neovim content (skip section 3, needs 9.0.0379) --- runtime/syntax/gdscript.vim | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'runtime/syntax/gdscript.vim') diff --git a/runtime/syntax/gdscript.vim b/runtime/syntax/gdscript.vim index bf6d47c60d..e9295a411d 100644 --- a/runtime/syntax/gdscript.vim +++ b/runtime/syntax/gdscript.vim @@ -1,13 +1,14 @@ " Vim syntax file for Godot gdscript " Language: gdscript " Maintainer: Maxim Kim +" Website: https://github.com/habamax/vim-gdscript " Filenames: *.gd if exists("b:current_syntax") finish endif -let s:keepcpo= &cpo +let s:keepcpo = &cpo set cpo&vim syntax sync maxlines=100 -- cgit From 67df3347fd1e637f643b35239f7a20ac813ee588 Mon Sep 17 00:00:00 2001 From: Christian Clason Date: Sun, 18 Sep 2022 15:20:20 +0200 Subject: vim-patch:9712ff1288f9 (#20240) Update runtime files https://github.com/vim/vim/commit/9712ff1288f942736ed76c0dec014909f067eec9 --- runtime/syntax/gdscript.vim | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) (limited to 'runtime/syntax/gdscript.vim') diff --git a/runtime/syntax/gdscript.vim b/runtime/syntax/gdscript.vim index e9295a411d..48af153513 100644 --- a/runtime/syntax/gdscript.vim +++ b/runtime/syntax/gdscript.vim @@ -18,8 +18,6 @@ syn keyword gdscriptRepeat for while break continue syn keyword gdscriptOperator is as not and or in -syn match gdscriptClass "\v<\u\w+>" -syn match gdscriptConstant "\<[_A-Z]\+[0-9_A-Z]*\>" syn match gdscriptBlockStart ":\s*$" syn keyword gdscriptKeyword null self owner parent tool @@ -33,14 +31,16 @@ syn keyword gdscriptStatement onready syn keyword gdscriptStatement class_name extends syn keyword gdscriptType void bool int float String contained +syn match gdscriptType ":\s*\zs\h\w*" contained +syn match gdscriptType "->\s*\zs\h\w*" contained syn keyword gdscriptStatement var nextgroup=gdscriptTypeDecl skipwhite syn keyword gdscriptStatement const nextgroup=gdscriptTypeDecl skipwhite -syn match gdscriptTypeDecl "\h\w*\s*:\s*\h\w*" contains=gdscriptOperator,gdscriptType,gdscriptClass contained skipwhite -syn match gdscriptTypeDecl "->\s*\h\w*" contains=gdscriptOperator,gdscriptType,gdscriptClass skipwhite +syn match gdscriptTypeDecl "\h\w*\s*:\s*\h\w*" contains=gdscriptType contained skipwhite +syn match gdscriptTypeDecl "->\s*\h\w*" contains=gdscriptType skipwhite syn keyword gdscriptStatement export nextgroup=gdscriptExportTypeDecl skipwhite -syn match gdscriptExportTypeDecl "(.\{-}[,)]" contains=gdscriptOperator,gdscriptType,gdscriptClass contained skipwhite +syn match gdscriptExportTypeDecl "(.\{-}[,)]" contains=gdscriptOperator,gdscriptType contained skipwhite syn keyword gdscriptStatement setget nextgroup=gdscriptSetGet,gdscriptSetGetSeparator skipwhite syn match gdscriptSetGet "\h\w*" nextgroup=gdscriptSetGetSeparator display contained skipwhite @@ -84,8 +84,6 @@ hi def link gdscriptOperator Operator hi def link gdscriptRepeat Repeat hi def link gdscriptSetGet Function hi def link gdscriptFunctionName Function -hi def link gdscriptClass Type -hi def link gdscriptConstant Constant hi def link gdscriptBuiltinStruct Typedef hi def link gdscriptComment Comment hi def link gdscriptString String -- cgit