commit ec93b786c5acfca107dac776ee91e9645c3b01cf
parent 858576777eb3d5227c6450c327ea87e40a59fda1
Author: Justin M. Keyes <justinkz@gmail.com>
Date: Tue, 27 Jan 2026 15:13:32 +0100
refactor(api): api_buf_ensure_loaded
Diffstat:
1 file changed, 19 insertions(+), 19 deletions(-)
diff --git a/src/nvim/api/buffer.c b/src/nvim/api/buffer.c
@@ -48,6 +48,22 @@
#include "api/buffer.c.generated.h"
+/// Ensures that a buffer is loaded.
+static buf_T *api_buf_ensure_loaded(Buffer buffer, Error *err)
+{
+ buf_T *buf = find_buffer_by_handle(buffer, err);
+ if (!buf) {
+ return NULL;
+ }
+
+ if (buf->b_ml.ml_mfp == NULL && !buf_ensure_loaded(buf)) {
+ api_set_error(err, kErrorTypeException, "Failed to load buffer");
+ return NULL;
+ }
+
+ return buf;
+}
+
/// @brief <pre>help
/// For more information on buffers, see |buffers|.
///
@@ -288,22 +304,6 @@ ArrayOf(String) nvim_buf_get_lines(uint64_t channel_id,
return rv;
}
-static buf_T *require_loaded_buffer(Buffer buffer, Error *err)
-{
- buf_T *buf = find_buffer_by_handle(buffer, err);
- if (!buf) {
- return NULL;
- }
-
- // Load buffer if necessary
- if (buf->b_ml.ml_mfp == NULL && !buf_ensure_loaded(buf)) {
- api_set_error(err, kErrorTypeException, "Failed to load buffer");
- return NULL;
- }
-
- return buf;
-}
-
/// Sets (replaces) a line-range in the buffer.
///
/// Indexing is zero-based, end-exclusive. Negative indices are interpreted
@@ -331,7 +331,7 @@ void nvim_buf_set_lines(uint64_t channel_id, Buffer buffer, Integer start, Integ
FUNC_API_SINCE(1)
FUNC_API_TEXTLOCK_ALLOW_CMDWIN
{
- buf_T *buf = require_loaded_buffer(buffer, err);
+ buf_T *buf = api_buf_ensure_loaded(buffer, err);
if (!buf) {
return;
@@ -490,7 +490,7 @@ void nvim_buf_set_text(uint64_t channel_id, Buffer buffer, Integer start_row, In
replacement = scratch;
}
- buf_T *buf = require_loaded_buffer(buffer, err);
+ buf_T *buf = api_buf_ensure_loaded(buffer, err);
if (!buf) {
return;
}
@@ -1116,7 +1116,7 @@ Boolean nvim_buf_set_mark(Buffer buffer, String name, Integer line, Integer col,
FUNC_API_SINCE(8)
{
bool res = false;
- buf_T *buf = require_loaded_buffer(buffer, err);
+ buf_T *buf = api_buf_ensure_loaded(buffer, err);
if (!buf) {
return res;