forked from aniani/vim
patch 8.2.3017: Vim9: debugger shows too many lines
Problem: Vim9: debugger shows too many lines. Solution: Truncate at a comment, "enddef", etc. (closes #8392)
This commit is contained in:
parent
fae55a9cb0
commit
59b50c3bee
@ -958,6 +958,10 @@ func Test_debug_def_function()
|
|||||||
a: 1,
|
a: 1,
|
||||||
b: 2,
|
b: 2,
|
||||||
}
|
}
|
||||||
|
# comment
|
||||||
|
def Inner()
|
||||||
|
eval 1
|
||||||
|
enddef
|
||||||
enddef
|
enddef
|
||||||
END
|
END
|
||||||
call writefile(file, 'Xtest.vim')
|
call writefile(file, 'Xtest.vim')
|
||||||
@ -997,6 +1001,7 @@ func Test_debug_def_function()
|
|||||||
\ ':debug call FuncWithDict()',
|
\ ':debug call FuncWithDict()',
|
||||||
\ ['cmd: call FuncWithDict()'])
|
\ ['cmd: call FuncWithDict()'])
|
||||||
call RunDbgCmd(buf, 'step', ['line 1: var d = { a: 1, b: 2, }'])
|
call RunDbgCmd(buf, 'step', ['line 1: var d = { a: 1, b: 2, }'])
|
||||||
|
call RunDbgCmd(buf, 'step', ['line 6: def Inner()'])
|
||||||
|
|
||||||
call RunDbgCmd(buf, 'cont')
|
call RunDbgCmd(buf, 'cont')
|
||||||
call StopVimInTerminal(buf)
|
call StopVimInTerminal(buf)
|
||||||
|
@ -750,6 +750,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
3017,
|
||||||
/**/
|
/**/
|
||||||
3016,
|
3016,
|
||||||
/**/
|
/**/
|
||||||
|
@ -1461,9 +1461,17 @@ handle_debug(isn_T *iptr, ectx_T *ectx)
|
|||||||
{
|
{
|
||||||
ga_init2(&ga, sizeof(char_u *), 10);
|
ga_init2(&ga, sizeof(char_u *), 10);
|
||||||
for (lnum = iptr->isn_lnum; lnum < end_lnum; ++lnum)
|
for (lnum = iptr->isn_lnum; lnum < end_lnum; ++lnum)
|
||||||
|
{
|
||||||
|
char_u *p = skipwhite(
|
||||||
|
((char_u **)ufunc->uf_lines.ga_data)[lnum - 1]);
|
||||||
|
|
||||||
|
if (*p == '#')
|
||||||
|
break;
|
||||||
if (ga_grow(&ga, 1) == OK)
|
if (ga_grow(&ga, 1) == OK)
|
||||||
((char_u **)(ga.ga_data))[ga.ga_len++] =
|
((char_u **)(ga.ga_data))[ga.ga_len++] = p;
|
||||||
skipwhite(((char_u **)ufunc->uf_lines.ga_data)[lnum - 1]);
|
if (STRNCMP(p, "def ", 4) == 0)
|
||||||
|
break;
|
||||||
|
}
|
||||||
line = ga_concat_strings(&ga, " ");
|
line = ga_concat_strings(&ga, " ");
|
||||||
vim_free(ga.ga_data);
|
vim_free(ga.ga_data);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user