mirror of
https://github.com/vim/vim.git
synced 2025-09-26 04:04:07 -04:00
runtime(vim): Update base-syntax, improve function definition highlighting (#14203)
Improve function definition highlighting. - Match bang and function modifiers - abort etc. - Only match valid scope modifiers. - Match listing commands. - Don't match ex commands in function names. - Split function syntax groups into :func and :def subgroups. - Match Vim9-script parameter and return types. - Limit legacy-script and Vim9-script comments to :func and :def definitions, respectively. Signed-off-by: Doug Kearns <dougkearns@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
126
runtime/syntax/testdir/input/vim_ex_def_fold.vim
Normal file
126
runtime/syntax/testdir/input/vim_ex_def_fold.vim
Normal file
@@ -0,0 +1,126 @@
|
||||
" Vim :def command
|
||||
" VIM_TEST_SETUP let g:vimsyn_folding = "f" | set fdm=syntax
|
||||
|
||||
|
||||
" list
|
||||
|
||||
def
|
||||
def Foo
|
||||
def /Foo.*
|
||||
|
||||
def | echo "Foo"
|
||||
def " comment
|
||||
def Foo | echo "Foo"
|
||||
def Foo " comment
|
||||
|
||||
|
||||
" definition
|
||||
|
||||
" empty definition
|
||||
def Foo()
|
||||
enddef
|
||||
|
||||
# curly-brace names
|
||||
def {"F"}oo()
|
||||
enddef
|
||||
|
||||
def F{"o"}o()
|
||||
enddef
|
||||
|
||||
def Fo{"o"}()
|
||||
enddef
|
||||
|
||||
def {"F"}o{"o"}()
|
||||
enddef
|
||||
|
||||
def {"F"}{"o"}{"o"}()
|
||||
enddef
|
||||
|
||||
def Foo(): number
|
||||
return 42
|
||||
enddef
|
||||
|
||||
# trailing whitespace
|
||||
def Foo(): number
|
||||
return 42
|
||||
enddef
|
||||
|
||||
def Foo() # comment
|
||||
enddef
|
||||
|
||||
def Foo(): number # comment
|
||||
return 42
|
||||
enddef
|
||||
|
||||
def! Foo(): number
|
||||
return 42
|
||||
enddef
|
||||
|
||||
def g:Foo(): number
|
||||
return 42
|
||||
enddef
|
||||
|
||||
def s:Foo(): number
|
||||
return 42
|
||||
enddef
|
||||
|
||||
def <SID>Foo(): number
|
||||
return 42
|
||||
enddef
|
||||
|
||||
def foo#bar#Foo(): number
|
||||
return 42
|
||||
enddef
|
||||
|
||||
" same name as an Ex command
|
||||
def s:ls()
|
||||
enddef
|
||||
|
||||
|
||||
" return types
|
||||
|
||||
def Foo(): void
|
||||
enddef
|
||||
|
||||
def Foo(): void # comment
|
||||
enddef
|
||||
|
||||
def Foo(): list<dict<number>>
|
||||
enddef
|
||||
|
||||
def Foo(): func(dict<list<number>>, func, bool, func(number, list<number>)): bool
|
||||
enddef
|
||||
|
||||
|
||||
" :enddef trailing
|
||||
|
||||
def Foo()
|
||||
# trailing whitespace
|
||||
enddef
|
||||
|
||||
def Foo()
|
||||
enddef | echo "Foo"
|
||||
|
||||
def Foo()
|
||||
enddef " comment
|
||||
|
||||
|
||||
" parameters
|
||||
|
||||
def Foo(x: bool, y = 42, z: string = "zed")
|
||||
enddef
|
||||
|
||||
def Foo(
|
||||
x: bool,
|
||||
y = 42,
|
||||
z: string = "zed")
|
||||
enddef
|
||||
|
||||
|
||||
" comments
|
||||
|
||||
def Foo()
|
||||
# Vim9-script comment
|
||||
"useless string"
|
||||
enddef
|
||||
|
Reference in New Issue
Block a user