mirror of
https://github.com/vim/vim.git
synced 2025-07-26 11:04:33 -04:00
patch 9.0.2162: Vim9: type documentation out-dated
Problem: Vim9: type documentation out-dated Solution: Update documentation, fix typo in type alias definition closes: #13684 Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
parent
d2e1c83962
commit
2a71b54d35
@ -10181,6 +10181,7 @@ type({expr}) The result is a Number representing the type of {expr}.
|
|||||||
Blob: 10 |v:t_blob|
|
Blob: 10 |v:t_blob|
|
||||||
Class: 12 |v:t_class|
|
Class: 12 |v:t_class|
|
||||||
Object: 13 |v:t_object|
|
Object: 13 |v:t_object|
|
||||||
|
Typealias: 14 |v:t_typealias|
|
||||||
For backward compatibility, this method can be used: >
|
For backward compatibility, this method can be used: >
|
||||||
:if type(myvar) == type(0)
|
:if type(myvar) == type(0)
|
||||||
:if type(myvar) == type("")
|
:if type(myvar) == type("")
|
||||||
|
@ -2558,6 +2558,8 @@ v:t_blob Value of |Blob| type. Read-only. See: |type()|
|
|||||||
v:t_class Value of |class| type. Read-only. See: |type()|
|
v:t_class Value of |class| type. Read-only. See: |type()|
|
||||||
*v:t_object* *t_object-variable*
|
*v:t_object* *t_object-variable*
|
||||||
v:t_object Value of |object| type. Read-only. See: |type()|
|
v:t_object Value of |object| type. Read-only. See: |type()|
|
||||||
|
*v:t_typealias* *t_typealias-variable*
|
||||||
|
v:t_typealias Value of |typealias| type. Read-only. See: |type()|
|
||||||
|
|
||||||
*v:termresponse* *termresponse-variable*
|
*v:termresponse* *termresponse-variable*
|
||||||
v:termresponse The escape sequence returned by the terminal for the |t_RV|
|
v:termresponse The escape sequence returned by the terminal for the |t_RV|
|
||||||
|
@ -4491,7 +4491,19 @@ E139 message.txt /*E139*
|
|||||||
E1390 vim9class.txt /*E1390*
|
E1390 vim9class.txt /*E1390*
|
||||||
E1391 eval.txt /*E1391*
|
E1391 eval.txt /*E1391*
|
||||||
E1392 eval.txt /*E1392*
|
E1392 eval.txt /*E1392*
|
||||||
|
E1393 vim9class.txt /*E1393*
|
||||||
|
E1394 vim9class.txt /*E1394*
|
||||||
|
E1395 vim9class.txt /*E1395*
|
||||||
|
E1396 vim9class.txt /*E1396*
|
||||||
|
E1397 vim9class.txt /*E1397*
|
||||||
|
E1398 vim9class.txt /*E1398*
|
||||||
|
E1399 vim9class.txt /*E1399*
|
||||||
E140 message.txt /*E140*
|
E140 message.txt /*E140*
|
||||||
|
E1400 vim9class.txt /*E1400*
|
||||||
|
E1401 vim9class.txt /*E1401*
|
||||||
|
E1402 vim9class.txt /*E1402*
|
||||||
|
E1403 vim9class.txt /*E1403*
|
||||||
|
E1407 vim9class.txt /*E1407*
|
||||||
E141 message.txt /*E141*
|
E141 message.txt /*E141*
|
||||||
E142 message.txt /*E142*
|
E142 message.txt /*E142*
|
||||||
E143 autocmd.txt /*E143*
|
E143 autocmd.txt /*E143*
|
||||||
@ -10285,6 +10297,7 @@ t_ti term.txt /*t_ti*
|
|||||||
t_tp version4.txt /*t_tp*
|
t_tp version4.txt /*t_tp*
|
||||||
t_ts term.txt /*t_ts*
|
t_ts term.txt /*t_ts*
|
||||||
t_ts_old version4.txt /*t_ts_old*
|
t_ts_old version4.txt /*t_ts_old*
|
||||||
|
t_typealias-variable eval.txt /*t_typealias-variable*
|
||||||
t_u7 term.txt /*t_u7*
|
t_u7 term.txt /*t_u7*
|
||||||
t_ue term.txt /*t_ue*
|
t_ue term.txt /*t_ue*
|
||||||
t_undo version4.txt /*t_undo*
|
t_undo version4.txt /*t_undo*
|
||||||
@ -10785,6 +10798,7 @@ v:t_none eval.txt /*v:t_none*
|
|||||||
v:t_number eval.txt /*v:t_number*
|
v:t_number eval.txt /*v:t_number*
|
||||||
v:t_object eval.txt /*v:t_object*
|
v:t_object eval.txt /*v:t_object*
|
||||||
v:t_string eval.txt /*v:t_string*
|
v:t_string eval.txt /*v:t_string*
|
||||||
|
v:t_typealias eval.txt /*v:t_typealias*
|
||||||
v:termblinkresp eval.txt /*v:termblinkresp*
|
v:termblinkresp eval.txt /*v:termblinkresp*
|
||||||
v:termrbgresp eval.txt /*v:termrbgresp*
|
v:termrbgresp eval.txt /*v:termrbgresp*
|
||||||
v:termresponse eval.txt /*v:termresponse*
|
v:termresponse eval.txt /*v:termresponse*
|
||||||
|
@ -752,16 +752,38 @@ constructor methods.
|
|||||||
|
|
||||||
7. Type definition *Vim9-type* *:type*
|
7. Type definition *Vim9-type* *:type*
|
||||||
|
|
||||||
A type definition is giving a name to a type specification. This also known
|
*E1393* *E1395* *E1396* *E1397* *E1398*
|
||||||
type alias. For Example: >
|
A type definition is giving a name to a type specification. This is also
|
||||||
|
known as a "type alias". The type alias can be used wherever a built-in type
|
||||||
|
can be used. Example: >
|
||||||
|
|
||||||
:type ListOfStrings = list<string>
|
type ListOfStrings = list<string>
|
||||||
|
var s: ListOfStrings = ['a', 'b']
|
||||||
|
|
||||||
The type alias can be used wherever a built-in type can be used. The type
|
def ProcessStr(str: ListOfStrings): ListOfStrings
|
||||||
alias name must start with an upper case character. A type alias can be
|
return str
|
||||||
created only at the script level and not inside a function. A type alias can
|
enddef
|
||||||
be exported and used across scripts.
|
echo ProcessStr(s)
|
||||||
|
<
|
||||||
|
*E1394*
|
||||||
|
A type alias name must start with an upper case character. Only existing
|
||||||
|
types can be aliased.
|
||||||
|
|
||||||
|
*E1399*
|
||||||
|
A type alias can be created only at the script level and not inside a
|
||||||
|
function. A type alias can be exported and used across scripts.
|
||||||
|
|
||||||
|
*E1400* *E1401* *E1402* *E1403* *E1407*
|
||||||
|
A type alias cannot be used as an expression. A type alias cannot be used in
|
||||||
|
the left-hand-side of an assignment.
|
||||||
|
|
||||||
|
For a type alias name, the |typename()| function returns the type that is
|
||||||
|
aliased: >
|
||||||
|
|
||||||
|
type ListOfStudents = list<dict<any>>
|
||||||
|
echo typename(ListOfStudents)
|
||||||
|
typealias<list<dict<any>>>
|
||||||
|
<
|
||||||
==============================================================================
|
==============================================================================
|
||||||
|
|
||||||
8. Enum *Vim9-enum* *:enum* *:endenum*
|
8. Enum *Vim9-enum* *:enum* *:endenum*
|
||||||
|
@ -704,6 +704,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
2162,
|
||||||
/**/
|
/**/
|
||||||
2161,
|
2161,
|
||||||
/**/
|
/**/
|
||||||
|
@ -2181,7 +2181,7 @@ typedef int sock_T;
|
|||||||
#define VAR_TYPE_INSTR 11
|
#define VAR_TYPE_INSTR 11
|
||||||
#define VAR_TYPE_CLASS 12
|
#define VAR_TYPE_CLASS 12
|
||||||
#define VAR_TYPE_OBJECT 13
|
#define VAR_TYPE_OBJECT 13
|
||||||
#define VAR_TYPE_TYPEALIAS 15
|
#define VAR_TYPE_TYPEALIAS 14
|
||||||
|
|
||||||
#define DICT_MAXNEST 100 // maximum nesting of lists and dicts
|
#define DICT_MAXNEST 100 // maximum nesting of lists and dicts
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user