neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

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:
Msrc/nvim/api/buffer.c | 38+++++++++++++++++++-------------------
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;