Pi_msgpack
Nvim :help
pages, generated
from source
using the tree-sitter-vimdoc parser.
The Apache license applies to the files in this package, including
runtime/autoload/msgpack.vim, runtime/doc/pi_msgpack.txt and
test/functional/plugin/msgpack_spec.lua. Like anything else that's free,
msgpack.vim and its associated files are provided as is and comes with no
warranty of any kind, either expressed or implied. No guarantees of
merchantability. No guarantees of suitability for any purpose. By using this
plugin, you agree that in no event will the copyright holder be liable for any
damages resulting from the use of this software. Use at your own risk!
1. Contents
Disambiguation of arguments described below.
Note: if e.g. function is listed
as accepting
{msgpack-integer} (or anything else) it means that function
does not check whether argument matches its description.
msgpack#is_int(
{msgpack-value}
)
msgpack#is_int()
Returns 1 if given
{msgpack-value}
is integer value, 0 otherwise.
msgpack#is_uint(
{msgpack-value}
)
msgpack#is_uint()
Returns 1 if given
{msgpack-value}
is integer value greater or equal
to zero, 0 otherwise.
msgpack#int_dict_to_str(
{msgpack-special-int}
)
msgpack#int_dict_to_str()
Function which converts
msgpack-special-dict integer value to
a hexadecimal value like 0x1234567890ABCDEF (always returns exactly 16
hexadecimal digits).
msgpack#type(
{msgpack-value}
)
msgpack#type()
Returns name of the key in
v:msgpack_types that represents
{msgpack-value}
type. Never returns zero: this function returns
msgpack type which will be dumped by
msgpackdump() should it receive
a list with single
{msgpack-value}
as input.
msgpack#string(
{msgpack-value}
)
msgpack#string()
Like
string(), but saves information about msgpack types. Values
dumped by msgpack#string may be read back by
msgpack#eval().
Returns is the following:
Dictionaries are dumped as "{key1: value1, key2: value2}".
Note:
msgpack allows any values in keys, so with some
msgpack-special-dict values
msgpack#string() may produce even
"{{1: 2}: 3, [4]: 5}".
Lists are dumped as "[value1, value2]".
Strings are dumped as
1. "abc"
: binary string.
2. ="abc"
: string.
3. +(10)"ext"
: extension strings (10 may be replaced with any
8-bit signed integer).
Inside strings the following escape sequences may be present: "\0"
(represents NUL byte), "\n" (represents line feed) and "\""
(represents double quote).
Booleans are dumped as "TRUE" or "FALSE".
Nil values are dumped as "NIL".
msgpack#eval(
{string}
,
{dict}
)
msgpack#eval()
Transforms string created by
msgpack#string() into a value suitable
for
msgpackdump(). Second argument allows adding special values
that start with head characters (
/\h) and contain only word
characters (
/\w). Built-in special values are "TRUE", "FALSE",
"NIL", "nan" and "inf" and they cannot be overridden. Map values are
always evaluated to
msgpack-special-dict values, as well as
hexadecimal digits. When evaluating maps order of keys is preserved.
Note that in addition to regular integer representations that may be
obtained using
msgpack#string() msgpack#eval() also supports C-style
“character” integer constants like
'/'
(equivalent to
char2nr('/')
:
47
). This also allows
'\0'
(number is decimal).
msgpack#equal
msgpack#equal(
{msgpack-value}
,
{msgpack-value}
)
msgpack#equal()
Returns 1 if given values are equal, 0 otherwise. When comparing
msgpack map values order of keys is ignored. Comparing
msgpack-special-dict with equivalent non-special-dict value
evaluates to 1.