mirror of
https://github.com/vim/vim.git
synced 2025-09-23 03:43:49 -04:00
runtime(doc): Update doc 52.6
Problem: the highlight-yank plugin exmaple provided in the doc behaves incorrectly when selection is set to exclusive. Solution: use a unified offset of 1 and pass 'exclusive: false' to getregionpos(), while at it, also clarify when the TextYankPost autocommand triggers. closes: #16866 Signed-off-by: Jim Zhou <jimzhouzzy@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
committed by
Christian Brabandt
parent
23473303b7
commit
7db96134c2
@@ -1,4 +1,4 @@
|
|||||||
*autocmd.txt* For Vim version 9.1. Last change: 2025 Mar 08
|
*autocmd.txt* For Vim version 9.1. Last change: 2025 Mar 12
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -1346,6 +1346,10 @@ TextYankPost After text has been yanked or deleted in the
|
|||||||
called recursively.
|
called recursively.
|
||||||
It is not allowed to change the buffer text,
|
It is not allowed to change the buffer text,
|
||||||
see |textlock|. *E1064*
|
see |textlock|. *E1064*
|
||||||
|
Also triggered indirectly when Vim tries to
|
||||||
|
become owner of the Visual selection because
|
||||||
|
of setting "autoselect" for 'guioptions' or
|
||||||
|
'clipboard'.
|
||||||
{only when compiled with the +eval feature}
|
{only when compiled with the +eval feature}
|
||||||
|
|
||||||
*User*
|
*User*
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
*usr_52.txt* For Vim version 9.1. Last change: 2024 Oct 07
|
*usr_52.txt* For Vim version 9.1. Last change: 2025 Mar 12
|
||||||
|
|
||||||
VIM USER MANUAL - by Bram Moolenaar
|
VIM USER MANUAL - by Bram Moolenaar
|
||||||
|
|
||||||
@@ -362,11 +362,10 @@ and it will be active next time you start Vim. |add-plugin|: >
|
|||||||
endif
|
endif
|
||||||
var [beg, end] = [getpos("'["), getpos("']")]
|
var [beg, end] = [getpos("'["), getpos("']")]
|
||||||
var type = v:event.regtype ?? 'v'
|
var type = v:event.regtype ?? 'v'
|
||||||
var pos = getregionpos(beg, end, {type: type})
|
var pos = getregionpos(beg, end, {type: type, exclusive: false})
|
||||||
var end_offset = (type == 'V' || v:event.inclusive) ? 1 : 0
|
|
||||||
var m = matchaddpos(hlgroup, pos->mapnew((_, v) => {
|
var m = matchaddpos(hlgroup, pos->mapnew((_, v) => {
|
||||||
var col_beg = v[0][2] + v[0][3]
|
var col_beg = v[0][2] + v[0][3]
|
||||||
var col_end = v[1][2] + v[1][3] + end_offset
|
var col_end = v[1][2] + v[1][3] + 1
|
||||||
return [v[0][1], col_beg, col_end - col_beg]
|
return [v[0][1], col_beg, col_end - col_beg]
|
||||||
}))
|
}))
|
||||||
var winid = win_getid()
|
var winid = win_getid()
|
||||||
|
Reference in New Issue
Block a user