Mercurial > vim
diff runtime/doc/eval.txt @ 17916:2e53305f2239 v8.1.1954
patch 8.1.1954: more functions can be used as a method
Commit: https://github.com/vim/vim/commit/02b31110d31e995326080807716e79e38fe501df
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Aug 31 22:16:38 2019 +0200
patch 8.1.1954: more functions can be used as a method
Problem: More functions can be used as a method.
Solution: Allow more functions to be used as a method.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sat, 31 Aug 2019 22:30:03 +0200 |
parents | af3d441845cd |
children | 0cdb6ac20748 |
line wrap: on
line diff
--- a/runtime/doc/eval.txt +++ b/runtime/doc/eval.txt @@ -1228,7 +1228,7 @@ next method: > mylist->filter(filterexpr)->map(mapexpr)->sort()->join() < Example of using a lambda: > - GetPercentage->{x -> x * 100}()->printf('%d%%') + GetPercentage()->{x -> x * 100}()->printf('%d%%') < When using -> the |expr7| operators will be applied first, thus: > -1.234->string() @@ -6206,6 +6206,9 @@ js_decode({string}) *js_decode()* - Empty items in an array (between two commas) are allowed and result in v:none items. + Can also be used as a |method|: > + ReadObject()->js_decode() + js_encode({expr}) *js_encode()* This is similar to |json_encode()| with these differences: - Object key names are not in quotes. @@ -6220,6 +6223,8 @@ js_encode({expr}) *js_encode()* This encoding is valid for JavaScript. It is more efficient than JSON, especially when using an array with optional items. + Can also be used as a |method|: > + GetObject()->js_encode() json_decode({string}) *json_decode()* This parses a JSON formatted string and returns the equivalent @@ -6254,6 +6259,8 @@ json_decode({string}) *json_decode() accepted by json_decode() as the result must be a valid Vim type, e.g. this fails: {"a":"b", "a":"c"} + Can also be used as a |method|: > + ReadObject()->json_decode() json_encode({expr}) *json_encode()* Encode {expr} as JSON and return this as a string. @@ -6280,6 +6287,9 @@ json_encode({expr}) *json_encode()* missing in the JSON standard, but several implementations do allow it. If not then you will get an error. + Can also be used as a |method|: > + GetObject()->json_encode() + keys({dict}) *keys()* Return a |List| with all the keys of {dict}. The |List| is in arbitrary order. Also see |items()| and |values()|. @@ -6346,6 +6356,10 @@ libcall({libname}, {funcname}, {argument feature is present} Examples: > :echo libcall("libc.so", "getenv", "HOME") + +< Can also be used as a |method|, where the base is passed as + the argument to the called function: > + GetValue()->libcall("libc.so", "getenv") < *libcallnr()* libcallnr({libname}, {funcname}, {argument}) @@ -6358,6 +6372,10 @@ libcallnr({libname}, {funcname}, {argume :call libcallnr("libc.so", "printf", "Hello World!\n") :call libcallnr("libc.so", "sleep", 10) < + Can also be used as a |method|, where the base is passed as + the argument to the called function: > + GetValue()->libcallnr("libc.so", "printf") +< *line()* line({expr}) The result is a Number, which is the line number of the file position given with {expr}. The accepted positions are: @@ -6385,6 +6403,9 @@ line({expr}) The result is a Number, whi To jump to the last known position when opening a file see |last-position-jump|. + Can also be used as a |method|: > + GetValue()->line() + line2byte({lnum}) *line2byte()* Return the byte count from the start of the buffer for line {lnum}. This includes the end-of-line character, depending on @@ -6399,6 +6420,9 @@ line2byte({lnum}) *line2byte()* disabled at compile time, -1 is returned. Also see |byte2line()|, |go| and |:goto|. + Can also be used as a |method|: > + GetLnum()->line2byte() + lispindent({lnum}) *lispindent()* Get the amount of indent for line {lnum} according the lisp indenting rules, as with 'lisp'. @@ -6407,6 +6431,9 @@ lispindent({lnum}) *lispindent()* When {lnum} is invalid or Vim was not compiled the |+lispindent| feature, -1 is returned. + Can also be used as a |method|: > + GetLnum()->lispindent() + list2str({list} [, {utf8}]) *list2str()* Convert each number in {list} to a character string can concatenate them all. Examples: > @@ -6421,6 +6448,9 @@ list2str({list} [, {utf8}]) *list2str With utf-8 composing characters work as expected: > list2str([97, 769]) returns "á" < + Can also be used as a |method|: > + GetList()->list2str() + listener_add({callback} [, {buf}]) *listener_add()* Add a callback function that will be invoked when changes have been made to buffer {buf}. @@ -6490,6 +6520,10 @@ listener_add({callback} [, {buf}]) *li The {callback} is also not invoked when the buffer is unloaded, use the |BufUnload| autocmd event for that. + Can also be used as a |method|, where the base is passed as + the second argument, the buffer: > + GetBuffer()->listener_add(callback) + listener_flush([{buf}]) *listener_flush()* Invoke listener callbacks for buffer {buf}. If there are no pending changes then no callbacks are invoked. @@ -6498,11 +6532,17 @@ listener_flush([{buf}]) *listener_fl values, see |bufname()|. When {buf} is omitted the current buffer is used. + Can also be used as a |method|: > + GetBuffer()->listener_flush() + listener_remove({id}) *listener_remove()* Remove a listener previously added with listener_add(). Returns zero when {id} could not be found, one when {id} was removed. + Can also be used as a |method|: > + GetListenerId()->listener_remove() + localtime() *localtime()* Return the current time, measured as seconds since 1st Jan 1970. See also |strftime()| and |getftime()|. @@ -6550,7 +6590,11 @@ luaeval({expr} [, {expr}]) *luaeval( as-is. Other objects are returned as zero without any errors. See |lua-luaeval| for more details. - {only available when compiled with the |+lua| feature} + + Can also be used as a |method|: > + GetExpr()->luaeval() + +< {only available when compiled with the |+lua| feature} map({expr1}, {expr2}) *map()* {expr1} must be a |List| or a |Dictionary|.