Home Explore Blog CI



neovim

87th chunk of `runtime/doc/vimfn.txt`
31f2984ee1474e8a1d7bbc18b0f01c439002defaf70caff40000000100000fa8
 will read ~/.config/nvim/shada/main.shada file to
		`shada_objects` list.

		Limitations:
		1. Mapping ordering is not preserved unless messagepack
		   mapping is dumped using generic mapping
		   (|msgpack-special-map|).
		2. Since the parser aims to preserve all data untouched
		   (except for 1.) some strings are parsed to
		   |msgpack-special-dict| format which is not convenient to
		   use.
							*msgpack-special-dict*
		Some messagepack strings may be parsed to special
		dictionaries. Special dictionaries are dictionaries which

		1. Contain exactly two keys: `_TYPE` and `_VAL`.
		2. `_TYPE` key is one of the types found in |v:msgpack_types|
		   variable.
		3. Value for `_VAL` has the following format (Key column
		   contains name of the key from |v:msgpack_types|):

		Key	Value ~
		nil	Zero, ignored when dumping.  Not returned by
			|msgpackparse()| since |v:null| was introduced.
		boolean	One or zero.  When dumping it is only checked that
			value is a |Number|.  Not returned by |msgpackparse()|
			since |v:true| and |v:false| were introduced.
		integer	|List| with four numbers: sign (-1 or 1), highest two
			bits, number with bits from 62nd to 31st, lowest 31
			bits. I.e. to get actual number one will need to use
			code like >
				_VAL[0] * ((_VAL[1] << 62)
				           & (_VAL[2] << 31)
				           & _VAL[3])
<			Special dictionary with this type will appear in
			|msgpackparse()| output under one of the following
			circumstances:
			1. |Number| is 32-bit and value is either above
			   INT32_MAX or below INT32_MIN.
			2. |Number| is 64-bit and value is above INT64_MAX. It
			   cannot possibly be below INT64_MIN because msgpack
			   C parser does not support such values.
		float	|Float|. This value cannot possibly appear in
			|msgpackparse()| output.
		string	|String|, or |Blob| if binary string contains zero
			byte. This value cannot appear in |msgpackparse()|
			output since blobs were introduced.
		array	|List|. This value cannot appear in |msgpackparse()|
			output.
							*msgpack-special-map*
		map	|List| of |List|s with two items (key and value) each.
			This value will appear in |msgpackparse()| output if
			parsed mapping contains one of the following keys:
			1. Any key that is not a string (including keys which
			   are binary strings).
			2. String with NUL byte inside.
			3. Duplicate key.
		ext	|List| with two values: first is a signed integer
			representing extension type. Second is
			|readfile()|-style list of strings.

                Parameters: ~
                  • {data} (`any`)

                Return: ~
                  (`any`)

nextnonblank({lnum})                                            *nextnonblank()*
		Return the line number of the first line at or below {lnum}
		that is not blank.  Example: >vim
			if getline(nextnonblank(1)) =~ "Java" | endif
<		When {lnum} is invalid or there is no non-blank line at or
		below it, zero is returned.
		{lnum} is used like with |getline()|.
		See also |prevnonblank()|.

                Parameters: ~
                  • {lnum} (`integer|string`)

                Return: ~
                  (`integer`)

nr2char({expr} [, {utf8}])                                           *nr2char()*
		Return a string with a single character, which has the number
		value {expr}.  Examples: >vim
			echo nr2char(64)		" returns '@'
			echo nr2char(32)		" returns ' '
<		Example for "utf-8": >vim
			echo nr2char(300)		" returns I with bow character
<
		UTF-8 encoding is always used, {utf8} option has no effect,
		and exists only for backwards-compatibility.
		Note that a NUL character in the file is specified with
		nr2char(10), because NULs are represented with newline
		characters.  nr2char(0) is a real NUL and terminates the
		string, thus results in an empty string.

                Parameters: ~
                  • {expr} (`integer`)
                  • {utf8} (`boolean?`)

                Return: ~
                  (`string`)

nvim_...({...})       

Title: msgpackparse Details, nextnonblank, and nr2char
Summary
This section details the limitations of `msgpackparse()` and the structure of special dictionaries, including key types and values. It then defines `nextnonblank({lnum})`, which finds the next non-blank line number starting from {lnum}, and `nr2char({expr} [, {utf8}])`, which converts a number to its corresponding character string (UTF-8 encoding is always used). The section also briefly mentions functions prefixed with `nvim_`.