vim/runtime/syntax/testdir/input/vim9_ex_enum.vim
Doug Kearns 1c58019a82
Some checks are pending
GitHub CI / linux (i386, gcc, normal, ./src/shadow) (push) Waiting to run
GitHub CI / linux (native, clang, [], normal) (push) Waiting to run
GitHub CI / linux (native, clang, [], tiny) (push) Waiting to run
GitHub CI / linux (native, clang, true, [], huge, dynamic, stable-abi) (push) Waiting to run
GitHub CI / linux (native, gcc, [], normal) (push) Waiting to run
GitHub CI / linux (native, gcc, [], tiny) (push) Waiting to run
GitHub CI / linux (native, gcc, true, [], huge) (push) Waiting to run
GitHub CI / linux (arm64, gcc, [nogui], tiny) (push) Waiting to run
GitHub CI / linux (arm64, gcc, true, [unittests], huge) (push) Waiting to run
GitHub CI / linux (clang, [asan], huge, 5.1) (push) Waiting to run
GitHub CI / linux (clang, [nogui], tiny) (push) Waiting to run
GitHub CI / linux (gcc, [nogui], tiny) (push) Waiting to run
GitHub CI / linux (gcc, [vimtags], normal) (push) Waiting to run
GitHub CI / linux (gcc, true, [uchar testgui], huge, dynamic) (push) Waiting to run
GitHub CI / linux (gcc, true, [unittests], huge) (push) Waiting to run
GitHub CI / macos (huge, macos-13) (push) Waiting to run
GitHub CI / macos (huge, macos-15) (push) Waiting to run
GitHub CI / macos (normal, macos-13) (push) Waiting to run
GitHub CI / macos (normal, macos-15) (push) Waiting to run
GitHub CI / macos (tiny, macos-13) (push) Waiting to run
GitHub CI / macos (tiny, macos-15) (push) Waiting to run
GitHub CI / windows (no, no, x64, HUGE, stable, msvc) (push) Waiting to run
GitHub CI / windows (no, no, x86, TINY, mingw) (push) Waiting to run
GitHub CI / windows (no, yes, x64, yes, HUGE, mingw) (push) Waiting to run
GitHub CI / windows (no, yes, x86, NORMAL, msvc) (push) Waiting to run
GitHub CI / windows (yes, no, x64, NORMAL, mingw) (push) Waiting to run
GitHub CI / windows (yes, no, x86, HUGE, msvc) (push) Waiting to run
GitHub CI / windows (yes, yes, x64, TINY, msvc) (push) Waiting to run
GitHub CI / windows (yes, yes, x86, yes, HUGE, stable, mingw) (push) Waiting to run
CodeQL / Analyze (push) Waiting to run
runtime(vim): Update base-syntax, improve enum highlighting
Match enum values and missing class keywords.

fixes: #15970

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-05-01 17:43:17 +02:00

111 lines
2.1 KiB
VimL

vim9script
# Vim :enum command
# VIM_TEST_SETUP hi link vim9EnumValue Todo
interface Interface1
def Def1()
endinterface
interface Interface2
endinterface
# enum-implements clause with interspersed comments
enum Enum1 implements Interface1, Interface2
Value1
def Def1()
enddef
endenum
enum Enum2
\ implements Interface1, Interface2
Value1
def Def1()
enddef
endenum
enum Enum3 # comment
\ implements Interface1, Interface2
Value1
endenum
enum Enum4
# comment
\ implements Interface1, Interface2
Value1
endenum
enum Enum5
\ implements Interface1, Interface2 # comment
Value1
def Def1()
enddef
endenum
enum Enum6
#\ comment
\ implements Interface1, Interface2
Value1
def Def1()
enddef
endenum
# [enum Enum7.Value1 {name: 'Value1', ordinal: 0, val1: 0, val2: 0}, enum Enum7.Value2 {name: 'Value2', ordinal: 1, val1: 1, val2: 0}, enum Enum7.Value3 {name: 'Value3', ordinal: 2, val1: 2, val2: 0}]
# comment
enum Enum7
\
#\ comment
\
#\ comment
\ implements Interface1, Interface2 # comment
# comment
# comment
Value1, # comment
# comment
# comment
Value2(1 + 0), # comment
# comment
# comment
Value3( # comment
# comment
1 # comment
# comment
+ # comment
# comment
1 # comment
) # comment
# comment
var val1: number # comment
# comment
def Def1()
enddef
# comment
static def Def2() # comment
# comment
enddef # comment
# comment
public var val2: number # comment
endenum
# [enum Enum8.implements {name: 'implements', ordinal: 0}]
enum Enum8 implements Interface1, Interface2
implements
def Def1()
enddef
endenum
# [enum Enum9.Value1 {name: 'Value1', ordinal: 0, implements: 0}]
enum Enum9 implements Interface1, Interface2
Value1
var implements: number
def Def1()
enddef
endenum
# [enum Enum10.implements {name: 'implements', ordinal: 0}]
enum Enum10 implements Interface1, Interface2
implements
def Def1()
enddef
endenum