forked from aniani/vim
patch 8.2.0915: search() cannot skip over matches like searchpair() can
Problem: Search() cannot skip over matches like searchpair() can. Solution: Add an optional "skip" argument. (Christian Brabandt, closes #861)
This commit is contained in:
@@ -2716,7 +2716,7 @@ screencol() Number current cursor column
|
||||
screenpos({winid}, {lnum}, {col}) Dict screen row and col of a text character
|
||||
screenrow() Number current cursor row
|
||||
screenstring({row}, {col}) String characters at screen position
|
||||
search({pattern} [, {flags} [, {stopline} [, {timeout}]]])
|
||||
search({pattern} [, {flags} [, {stopline} [, {timeout} [, {skip}]]]])
|
||||
Number search for {pattern}
|
||||
searchcount([{options}]) Dict get or update search stats
|
||||
searchdecl({name} [, {global} [, {thisblock}]])
|
||||
@@ -2725,7 +2725,7 @@ searchpair({start}, {middle}, {end} [, {flags} [, {skip} [...]]])
|
||||
Number search for other end of start/end pair
|
||||
searchpairpos({start}, {middle}, {end} [, {flags} [, {skip} [...]]])
|
||||
List search for other end of start/end pair
|
||||
searchpos({pattern} [, {flags} [, {stopline} [, {timeout}]]])
|
||||
searchpos({pattern} [, {flags} [, {stopline} [, {timeout} [, {skip}]]]])
|
||||
List search for {pattern}
|
||||
server2client({clientid}, {string})
|
||||
Number send reply string
|
||||
@@ -8364,8 +8364,9 @@ screenstring({row}, {col}) *screenstring()*
|
||||
|
||||
Can also be used as a |method|: >
|
||||
GetRow()->screenstring(col)
|
||||
|
||||
search({pattern} [, {flags} [, {stopline} [, {timeout}]]]) *search()*
|
||||
<
|
||||
*search()*
|
||||
search({pattern} [, {flags} [, {stopline} [, {timeout} [, {skip}]]]])
|
||||
Search for regexp pattern {pattern}. The search starts at the
|
||||
cursor position (you can use |cursor()| to set it).
|
||||
|
||||
@@ -8413,6 +8414,15 @@ search({pattern} [, {flags} [, {stopline} [, {timeout}]]]) *search()*
|
||||
giving the argument.
|
||||
{only available when compiled with the |+reltime| feature}
|
||||
|
||||
If the {skip} expression is given it is evaluated with the
|
||||
cursor positioned on the start of a match. If it evaluates to
|
||||
non-zero this match is skipped. This can be used, for
|
||||
example, to skip a match in a comment or a string.
|
||||
{skip} can be a string, which is evaluated as an expression, a
|
||||
function reference or a lambda.
|
||||
When {skip} is omitted or empty, every match is accepted.
|
||||
When evaluating {skip} causes an error the search is aborted
|
||||
and -1 returned.
|
||||
*search()-sub-match*
|
||||
With the 'p' flag the returned value is one more than the
|
||||
first sub-match in \(\). One if none of them matched but the
|
||||
@@ -8696,7 +8706,8 @@ searchpairpos({start}, {middle}, {end} [, {flags} [, {skip}
|
||||
<
|
||||
See |match-parens| for a bigger and more useful example.
|
||||
|
||||
searchpos({pattern} [, {flags} [, {stopline} [, {timeout}]]]) *searchpos()*
|
||||
*searchpos()*
|
||||
searchpos({pattern} [, {flags} [, {stopline} [, {timeout} [, {skip}]]]])
|
||||
Same as |search()|, but returns a |List| with the line and
|
||||
column position of the match. The first element of the |List|
|
||||
is the line number and the second element is the byte index of
|
||||
|
||||
Reference in New Issue
Block a user