aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/ui.c
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2023-02-23 18:29:36 +0100
committerJustin M. Keyes <justinkz@gmail.com>2023-02-27 19:50:59 +0100
commit7f424e2b65779c59fc0cac3cc7508ba2ec07f200 (patch)
tree60c2609c51ea9f5708c379972c38d7da32a6faa1 /src/nvim/ui.c
parentf64098a2df774c79dd454f63ac491570cdcaf2b2 (diff)
downloadrneovim-7f424e2b65779c59fc0cac3cc7508ba2ec07f200.tar.gz
rneovim-7f424e2b65779c59fc0cac3cc7508ba2ec07f200.tar.bz2
rneovim-7f424e2b65779c59fc0cac3cc7508ba2ec07f200.zip
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.
Diffstat (limited to 'src/nvim/ui.c')
-rw-r--r--src/nvim/ui.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/nvim/ui.c b/src/nvim/ui.c
index 73545441d3..6c95579b47 100644
--- a/src/nvim/ui.c
+++ b/src/nvim/ui.c
@@ -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]));