Mercurial > vim
view runtime/syntax/testdir/input/vim_ex_function.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 |
line wrap: on
line source
" Vim :function command " list function function Foo function /Foo.* function | echo "Foo" function " comment function Foo | echo "Foo" function Foo " comment " definition " empty definition function Foo() endfunction " curly-brace names function {"F"}oo() endfunction function F{"o"}o() endfunction function Fo{"o"}() endfunction function {"F"}o{"o"}() endfunction function {"F"}{"o"}{"o"}() endfunction function Foo() return 42 endfunction " trailing whitespace function Foo() return 42 endfunction function Foo() " comment return 42 endfunction function! Foo() return 42 endfunction function g:Foo() return 42 endfunction function s:Foo() return 42 endfunction function <SID>Foo() return 42 endfunction function foo#bar#Foo() return 42 endfunction " same name as an Ex command function s:ls() endfunction " modifiers function Foo() range endfunction function Foo() range " comment endfunction function Foo() range return 42 endfunction function Foo() abort return 42 endfunction function Foo() dict return 42 endfunction function Foo() closure return 42 endfunction function Foo() range abort dict closure return 42 endfunction function! Foo() range return 42 endfunction function! Foo() abort return 42 endfunction function! Foo() dict return 42 endfunction function! Foo() closure return 42 endfunction function! Foo() range abort dict closure return 42 endfunction " :endfunction trailing function Foo() return 42 " trailing whitespace endfunction function Foo() return 42 endfunction | echo "Foo" function Foo() return 42 endfunction " comment " parameters function Foo(x, y, z, ...) return 42 endfunction function Foo( \ x, \ y, \ z, \ ...) return 42 endfunction function Foo(x, y = 42, z = "zed") return 42 endfunction function Foo( \ x, \ y = 42, \ z = "zed") return 42 endfunction " comments function Foo() " Legacy-script comment # 42 " comment return 42 endfunction " delete function delfunction Foo delfunction foo.bar delfunction! Foo delfunction foo.bar