mirror of
https://github.com/neovim/neovim.git
synced 2026-04-21 14:55:33 +00:00
docs(eval): fix fn.strchar types #37737
Problem: The following strchar functions have incorrect types: strcharlen() - Currently any. Always returns an integer, including on error strcharpart() - The skipcc annotation does not specify that 0 and 1 are valid. These inputs are required for vimscript usage. The current return type is any, even though the function returns an empty string on error strchars() - The skipcc annotation does not specify that 0 and 1 are valid Solution: Update the problem types.
This commit is contained in:
@@ -10488,7 +10488,7 @@ strcharlen({string}) *strcharlen()*
|
||||
• {string} (`string`)
|
||||
|
||||
Return: ~
|
||||
(`any`)
|
||||
(`integer`)
|
||||
|
||||
strcharpart({src}, {start} [, {len} [, {skipcc}]]) *strcharpart()*
|
||||
Like |strpart()| but using character index and length instead
|
||||
@@ -10509,10 +10509,10 @@ strcharpart({src}, {start} [, {len} [, {skipcc}]]) *strcharpart()*
|
||||
• {src} (`string`)
|
||||
• {start} (`integer`)
|
||||
• {len} (`integer?`)
|
||||
• {skipcc} (`boolean?`)
|
||||
• {skipcc} (`0|1|boolean?`)
|
||||
|
||||
Return: ~
|
||||
(`any`)
|
||||
(`string`)
|
||||
|
||||
strchars({string} [, {skipcc}]) *strchars()*
|
||||
The result is a Number, which is the number of characters
|
||||
@@ -10545,7 +10545,7 @@ strchars({string} [, {skipcc}]) *strchars()*
|
||||
|
||||
Parameters: ~
|
||||
• {string} (`string`)
|
||||
• {skipcc} (`boolean?`)
|
||||
• {skipcc} (`0|1|boolean?`)
|
||||
|
||||
Return: ~
|
||||
(`integer`)
|
||||
|
||||
8
runtime/lua/vim/_meta/vimfn.lua
generated
8
runtime/lua/vim/_meta/vimfn.lua
generated
@@ -9573,7 +9573,7 @@ function vim.fn.str2nr(string, base) end
|
||||
--- Also see |strlen()|, |strdisplaywidth()| and |strwidth()|.
|
||||
---
|
||||
--- @param string string
|
||||
--- @return any
|
||||
--- @return integer
|
||||
function vim.fn.strcharlen(string) end
|
||||
|
||||
--- Like |strpart()| but using character index and length instead
|
||||
@@ -9593,8 +9593,8 @@ function vim.fn.strcharlen(string) end
|
||||
--- @param src string
|
||||
--- @param start integer
|
||||
--- @param len? integer
|
||||
--- @param skipcc? boolean
|
||||
--- @return any
|
||||
--- @param skipcc? 0|1|boolean
|
||||
--- @return string
|
||||
function vim.fn.strcharpart(src, start, len, skipcc) end
|
||||
|
||||
--- The result is a Number, which is the number of characters
|
||||
@@ -9626,7 +9626,7 @@ function vim.fn.strcharpart(src, start, len, skipcc) end
|
||||
--- <
|
||||
---
|
||||
--- @param string string
|
||||
--- @param skipcc? boolean
|
||||
--- @param skipcc? 0|1|boolean
|
||||
--- @return integer
|
||||
function vim.fn.strchars(string, skipcc) end
|
||||
|
||||
|
||||
@@ -11532,6 +11532,7 @@ M.funcs = {
|
||||
]=],
|
||||
name = 'strcharlen',
|
||||
params = { { 'string', 'string' } },
|
||||
returns = 'integer',
|
||||
signature = 'strcharlen({string})',
|
||||
},
|
||||
strcharpart = {
|
||||
@@ -11559,8 +11560,9 @@ M.funcs = {
|
||||
{ 'src', 'string' },
|
||||
{ 'start', 'integer' },
|
||||
{ 'len', 'integer' },
|
||||
{ 'skipcc', 'boolean' },
|
||||
{ 'skipcc', '0|1|boolean' },
|
||||
},
|
||||
returns = 'string',
|
||||
signature = 'strcharpart({src}, {start} [, {len} [, {skipcc}]])',
|
||||
},
|
||||
strchars = {
|
||||
@@ -11596,7 +11598,7 @@ M.funcs = {
|
||||
<
|
||||
]=],
|
||||
name = 'strchars',
|
||||
params = { { 'string', 'string' }, { 'skipcc', 'boolean' } },
|
||||
params = { { 'string', 'string' }, { 'skipcc', '0|1|boolean' } },
|
||||
returns = 'integer',
|
||||
signature = 'strchars({string} [, {skipcc}])',
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user