0
0
mirror of https://github.com/vim/vim.git synced 2025-07-25 10:54:51 -04:00
vim/runtime/syntax/testdir/input/vim9_ex_enum.vim
Doug Kearns 1c58019a82
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

112 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