aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/api/window.c20
-rw-r--r--src/api/window.h3
2 files changed, 19 insertions, 4 deletions
diff --git a/src/api/window.c b/src/api/window.c
index 019e63aec3..661b85f512 100644
--- a/src/api/window.c
+++ b/src/api/window.c
@@ -112,12 +112,26 @@ void window_set_width(Window window, int64_t width, Error *err)
Object window_get_var(Window window, String name, Error *err)
{
- abort();
+ Object rv;
+ win_T *win = find_window(window, err);
+
+ if (!win) {
+ return rv;
+ }
+
+ return dict_get_value(win->w_vars, name, false, err);
}
-void window_set_var(Window window, String name, Object value, Error *err)
+Object window_set_var(Window window, String name, Object value, Error *err)
{
- abort();
+ Object rv;
+ win_T *win = find_window(window, err);
+
+ if (!win) {
+ return rv;
+ }
+
+ return dict_set_value(win->w_vars, name, value, err);
}
String window_get_option(Window window, String name, Error *err)
diff --git a/src/api/window.h b/src/api/window.h
index 96ff619d88..ee9a6b0834 100644
--- a/src/api/window.h
+++ b/src/api/window.h
@@ -71,7 +71,8 @@ Object window_get_var(Window window, String name, Error *err);
/// @param name The variable name
/// @param value The variable value
/// @param[out] err Details of an error that may have occurred
-void window_set_var(Window window, String name, Object value, Error *err);
+/// @return The old value
+Object window_set_var(Window window, String name, Object value, Error *err);
/// Gets a window option value
///