aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Edmund Lazo <jan.lazo@mail.utoronto.ca>2021-12-07 01:14:21 -0500
committerGitHub <noreply@github.com>2021-12-07 01:14:21 -0500
commitafaad8b54ebd2ad4ba2145f4069f5017cace3c8f (patch)
tree462cb857957f22fa3f8111d766c27907aebb19b4
parentbf9e8a9df90941320ed898ac4c6351b78366a0a8 (diff)
parent6e3e8c51c0919df4d407b323d0e9237c278e2c23 (diff)
downloadrneovim-afaad8b54ebd2ad4ba2145f4069f5017cace3c8f.tar.gz
rneovim-afaad8b54ebd2ad4ba2145f4069f5017cace3c8f.tar.bz2
rneovim-afaad8b54ebd2ad4ba2145f4069f5017cace3c8f.zip
Merge pull request #16194 from seandewar/vim-8.1.1925
vim-patch:7.4.1777,8.1.{1925,1995,2011,2012,2013,2166},8.2.{0532,0871,1168,1241,3576}
-rw-r--r--runtime/doc/eval.txt303
-rw-r--r--runtime/doc/sign.txt27
-rw-r--r--runtime/doc/testing.txt3
-rw-r--r--src/nvim/eval.lua188
-rw-r--r--src/nvim/eval/funcs.c3
-rw-r--r--src/nvim/testdir/test_autocmd.vim3
-rw-r--r--src/nvim/testdir/test_breakindent.vim2
-rw-r--r--src/nvim/testdir/test_bufwintabinfo.vim5
-rw-r--r--src/nvim/testdir/test_cd.vim2
-rw-r--r--src/nvim/testdir/test_charsearch.vim2
-rw-r--r--src/nvim/testdir/test_clientserver.vim2
-rw-r--r--src/nvim/testdir/test_cmdline.vim2
-rw-r--r--src/nvim/testdir/test_compiler.vim10
-rw-r--r--src/nvim/testdir/test_cursor_func.vim6
-rw-r--r--src/nvim/testdir/test_diffmode.vim2
-rw-r--r--src/nvim/testdir/test_environ.vim2
-rw-r--r--src/nvim/testdir/test_execute_func.vim2
-rw-r--r--src/nvim/testdir/test_expr.vim6
-rw-r--r--src/nvim/testdir/test_fold.vim3
-rw-r--r--src/nvim/testdir/test_functions.vim37
-rw-r--r--src/nvim/testdir/test_listchars.vim2
-rw-r--r--src/nvim/testdir/test_marks.vim4
-rw-r--r--src/nvim/testdir/test_matchadd_conceal_utf8.vim2
-rw-r--r--src/nvim/testdir/test_messages.vim2
-rw-r--r--src/nvim/testdir/test_mksession.vim3
-rw-r--r--src/nvim/testdir/test_options.vim3
-rw-r--r--src/nvim/testdir/test_prompt_buffer.vim4
-rw-r--r--src/nvim/testdir/test_put.vim2
-rw-r--r--src/nvim/testdir/test_quickfix.vim4
-rw-r--r--src/nvim/testdir/test_ruby.vim2
-rw-r--r--src/nvim/testdir/test_search.vim37
-rw-r--r--src/nvim/testdir/test_sha256.vim10
-rw-r--r--src/nvim/testdir/test_signs.vim19
-rw-r--r--src/nvim/testdir/test_spell.vim6
-rw-r--r--src/nvim/testdir/test_spell_utf8.vim6
-rw-r--r--src/nvim/testdir/test_startup.vim6
-rw-r--r--src/nvim/testdir/test_substitute.vim5
-rw-r--r--src/nvim/testdir/test_swap.vim4
-rw-r--r--src/nvim/testdir/test_syntax.vim20
-rw-r--r--src/nvim/testdir/test_system.vim3
-rw-r--r--src/nvim/testdir/test_tabpage.vim4
-rw-r--r--src/nvim/testdir/test_tagjump.vim2
-rw-r--r--src/nvim/testdir/test_taglist.vim2
-rw-r--r--src/nvim/testdir/test_timers.vim10
-rw-r--r--src/nvim/testdir/test_undo.vim2
-rw-r--r--src/nvim/testdir/test_utf8.vim4
-rw-r--r--src/nvim/testdir/test_vartabs.vim2
-rw-r--r--src/nvim/testdir/test_window_cmd.vim29
-rw-r--r--src/nvim/testdir/test_window_id.vim17
-rw-r--r--test/functional/legacy/searchpos_spec.lua2
-rw-r--r--test/functional/vimscript/timer_spec.lua10
51 files changed, 582 insertions, 256 deletions
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 44cfffd85c..75b782fbff 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -3011,7 +3011,11 @@ bufadd({name}) *bufadd()*
number. Otherwise return the buffer number of the newly
created buffer. When {name} is an empty string then a new
buffer is always created.
- The buffer will not have' 'buflisted' set.
+ The buffer will not have 'buflisted' set and not be loaded
+ yet. To add some text to the buffer use this: >
+ let bufnr = bufadd('someName')
+ call bufload(bufnr)
+ call setbufline(bufnr, 1, ['some', 'text'])
< Can also be used as a |method|: >
let bufnr = 'somename'->bufadd()
@@ -3277,7 +3281,7 @@ char2nr({string} [, {utf8}]) *char2nr()*
Can also be used as a |method|: >
GetChar()->char2nr()
-
+<
*charidx()*
charidx({string}, {idx} [, {countcc}])
Return the character index of the byte at {idx} in {string}.
@@ -3300,6 +3304,9 @@ charidx({string}, {idx} [, {countcc}])
echo charidx('áb́ć', 3) returns 1
echo charidx('áb́ć', 6, 1) returns 4
echo charidx('áb́ć', 16) returns -1
+<
+ Can also be used as a |method|: >
+ GetName()->charidx(idx)
chdir({dir}) *chdir()*
Change the current working directory to {dir}. The scope of
@@ -3412,8 +3419,8 @@ complete({startcol}, {matches}) *complete()* *E785*
< This isn't very useful, but it shows how it works. Note that
an empty string is returned to avoid a zero being inserted.
- Can also be used as a |method|, the second argument is passed
- in: >
+ Can also be used as a |method|, the base is passed as the
+ second argument: >
GetMatches()->complete(col('.'))
complete_add({expr}) *complete_add()*
@@ -3550,7 +3557,7 @@ confirm({msg} [, {choices} [, {default} [, {type}]]])
Can also be used as a |method|in: >
BuildMessage()->confirm("&Yes\n&No")
-
+<
*copy()*
copy({expr}) Make a copy of {expr}. For Numbers and Strings this isn't
different from using {expr} directly.
@@ -3761,7 +3768,7 @@ deletebufline({buf}, {first}[, {last}]) *deletebufline()*
Can also be used as a |method|: >
GetBuffer()->deletebufline(1)
-
+<
dictwatcheradd({dict}, {pattern}, {callback}) *dictwatcheradd()*
Adds a watcher to a dictionary. A dictionary watcher is
identified by three components:
@@ -4379,6 +4386,9 @@ flatten({list} [, {maxdepth}]) *flatten()*
:echo flatten([1, [2, [3, 4]], 5], 1)
< [1, 2, [3, 4], 5]
+ Can also be used as a |method|: >
+ mylist->flatten()
+<
float2nr({expr}) *float2nr()*
Convert {expr} to a Number by omitting the part after the
decimal point.
@@ -4716,7 +4726,9 @@ getbufinfo([{dict}])
<
To get buffer-local options use: >
getbufvar({bufnr}, '&option_name')
-
+<
+ Can also be used as a |method|: >
+ GetBufnr()->getbufinfo()
<
*getbufline()*
getbufline({buf}, {lnum} [, {end}])
@@ -5218,6 +5230,9 @@ getmarklist([{buf}]) *getmarklist()*
Refer to |getpos()| for getting information about a specific
mark.
+ Can also be used as a |method|: >
+ GetBufnr()->getmarklist()
+
getmatches([{win}]) *getmatches()*
Returns a |List| with all matches previously defined for the
current window by |matchadd()| and the |:match| commands.
@@ -5871,9 +5886,9 @@ histadd({history}, {item}) *histadd()*
:let date=input("Enter date: ")
< This function is not available in the |sandbox|.
- Can also be used as a |method|, the base is used for the
+ Can also be used as a |method|, the base is passed as the
second argument: >
- GetPattern()->histadd('search')
+ GetHistory()->histadd('search')
histdel({history} [, {item}]) *histdel()*
Clear {history}, i.e. delete all its entries. See |hist-names|
@@ -6518,8 +6533,8 @@ libcall({libname}, {funcname}, {argument})
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: >
+< Can also be used as a |method|, the base is passed as the
+ third argument: >
GetValue()->libcall("libc.so", "getenv")
<
*libcallnr()*
@@ -6531,8 +6546,8 @@ libcallnr({libname}, {funcname}, {argument})
: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: >
+ Can also be used as a |method|, the base is passed as the
+ third argument: >
GetValue()->libcallnr("libc.so", "printf")
<
line({expr} [, {winid}]) *line()*
@@ -7056,7 +7071,7 @@ matchstrpos({expr}, {pat} [, {start} [, {count}]]) *matchstrpos()*
Can also be used as a |method|: >
GetText()->matchstrpos('word')
-
+<
*max()*
max({expr}) Return the maximum value of all items in {expr}.
{expr} can be a |List| or a |Dictionary|. For a Dictionary,
@@ -7606,6 +7621,9 @@ prompt_getprompt({buf}) *prompt_getprompt()*
If the buffer doesn't exist or isn't a prompt buffer, an empty
string is returned.
+ Can also be used as a |method|: >
+ GetBuffer()->prompt_getprompt()
+
prompt_setcallback({buf}, {expr}) *prompt_setcallback()*
Set prompt callback for buffer {buf} to {expr}. When {expr}
is an empty string the callback is removed. This has only
@@ -8091,6 +8109,9 @@ screenattr({row}, {col}) *screenattr()*
arbitrary number that can only be used to compare to the
attribute at other positions.
+ Can also be used as a |method|: >
+ GetRow()->screenattr(col)
+
screenchar({row}, {col}) *screenchar()*
The result is a Number, which is the character at position
[row, col] on the screen. This works for every possible
@@ -8101,6 +8122,9 @@ screenchar({row}, {col}) *screenchar()*
This is mainly to be used for testing.
Returns -1 when row or col is out of range.
+ Can also be used as a |method|: >
+ GetRow()->screenchar(col)
+
screenchars({row}, {col}) *screenchars()*
The result is a List of Numbers. The first number is the same
as what |screenchar()| returns. Further numbers are
@@ -8108,6 +8132,9 @@ screenchars({row}, {col}) *screenchars()*
This is mainly to be used for testing.
Returns an empty List when row or col is out of range.
+ Can also be used as a |method|: >
+ GetRow()->screenchars(col)
+
screencol() *screencol()*
The result is a Number, which is the current screen column of
the cursor. The leftmost column has number 1.
@@ -8143,6 +8170,9 @@ screenpos({winid}, {lnum}, {col}) *screenpos()*
right position and use |screencol()| to get the value with
|conceal| taken into account.
+ Can also be used as a |method|: >
+ GetWinid()->screenpos(lnum, col)
+
screenrow() *screenrow()*
The result is a Number, which is the current screen row of the
cursor. The top line has number one.
@@ -8159,6 +8189,9 @@ screenstring({row}, {col}) *screenstring()*
This is mainly to be used for testing.
Returns an empty String when row or col is out of range.
+ Can also be used as a |method|: >
+ GetRow()->screenstring(col)
+
search({pattern} [, {flags} [, {stopline} [, {timeout}]]]) *search()*
Search for regexp pattern {pattern}. The search starts at the
cursor position (you can use |cursor()| to set it).
@@ -8249,6 +8282,8 @@ search({pattern} [, {flags} [, {stopline} [, {timeout}]]]) *search()*
without the 'e' flag if the cursor is on the "f" of "if".
The 'n' flag tells the function not to move the cursor.
+ Can also be used as a |method|: >
+ GetPattern()->search()
searchcount([{options}]) *searchcount()*
Get or update the last search count, like what is displayed
@@ -8369,7 +8404,9 @@ searchcount([{options}]) *searchcount()*
value. see |cursor()|, |getpos()
(default: cursor's position)
-
+ Can also be used as a |method|: >
+ GetSearchOpts()->searchcount()
+<
searchdecl({name} [, {global} [, {thisblock}]]) *searchdecl()*
Search for the declaration of {name}.
@@ -8388,6 +8425,9 @@ searchdecl({name} [, {global} [, {thisblock}]]) *searchdecl()*
echo getline('.')
endif
<
+ Can also be used as a |method|: >
+ GetName()->searchdecl()
+<
*searchpair()*
searchpair({start}, {middle}, {end} [, {flags} [, {skip}
[, {stopline} [, {timeout}]]]])
@@ -8502,6 +8542,9 @@ searchpos({pattern} [, {flags} [, {stopline} [, {timeout}]]]) *searchpos()*
< In this example "submatch" is 2 when a lowercase letter is
found |/\l|, 3 when an uppercase letter is found |/\u|.
+ Can also be used as a |method|: >
+ GetPattern()->searchpos()
+
server2client({clientid}, {string}) *server2client()*
Send a reply string to {clientid}. The most recent {clientid}
that sent a string can be retrieved with expand("<client>").
@@ -8513,6 +8556,9 @@ server2client({clientid}, {string}) *server2client()*
See also |clientserver|.
Example: >
:echo server2client(expand("<client>"), "HELLO")
+
+< Can also be used as a |method|: >
+ GetClientId()->server2client(string)
<
serverlist() *serverlist()*
Returns a list of server addresses, or empty if all servers
@@ -8579,6 +8625,10 @@ setbufline({buf}, {lnum}, {text}) *setbufline()*
If {buf} is not a valid buffer or {lnum} is not valid, an
error message is given.
+ Can also be used as a |method|, the base is passed as the
+ third argument: >
+ GetText()->setbufline(buf, lnum)
+
setbufvar({buf}, {varname}, {val}) *setbufvar()*
Set option or local variable {varname} in buffer {buf} to
{val}.
@@ -8593,6 +8643,10 @@ setbufvar({buf}, {varname}, {val}) *setbufvar()*
:call setbufvar("todo", "myvar", "foobar")
< This function is not available in the |sandbox|.
+ Can also be used as a |method|, the base is passed as the
+ third argument: >
+ GetValue()->setbufvar(buf, varname)
+
setcharsearch({dict}) *setcharsearch()*
Set the current character search information to {dict},
which contains one or more of the following entries:
@@ -8613,6 +8667,9 @@ setcharsearch({dict}) *setcharsearch()*
:call setcharsearch(prevsearch)
< Also see |getcharsearch()|.
+ Can also be used as a |method|: >
+ SavedSearch()->setcharsearch()
+
setcmdpos({pos}) *setcmdpos()*
Set the cursor position in the command line to byte position
{pos}. The first position is 1.
@@ -8628,6 +8685,9 @@ setcmdpos({pos}) *setcmdpos()*
Returns FALSE when successful, TRUE when not editing the
command line.
+ Can also be used as a |method|: >
+ GetPos()->setcmdpos()
+
setenv({name}, {val}) *setenv()*
Set environment variable {name} to {val}. Example: >
call setenv('HOME', '/home/myhome')
@@ -8635,6 +8695,10 @@ setenv({name}, {val}) *setenv()*
< When {val} is |v:null| the environment variable is deleted.
See also |expr-env|.
+ Can also be used as a |method|, the base is passed as the
+ second argument: >
+ GetPath()->setenv('PATH')
+
setfperm({fname}, {mode}) *setfperm()* *chmod*
Set the file permissions for {fname} to {mode}.
{mode} must be a string with 9 characters. It is of the form
@@ -8680,7 +8744,11 @@ setline({lnum}, {text}) *setline()*
< Note: The '[ and '] marks are not set.
-setloclist({nr}, {list}[, {action}[, {what}]]) *setloclist()*
+ Can also be used as a |method|, the base is passed as the
+ second argument: >
+ GetText()->setline(lnum)
+
+setloclist({nr}, {list} [, {action} [, {what}]]) *setloclist()*
Create or replace or add to the location list for window {nr}.
{nr} can be the window number or the |window-ID|.
When {nr} is zero the current window is used.
@@ -8696,6 +8764,10 @@ setloclist({nr}, {list}[, {action}[, {what}]]) *setloclist()*
only the items listed in {what} are set. Refer to |setqflist()|
for the list of supported keys in {what}.
+ Can also be used as a |method|, the base is passed as the
+ second argument: >
+ GetLoclist()->setloclist(winnr)
+
setmatches({list} [, {win}]) *setmatches()*
Restores a list of matches saved by |getmatches() for the
current window|. Returns 0 if successful, otherwise -1. All
@@ -8704,6 +8776,9 @@ setmatches({list} [, {win}]) *setmatches()*
If {win} is specified, use the window with this number or
window ID instead of the current window.
+ Can also be used as a |method|: >
+ GetMatches()->setmatches()
+<
*setpos()*
setpos({expr}, {list})
Set the position for String {expr}. Possible values:
@@ -8753,8 +8828,10 @@ setpos({expr}, {list})
also set the preferred column. Also see the "curswant" key in
|winrestview()|.
+ Can also be used as a |method|: >
+ GetPosition()->setpos('.')
-setqflist({list} [, {action}[, {what}]]) *setqflist()*
+setqflist({list} [, {action} [, {what}]]) *setqflist()*
Create or replace or add to the quickfix list.
If the optional {what} dictionary argument is supplied, then
@@ -8863,7 +8940,10 @@ setqflist({list} [, {action}[, {what}]]) *setqflist()*
independent of the 'errorformat' setting. Use a command like
`:cc 1` to jump to the first position.
-
+ Can also be used as a |method|, the base is passed as the
+ second argument: >
+ GetErrorlist()->setqflist()
+<
*setreg()*
setreg({regname}, {value} [, {options}])
Set the register {regname} to {value}.
@@ -8920,6 +9000,10 @@ setreg({regname}, {value} [, {options}])
nothing: >
:call setreg('a', '', 'al')
+< Can also be used as a |method|, the base is passed as the
+ second argument: >
+ GetText()->setreg('a')
+
settabvar({tabnr}, {varname}, {val}) *settabvar()*
Set tab-local variable {varname} to {val} in tab page {tabnr}.
|t:var|
@@ -8928,6 +9012,10 @@ settabvar({tabnr}, {varname}, {val}) *settabvar()*
Tabs are numbered starting with one.
This function is not available in the |sandbox|.
+ Can also be used as a |method|, the base is passed as the
+ third argument: >
+ GetValue()->settabvar(tab, name)
+
settabwinvar({tabnr}, {winnr}, {varname}, {val}) *settabwinvar()*
Set option or local variable {varname} in window {winnr} to
{val}.
@@ -8944,6 +9032,10 @@ settabwinvar({tabnr}, {winnr}, {varname}, {val}) *settabwinvar()*
:call settabwinvar(3, 2, "myvar", "foobar")
< This function is not available in the |sandbox|.
+ Can also be used as a |method|, the base is passed as the
+ fourth argument: >
+ GetValue()->settabwinvar(tab, winnr, name)
+
settagstack({nr}, {dict} [, {action}]) *settagstack()*
Modify the tag stack of the window {nr} using {dict}.
{nr} can be the window number or the |window-ID|.
@@ -8977,6 +9069,9 @@ settagstack({nr}, {dict} [, {action}]) *settagstack()*
call settagstack(1003, stack)
unlet stack
<
+ Can also be used as a |method|, the base is passed as the
+ second argument: >
+ GetStack()->settagstack(winnr)
setwinvar({nr}, {varname}, {val}) *setwinvar()*
Like |settabwinvar()| for the current tab page.
@@ -8984,10 +9079,17 @@ setwinvar({nr}, {varname}, {val}) *setwinvar()*
:call setwinvar(1, "&list", 0)
:call setwinvar(2, "myvar", "foobar")
+< Can also be used as a |method|, the base is passed as the
+ third argument: >
+ GetValue()->setwinvar(winnr, name)
+
sha256({string}) *sha256()*
Returns a String with 64 hex characters, which is the SHA256
checksum of {string}.
+ Can also be used as a |method|: >
+ GetText()->sha256()
+
shellescape({string} [, {special}]) *shellescape()*
Escape {string} for use as a shell command argument.
@@ -9019,6 +9121,8 @@ shellescape({string} [, {special}]) *shellescape()*
:call system("chmod +w -- " . shellescape(expand("%")))
< See also |::S|.
+ Can also be used as a |method|: >
+ GetCommand()->shellescape()
shiftwidth([{col}]) *shiftwidth()*
Returns the effective value of 'shiftwidth'. This is the
@@ -9041,6 +9145,9 @@ shiftwidth([{col}]) *shiftwidth()*
'vartabstop' feature. If no {col} argument is given, column 1
will be assumed.
+ Can also be used as a |method|: >
+ GetColumn()->shiftwidth()
+
sign_ functions are documented here: |sign-functions-details|
simplify({filename}) *simplify()*
@@ -9060,6 +9167,8 @@ simplify({filename}) *simplify()*
directory. In order to resolve all the involved symbolic
links before simplifying the path name, use |resolve()|.
+ Can also be used as a |method|: >
+ GetName()->simplify()
sin({expr}) *sin()*
Return the sine of {expr}, measured in radians, as a |Float|.
@@ -9191,6 +9300,9 @@ soundfold({word})
This can be used for making spelling suggestions. Note that
the method can be quite slow.
+ Can also be used as a |method|: >
+ GetWord()->soundfold()
+<
*spellbadword()*
spellbadword([{sentence}])
Without argument: The result is the badly spelled word under
@@ -9216,6 +9328,9 @@ spellbadword([{sentence}])
The spelling information for the current window and the value
of 'spelllang' are used.
+ Can also be used as a |method|: >
+ GetText()->spellbadword()
+<
*spellsuggest()*
spellsuggest({word} [, {max} [, {capital}]])
Return a |List| with spelling suggestions to replace {word}.
@@ -9238,6 +9353,8 @@ spellsuggest({word} [, {max} [, {capital}]])
The spelling information for the current window is used. The
values of 'spelllang' and 'spellsuggest' are used.
+ Can also be used as a |method|: >
+ GetWord()->spellsuggest()
split({string} [, {pattern} [, {keepempty}]]) *split()*
Make a |List| out of {string}. When {pattern} is omitted or
@@ -9361,7 +9478,7 @@ str2nr({string} [, {base}]) *str2nr()*
When {base} is omitted base 10 is used. This also means that
a leading zero doesn't cause octal conversion to be used, as
with the default String to Number conversion. Example: >
- let nr = str2nr('123')
+ let nr = str2nr('0123')
<
When {base} is 16 a leading "0x" or "0X" is ignored. With a
different base the result will be zero. Similarly, when
@@ -9369,6 +9486,20 @@ str2nr({string} [, {base}]) *str2nr()*
{base} is 2 a leading "0b" or "0B" is ignored.
Text after the number is silently ignored.
+ Can also be used as a |method|: >
+ GetText()->str2nr()
+
+strcharpart({src}, {start} [, {len}]) *strcharpart()*
+ Like |strpart()| but using character index and length instead
+ of byte index and length. Composing characters are counted
+ separately.
+ When a character index is used where a character does not
+ exist it is assumed to be one character. For example: >
+ strcharpart('abc', -1, 2)
+< results in 'a'.
+
+ Can also be used as a |method|: >
+ GetText()->strcharpart(5)
strchars({string} [, {skipcc}]) *strchars()*
The result is a Number, which is the number of characters
@@ -9394,14 +9525,8 @@ strchars({string} [, {skipcc}]) *strchars()*
endfunction
endif
<
-strcharpart({src}, {start} [, {len}]) *strcharpart()*
- Like |strpart()| but using character index and length instead
- of byte index and length. Composing characters are counted
- separately.
- When a character index is used where a character does not
- exist it is assumed to be one character. For example: >
- strcharpart('abc', -1, 2)
-< results in 'a'.
+ Can also be used as a |method|: >
+ GetText()->strchars()
strdisplaywidth({string} [, {col}]) *strdisplaywidth()*
The result is a Number, which is the number of display cells
@@ -9416,6 +9541,9 @@ strdisplaywidth({string} [, {col}]) *strdisplaywidth()*
Ambiguous, this function's return value depends on 'ambiwidth'.
Also see |strlen()|, |strwidth()| and |strchars()|.
+ Can also be used as a |method|: >
+ GetText()->strdisplaywidth()
+
strftime({format} [, {time}]) *strftime()*
The result is a String, which is a formatted date and time, as
specified by the {format} string. The given {time} is used,
@@ -9433,12 +9561,18 @@ strftime({format} [, {time}]) *strftime()*
:echo strftime("%c", getftime("file.c"))
Show mod time of file.c.
+< Can also be used as a |method|: >
+ GetFormat()->strftime()
+
strgetchar({str}, {index}) *strgetchar()*
Get character {index} from {str}. This uses a character
index, not a byte index. Composing characters are considered
separate characters here.
Also see |strcharpart()| and |strchars()|.
+ Can also be used as a |method|: >
+ GetText()->strgetchar(5)
+
stridx({haystack}, {needle} [, {start}]) *stridx()*
The result is a Number, which gives the byte index in
{haystack} of the first occurrence of the String {needle}.
@@ -9458,6 +9592,9 @@ stridx({haystack}, {needle} [, {start}]) *stridx()*
stridx() works similar to the C function strstr(). When used
with a single character it works similar to strchr().
+ Can also be used as a |method|: >
+ GetHaystack()->stridx(needle)
+
*string()*
string({expr}) Return {expr} converted to a String. If {expr} is a Number,
Float, String, Blob or a composition of them, then the result
@@ -9520,6 +9657,9 @@ strpart({src}, {start} [, {len} [, {chars}]]) *strpart()*
example, to get the character under the cursor: >
strpart(getline("."), col(".") - 1, 1, v:true)
<
+ Can also be used as a |method|: >
+ GetText()->strpart(5)
+
strptime({format}, {timestring}) *strptime()*
The result is a Number, which is a unix timestamp representing
the date and time in {timestring}, which is expected to match
@@ -9544,7 +9684,9 @@ strptime({format}, {timestring}) *strptime()*
:echo strftime("%c", strptime("%Y%m%d%H%M%S", "19970427115355") + 3600)
< Sun Apr 27 12:53:55 1997
-
+ Can also be used as a |method|: >
+ GetFormat()->strptime(timestring)
+<
strridx({haystack}, {needle} [, {start}]) *strridx()*
The result is a Number, which gives the byte index in
{haystack} of the last occurrence of the String {needle}.
@@ -9563,6 +9705,9 @@ strridx({haystack}, {needle} [, {start}]) *strridx()*
When used with a single character it works similar to the C
function strrchr().
+ Can also be used as a |method|: >
+ GetHaystack()->strridx(needle)
+
strtrans({string}) *strtrans()*
The result is a String, which is {string} with all unprintable
characters translated into printable characters |'isprint'|.
@@ -9611,6 +9756,9 @@ submatch({nr} [, {list}]) *submatch()* *E935*
< This finds the first number in the line and adds one to it.
A line break is included