api: Make nvim_set_option() update :verbose set ...

Make `:verbose set ...` show when an option was last modified by an
API client or Lua script/chunk. In the case of an API client, the
channel ID is displayed.
This commit is contained in:
b-r-o-c-k
2018-04-29 21:02:17 -05:00
parent 4744142fad
commit 7170de1971
11 changed files with 103 additions and 43 deletions

View File

@@ -22061,12 +22061,25 @@ int store_session_globals(FILE *fd)
*/
void last_set_msg(scid_T scriptID)
{
if (scriptID != 0) {
char_u *p = home_replace_save(NULL, get_scriptname(scriptID));
LastSet last_set;
last_set.script_id = scriptID;
option_last_set_msg(last_set);
}
/// Displays where an option was last set.
///
/// Should only be invoked when 'verbose' is non-zero.
void option_last_set_msg(LastSet last_set)
{
if (last_set.script_id != 0) {
bool should_free;
char_u *p = get_scriptname(last_set, &should_free);
verbose_enter();
MSG_PUTS(_("\n\tLast set from "));
MSG_PUTS(p);
xfree(p);
if (should_free) {
xfree(p);
}
verbose_leave();
}
}