aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/api/window.c21
-rw-r--r--src/api/window.h7
2 files changed, 21 insertions, 7 deletions
diff --git a/src/api/window.c b/src/api/window.c
index 661b85f512..45335ba3ed 100644
--- a/src/api/window.c
+++ b/src/api/window.c
@@ -134,14 +134,27 @@ Object window_set_var(Window window, String name, Object value, Error *err)
return dict_set_value(win->w_vars, name, value, err);
}
-String window_get_option(Window window, String name, Error *err)
+Object window_get_option(Window window, String name, Error *err)
{
- abort();
+ Object rv;
+ win_T *win = find_window(window, err);
+
+ if (!win) {
+ return rv;
+ }
+
+ return get_option_from(win, SREQ_WIN, name, err);
}
-void window_set_option(Window window, String name, String value, Error *err)
+void window_set_option(Window window, String name, Object value, Error *err)
{
- abort();
+ win_T *win = find_window(window, err);
+
+ if (!win) {
+ return;
+ }
+
+ set_option_to(win, SREQ_WIN, name, value, err);
}
Position window_get_pos(Window window, Error *err)
diff --git a/src/api/window.h b/src/api/window.h
index ee9a6b0834..be8dab66b8 100644
--- a/src/api/window.h
+++ b/src/api/window.h
@@ -80,15 +80,16 @@ Object window_set_var(Window window, String name, Object value, Error *err);
/// @param name The option name
/// @param[out] err Details of an error that may have occurred
/// @return The option value
-String window_get_option(Window window, String name, Error *err);
+Object window_get_option(Window window, String name, Error *err);
-/// Sets a window option value
+/// Sets a window option value. Passing 'nil' as value deletes the option(only
+/// works if there's a global fallback)
///
/// @param window The window handle
/// @param name The option name
/// @param value The option value
/// @param[out] err Details of an error that may have occurred
-void window_set_option(Window window, String name, String value, Error *err);
+void window_set_option(Window window, String name, Object value, Error *err);
/// Gets the window position in display cells. First position is zero.
///