feat(api): more fields in nvim_list_uis

Problem:
nvim_list_uis does not report all ":help ui-option" fields.

Solution:
Store ":help ui-option" fields on the `UI` object and update ui_array.
This commit is contained in:
Justin M. Keyes
2023-02-23 18:29:36 +01:00
parent f64098a2df
commit 7f424e2b65
9 changed files with 72 additions and 26 deletions

View File

@@ -598,6 +598,15 @@ Array ui_array(void)
PUT(info, "height", INTEGER_OBJ(ui->height));
PUT(info, "rgb", BOOLEAN_OBJ(ui->rgb));
PUT(info, "override", BOOLEAN_OBJ(ui->override));
// TUI fields.
PUT(info, "term_name", STRING_OBJ(cstr_to_string(ui->term_name)));
PUT(info, "term_background", STRING_OBJ(cstr_to_string(ui->term_background)));
PUT(info, "term_colors", INTEGER_OBJ(ui->term_colors));
PUT(info, "stdin_fd", INTEGER_OBJ(ui->stdin_fd));
PUT(info, "stdin_tty", BOOLEAN_OBJ(ui->stdin_tty));
PUT(info, "stdout_tty", BOOLEAN_OBJ(ui->stdout_tty));
for (UIExtension j = 0; j < kUIExtCount; j++) {
if (ui_ext_names[j][0] != '_' || ui->ui_ext[j]) {
PUT(info, ui_ext_names[j], BOOLEAN_OBJ(ui->ui_ext[j]));