aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--runtime/doc/lua.txt10
-rw-r--r--runtime/lua/vim/_editor.lua9
2 files changed, 12 insertions, 7 deletions
diff --git a/runtime/doc/lua.txt b/runtime/doc/lua.txt
index 2baae3a123..018c6ce5a4 100644
--- a/runtime/doc/lua.txt
+++ b/runtime/doc/lua.txt
@@ -1510,7 +1510,8 @@ print({...}) *vim.print()*
region({bufnr}, {pos1}, {pos2}, {regtype}, {inclusive}) *vim.region()*
Get a table of lines with start, end columns for a region marked by two
- points
+ points. Input and output positions are (0,0)-indexed and indicate byte
+ positions.
Parameters: ~
• {bufnr} (integer) number of buffer
@@ -1518,11 +1519,12 @@ region({bufnr}, {pos1}, {pos2}, {regtype}, {inclusive}) *vim.region()*
region
• {pos2} integer[] (line, column) tuple marking end of region
• {regtype} (string) type of selection, see |setreg()|
- • {inclusive} (boolean) indicating whether the selection is
- end-inclusive
+ • {inclusive} (boolean) indicating whether column of pos2 is inclusive
Return: ~
- (table) region Table of the form `{linenr = {startcol,endcol}}`
+ (table) region Table of the form `{linenr = {startcol,endcol}}`.
+ `endcol` is exclusive, and whole lines are marked with
+ `{startcol,endcol} = {0,-1}`.
schedule_wrap({cb}) *vim.schedule_wrap()*
Defers callback `cb` until the Nvim API is safe to call.
diff --git a/runtime/lua/vim/_editor.lua b/runtime/lua/vim/_editor.lua
index f2875e5646..fd6a5865ce 100644
--- a/runtime/lua/vim/_editor.lua
+++ b/runtime/lua/vim/_editor.lua
@@ -397,14 +397,17 @@ do
vim.t = make_dict_accessor('t')
end
---- Get a table of lines with start, end columns for a region marked by two points
+--- Get a table of lines with start, end columns for a region marked by two points.
+--- Input and output positions are (0,0)-indexed and indicate byte positions.
---
---@param bufnr integer number of buffer
---@param pos1 integer[] (line, column) tuple marking beginning of region
---@param pos2 integer[] (line, column) tuple marking end of region
---@param regtype string type of selection, see |setreg()|
----@param inclusive boolean indicating whether the selection is end-inclusive
----@return table region Table of the form `{linenr = {startcol,endcol}}`
+---@param inclusive boolean indicating whether column of pos2 is inclusive
+---@return table region Table of the form `{linenr = {startcol,endcol}}`.
+--- `endcol` is exclusive, and whole lines are marked with
+--- `{startcol,endcol} = {0,-1}`.
function vim.region(bufnr, pos1, pos2, regtype, inclusive)
if not vim.api.nvim_buf_is_loaded(bufnr) then
vim.fn.bufload(bufnr)