1
0
forked from aniani/vim

patch 9.1.0219: Vim9: No enum support

Problem:  No enum support
Solution: Implement enums for Vim9 script
          (Yegappan Lakshmanan)

closes: #14224

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
Yegappan Lakshmanan
2024-03-28 10:36:42 +01:00
committed by Christian Brabandt
parent 8ede7a0694
commit 3164cf8f12
25 changed files with 2324 additions and 140 deletions

View File

@@ -266,7 +266,13 @@ tv_get_bool_or_number_chk(
check_typval_is_value(varp);
break;
case VAR_OBJECT:
emsg(_(e_using_object_as_number));
{
class_T *cl = varp->vval.v_object->obj_class;
if (cl != NULL && IS_ENUM(cl))
semsg(_(e_using_enum_str_as_number), cl->class_name);
else
emsg(_(e_using_object_as_number));
}
break;
case VAR_VOID:
emsg(_(e_cannot_use_void_value));
@@ -1139,7 +1145,13 @@ tv_get_string_buf_chk_strict(typval_T *varp, char_u *buf, int strict)
check_typval_is_value(varp);
break;
case VAR_OBJECT:
emsg(_(e_using_object_as_string));
{
class_T *cl = varp->vval.v_object->obj_class;
if (cl != NULL && IS_ENUM(cl))
semsg(_(e_using_enum_str_as_string), cl->class_name);
else
emsg(_(e_using_object_as_string));
}
break;
case VAR_JOB:
#ifdef FEAT_JOB_CHANNEL