aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/api/buffer.c24
-rw-r--r--src/api/buffer.h14
2 files changed, 20 insertions, 18 deletions
diff --git a/src/api/buffer.c b/src/api/buffer.c
index 9d64429de6..a8a16ecf8f 100644
--- a/src/api/buffer.c
+++ b/src/api/buffer.c
@@ -244,19 +244,27 @@ Object buffer_set_var(Buffer buffer, String name, Object value, Error *err)
return dict_set_value(buf->b_vars, name, value, err);
}
-String buffer_get_option(Buffer buffer, String name, Error *err)
+Object buffer_get_option(Buffer buffer, String name, Error *err)
{
- abort();
-}
+ Object rv;
+ buf_T *buf = find_buffer(buffer, err);
-void buffer_set_option(Buffer buffer, String name, String value, Error *err)
-{
- abort();
+ if (!buf) {
+ return rv;
+ }
+
+ return get_option_from(buf, SREQ_BUF, name, err);
}
-void buffer_del_option(Buffer buffer, String name, Error *err)
+void buffer_set_option(Buffer buffer, String name, Object value, Error *err)
{
- abort();
+ buf_T *buf = find_buffer(buffer, err);
+
+ if (!buf) {
+ return;
+ }
+
+ set_option_to(buf, SREQ_BUF, name, value, err);
}
String buffer_get_name(Buffer buffer, Error *err)
diff --git a/src/api/buffer.h b/src/api/buffer.h
index 6c72a9f099..343aac956d 100644
--- a/src/api/buffer.h
+++ b/src/api/buffer.h
@@ -93,22 +93,16 @@ Object buffer_set_var(Buffer buffer, 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 buffer_get_option(Buffer buffer, String name, Error *err);
+Object buffer_get_option(Buffer buffer, String name, Error *err);
-/// Sets a buffer option value
+/// Sets a buffer option value. Passing 'nil' as value deletes the option(only
+/// works if there's a global fallback)
///
/// @param buffer The buffer handle
/// @param name The option name
/// @param value The option value
/// @param[out] err Details of an error that may have occurred
-void buffer_set_option(Buffer buffer, String name, String value, Error *err);
-
-/// Deletes a buffer option(falls back to the global value if available)
-///
-/// @param buffer The buffer handle
-/// @param name The option name
-/// @param[out] err Details of an error that may have occurred
-void buffer_del_option(Buffer buffer, String name, Error *err);
+void buffer_set_option(Buffer buffer, String name, Object value, Error *err);
/// Gets the full file name for the buffer
///