runtime(indent-tests): Annotate timed "search*()"es for tracing

related: #17116

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
Aliaksei Budavei
2025-04-13 21:00:42 +03:00
committed by Christian Brabandt
parent fe8508eda0
commit 4e3df44aa2
4 changed files with 15 additions and 3 deletions

View File

@ -2,7 +2,7 @@ vim9script
# Language: Vim script # Language: Vim script
# Maintainer: github user lacygoill # Maintainer: github user lacygoill
# Last Change: 2024 Dec 26 # Last Change: 2025 Apr 13
# #
# Includes changes from The Vim Project: # Includes changes from The Vim Project:
# - 2024 Feb 09: Fix indent after literal Dict (A. Radev via #13966) # - 2024 Feb 09: Fix indent after literal Dict (A. Radev via #13966)
@ -981,8 +981,10 @@ def SearchPair( # {{{3
if end == '[' || end == ']' if end == '[' || end == ']'
e = e->escape('[]') e = e->escape('[]')
endif endif
# VIM_INDENT_TEST_TRACE_START
return searchpair('\C' .. s, (middle == '' ? '' : '\C' .. middle), '\C' .. e, return searchpair('\C' .. s, (middle == '' ? '' : '\C' .. middle), '\C' .. e,
flags, (): bool => InCommentOrString(), stopline, TIMEOUT) flags, (): bool => InCommentOrString(), stopline, TIMEOUT)
# VIM_INDENT_TEST_TRACE_END dist#vimindent#SearchPair
enddef enddef
def SearchPairStart( # {{{3 def SearchPairStart( # {{{3
@ -1268,7 +1270,9 @@ def NonCommentedMatch(line: dict<any>, pat: string): bool # {{{3
var pos: list<number> = getcurpos() var pos: list<number> = getcurpos()
cursor(line.lnum, 1) cursor(line.lnum, 1)
# VIM_INDENT_TEST_TRACE_START
var match_lnum: number = search(pat, 'cnW', line.lnum, TIMEOUT, (): bool => InCommentOrString()) var match_lnum: number = search(pat, 'cnW', line.lnum, TIMEOUT, (): bool => InCommentOrString())
# VIM_INDENT_TEST_TRACE_END dist#vimindent#NonCommentedMatch
setpos('.', pos) setpos('.', pos)
return match_lnum > 0 return match_lnum > 0
enddef enddef

View File

@ -20,10 +20,12 @@ let g:python_indent = extend(get(g:, 'python_indent', {}), #{
let s:maxoff = 50 " maximum number of lines to look backwards for () let s:maxoff = 50 " maximum number of lines to look backwards for ()
function s:SearchBracket(fromlnum, flags) function s:SearchBracket(fromlnum, flags)
" VIM_INDENT_TEST_TRACE_START
return searchpairpos('[[({]', '', '[])}]', a:flags, return searchpairpos('[[({]', '', '[])}]', a:flags,
\ {-> synstack('.', col('.')) \ {-> synstack('.', col('.'))
\ ->indexof({_, id -> synIDattr(id, 'name') =~ '\%(Comment\|Todo\|String\)$'}) >= 0}, \ ->indexof({_, id -> synIDattr(id, 'name') =~ '\%(Comment\|Todo\|String\)$'}) >= 0},
\ [0, a:fromlnum - s:maxoff]->max(), g:python_indent.searchpair_timeout) \ [0, a:fromlnum - s:maxoff]->max(), g:python_indent.searchpair_timeout)
" VIM_INDENT_TEST_TRACE_END python#s:SearchBracket
endfunction endfunction
" See if the specified line is already user-dedented from the expected value. " See if the specified line is already user-dedented from the expected value.

View File

@ -1,7 +1,7 @@
" Vim indent script for HTML " Vim indent script for HTML
" Maintainer: The Vim Project <https://github.com/vim/vim> " Maintainer: The Vim Project <https://github.com/vim/vim>
" Original Author: Andy Wokula <anwoku@yahoo.de> " Original Author: Andy Wokula <anwoku@yahoo.de>
" Last Change: 2023 Aug 13 " Last Change: 2025 Apr 13
" Version: 1.0 "{{{ " Version: 1.0 "{{{
" Description: HTML indent script with cached state for faster indenting on a " Description: HTML indent script with cached state for faster indenting on a
" range of lines. " range of lines.
@ -868,7 +868,9 @@ func HtmlIndent_FindTagStart(lnum)
let idx = match(getline(a:lnum), '\S>\s*$') let idx = match(getline(a:lnum), '\S>\s*$')
if idx > 0 if idx > 0
call cursor(a:lnum, idx) call cursor(a:lnum, idx)
" VIM_INDENT_TEST_TRACE_START
let lnum = searchpair('<\w', '' , '\S>', 'bW', '', max([a:lnum - b:html_indent_line_limit, 0])) let lnum = searchpair('<\w', '' , '\S>', 'bW', '', max([a:lnum - b:html_indent_line_limit, 0]))
" VIM_INDENT_TEST_TRACE_END HtmlIndent_FindTagStart
if lnum > 0 if lnum > 0
return [lnum, 1] return [lnum, 1]
endif endif
@ -903,7 +905,9 @@ func HtmlIndent_FindTagEnd()
call search('--\zs>') call search('--\zs>')
elseif s:get_tag('/' . tagname) != 0 elseif s:get_tag('/' . tagname) != 0
" tag with a closing tag, find matching "</tag>" " tag with a closing tag, find matching "</tag>"
" VIM_INDENT_TEST_TRACE_START
call searchpair('<' . tagname, '', '</' . tagname . '\zs>', 'W', '', line('.') + b:html_indent_line_limit) call searchpair('<' . tagname, '', '</' . tagname . '\zs>', 'W', '', line('.') + b:html_indent_line_limit)
" VIM_INDENT_TEST_TRACE_END HtmlIndent_FindTagEnd
else else
" self-closing tag, find the ">" " self-closing tag, find the ">"
call search('\S\zs>') call search('\S\zs>')

View File

@ -2,7 +2,7 @@
" Language: Javascript " Language: Javascript
" Maintainer: Chris Paul ( https://github.com/bounceme ) " Maintainer: Chris Paul ( https://github.com/bounceme )
" URL: https://github.com/pangloss/vim-javascript " URL: https://github.com/pangloss/vim-javascript
" Last Change: December 4, 2017 " Last Change: 2025 Apr 13
" Only load this indent file when no other was loaded. " Only load this indent file when no other was loaded.
if exists('b:did_indent') if exists('b:did_indent')
@ -69,7 +69,9 @@ let s:rel = has('reltime')
" searchpair() wrapper " searchpair() wrapper
if s:rel if s:rel
function s:GetPair(start,end,flags,skip) function s:GetPair(start,end,flags,skip)
" VIM_INDENT_TEST_TRACE_START
return searchpair('\m'.a:start,'','\m'.a:end,a:flags,a:skip,s:l1,a:skip ==# 's:SkipFunc()' ? 2000 : 200) return searchpair('\m'.a:start,'','\m'.a:end,a:flags,a:skip,s:l1,a:skip ==# 's:SkipFunc()' ? 2000 : 200)
" VIM_INDENT_TEST_TRACE_END s:GetPair
endfunction endfunction
else else
function s:GetPair(start,end,flags,skip) function s:GetPair(start,end,flags,skip)