Skip to content

Instantly share code, notes, and snippets.

@janlazo
Last active July 23, 2025 01:06
Show Gist options
  • Save janlazo/9c66e4e3d60d10d743423a2b09a0fd9c to your computer and use it in GitHub Desktop.
Save janlazo/9c66e4e3d60d10d743423a2b09a0fd9c to your computer and use it in GitHub Desktop.
Vim test_ API to port to Neovim
test_null_channel() *test_null_channel()*
Return a |Channel| that is null. Only useful for testing.
{only available when compiled with the +channel feature}
Return type: |Channel|
test_null_function() *test_null_function()*
Return a |Funcref| that is null. Only useful for testing.
Return type: func(...): unknown
test_null_job() *test_null_job()*
Return a |Job| that is null. Only useful for testing.
{only available when compiled with the +job feature}
Return type: |job|
test_null_partial() *test_null_partial()*
Return a |Partial| that is null. Only useful for testing.
Return type: func(...): unknown
test_null_tuple() *test_null_tuple()*
Return a |Tuple| that is null. Only useful for testing.
Return type: |Tuple|
test_refcount({expr}) *test_refcount()*
Return the reference count of {expr}. When {expr} is of a
type that does not have a reference count, returns -1. Only
to be used for testing.
Can also be used as a |method|: >
GetVarname()->test_refcount()
<
Return type: |Number|
test_unknown() *test_unknown()*
Return a value with unknown type. Only useful for testing.
Return type: unknown
test_void() *test_void()*
Return a value with void type. Only useful for testing.
Return type: void
VV(VV__NULL_STRING, "_null_string", VAR_STRING, VV_RO),
VV(VV__NULL_LIST, "_null_list", VAR_LIST, VV_RO),
VV(VV__NULL_DICT, "_null_dict", VAR_DICT, VV_RO),
VV(VV__NULL_BLOB, "_null_blob", VAR_BLOB, VV_RO),
/// Vimscript variable types, for use in typval_T.v_type
typedef enum {
VAR_UNKNOWN = 0, ///< Unknown (unspecified) value.
VAR_NUMBER, ///< Number, .v_number is used.
VAR_STRING, ///< String, .v_string is used.
VAR_FUNC, ///< Function reference, .v_string is used as function name.
VAR_LIST, ///< List, .v_list is used.
VAR_DICT, ///< Dict, .v_dict is used.
VAR_FLOAT, ///< Floating-point value, .v_float is used.
VAR_BOOL, ///< true, false
VAR_SPECIAL, ///< Special value (null), .v_special is used.
VAR_PARTIAL, ///< Partial, .v_partial is used.
VAR_BLOB, ///< Blob, .v_blob is used.
} VarType;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment