Mercurial > vim
view runtime/syntax/testdir/input/vim_ex_def.vim @ 34611:1790ce961c7d
runtime(vim): Update base-syntax, improve function definition highlighting (#14203)
Commit: https://github.com/vim/vim/commit/35e6f4ca27c8115c606f265e4b09e11db01c970d
Author: dkearns <dougkearns@gmail.com>
Date: Fri Mar 22 06:41:10 2024 +1100
runtime(vim): Update base-syntax, improve function definition highlighting (https://github.com/vim/vim/issues/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>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Thu, 21 Mar 2024 20:45:04 +0100 |
parents | |
children | b8b18dafd432 |
line wrap: on
line source
" Vim :def command " 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