diff options
author | Thiago de Arruda <tpadilha84@gmail.com> | 2014-05-11 10:31:31 -0300 |
---|---|---|
committer | Thiago de Arruda <tpadilha84@gmail.com> | 2014-05-13 14:11:32 -0300 |
commit | 6226ac34fde08fa5ad44a77324799a0018dd05fe (patch) | |
tree | afa26e3364e2f6a4d1fc313ece0af459dc5a281c | |
parent | 17053bbc3967d6cd8152f26d909473d4e0629f70 (diff) | |
download | rneovim-6226ac34fde08fa5ad44a77324799a0018dd05fe.tar.gz rneovim-6226ac34fde08fa5ad44a77324799a0018dd05fe.tar.bz2 rneovim-6226ac34fde08fa5ad44a77324799a0018dd05fe.zip |
API: Implement window_{get,set}_option
-rw-r--r-- | src/api/window.c | 21 | ||||
-rw-r--r-- | src/api/window.h | 7 |
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. /// |