1
0
forked from aniani/vim

patch 8.2.2992: Vim9: completion for :disassemble is incomplete

Problem:    Vim9: completion for :disassemble is incomplete.
Solution:   Recognize the "debug" and "profile" arguments.
This commit is contained in:
Bram Moolenaar
2021-06-13 18:38:48 +02:00
parent e70e12b32f
commit 4ee9d8e04d
6 changed files with 53 additions and 1 deletions

View File

@@ -5370,6 +5370,40 @@ list_instructions(char *pfx, isn_T *instr, int instr_count, ufunc_T *ufunc)
}
}
/*
* Handle command line completion for the :disassemble command.
*/
void
set_context_in_disassemble_cmd(expand_T *xp, char_u *arg)
{
char_u *p;
// Default: expand user functions, "debug" and "profile"
xp->xp_context = EXPAND_DISASSEMBLE;
xp->xp_pattern = arg;
// first argument already typed: only user function names
if (*arg != NUL && *(p = skiptowhite(arg)) != NUL)
{
xp->xp_context = EXPAND_USER_FUNC;
xp->xp_pattern = skipwhite(p);
}
}
/*
* Function given to ExpandGeneric() to obtain the list of :disassemble
* arguments.
*/
char_u *
get_disassemble_argument(expand_T *xp, int idx)
{
if (idx == 0)
return (char_u *)"debug";
if (idx == 1)
return (char_u *)"profile";
return get_user_func_name(xp, idx - 2);
}
/*
* ":disassemble".
* We don't really need this at runtime, but we do have tests that require it,