Home Explore Blog CI



neovim

100th chunk of `runtime/doc/vimfn.txt`
40a709dfc0d6cdbfe84a16a4568d65a416bf6b55f78cdb0f0000000100000fb8
 {count} (`integer`)

                Return: ~
                  (`any`)

resolve({filename})                                             *resolve()* *E655*
		On MS-Windows, when {filename} is a shortcut (a .lnk file),
		returns the path the shortcut points to in a simplified form.
		On Unix, repeat resolving symbolic links in all path
		components of {filename} and return the simplified result.
		To cope with link cycles, resolving of symbolic links is
		stopped after 100 iterations.
		On other systems, return the simplified {filename}.
		The simplification step is done as by |simplify()|.
		resolve() keeps a leading path component specifying the
		current directory (provided the result is still a relative
		path name) and also keeps a trailing path separator.

                Parameters: ~
                  • {filename} (`string`)

                Return: ~
                  (`string`)

reverse({object})                                                    *reverse()*
		Reverse the order of items in {object}.  {object} can be a
		|List|, a |Blob| or a |String|.  For a List and a Blob the
		items are reversed in-place and {object} is returned.
		For a String a new String is returned.
		Returns zero if {object} is not a List, Blob or a String.
		If you want a List or Blob to remain unmodified make a copy
		first: >vim
			let revlist = reverse(copy(mylist))
<

                Parameters: ~
                  • {object} (`T[]`)

                Return: ~
                  (`T[]`)

round({expr})                                                          *round()*
		Round off {expr} to the nearest integral value and return it
		as a |Float|.  If {expr} lies halfway between two integral
		values, then use the larger one (away from zero).
		{expr} must evaluate to a |Float| or a |Number|.
		Returns 0.0 if {expr} is not a |Float| or a |Number|.
		Examples: >vim
			echo round(0.456)
<			0.0  >vim
			echo round(4.5)
<			5.0 >vim
			echo round(-4.5)
<			-5.0

                Parameters: ~
                  • {expr} (`number`)

                Return: ~
                  (`number`)

rpcnotify({channel}, {event} [, {args}...])                        *rpcnotify()*
		Sends {event} to {channel} via |RPC| and returns immediately.
		If {channel} is 0, the event is broadcast to all channels.
		Example: >vim
			au VimLeave call rpcnotify(0, "leaving")
<

                Parameters: ~
                  • {channel} (`integer`)
                  • {event} (`string`)
                  • {...} (`any`)

                Return: ~
                  (`integer`)

rpcrequest({channel}, {method} [, {args}...])                     *rpcrequest()*
		Sends a request to {channel} to invoke {method} via
		|RPC| and blocks until a response is received.
		Example: >vim
			let result = rpcrequest(rpc_chan, "func", 1, 2, 3)
<

                Parameters: ~
                  • {channel} (`integer`)
                  • {method} (`string`)
                  • {...} (`any`)

                Return: ~
                  (`any`)

rubyeval({expr})                                                    *rubyeval()*
		Evaluate Ruby expression {expr} and return its result
		converted to Vim data structures.
		Numbers, floats and strings are returned as they are (strings
		are copied though).
		Arrays are represented as Vim |List| type.
		Hashes are represented as Vim |Dictionary| type.
		Other objects are represented as strings resulted from their
		"Object#to_s" method.

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

                Return: ~
                  (`any`)

screenattr({row}, {col})                                          *screenattr()*
		Like |screenchar()|, but return the attribute.  This is a rather
		arbitrary number that can only be used to compare to the
		attribute at other positions.
		Returns -1 when row or col is out of range.

                Parameters: ~
                  • {row} (`integer`)
                  • {col} (`integer`)

           

Title: Resolve, Reverse, Round, RPC, Ruby, and Screen Functions
Summary
This section describes the functions `resolve()`, used for resolving file paths including shortcuts and symbolic links; `reverse()`, which reverses the order of items in Lists, Blobs, or Strings; `round()`, which rounds a number to the nearest integer; `rpcnotify()` and `rpcrequest()`, used for Remote Procedure Calls (RPC); `rubyeval()`, which evaluates Ruby expressions and returns the result converted to Vim data structures; and `screenattr()`, which returns the screen attribute at a specific row and column.