nvim_utils/vim/api/
buffer.rs1use crate::prelude::*;
2
3pub fn nvim_buf_attach(lua: &Lua, buffer: u64, send_buffer: bool, opts: LuaTable) -> LuaResult<()> {
6 vim::api::get(lua)?
7 .get::<_, LuaFunction>("nvim_buf_attach")?
8 .call((buffer, send_buffer, opts))
9}
10
11pub fn nvim_buf_detach(lua: &Lua, buffer: u64) -> LuaResult<()> {
13 vim::api::get(lua)?
14 .get::<_, LuaFunction>("nvim_buf_detach")?
15 .call(buffer)
16}
17
18pub fn nvim_buf_set_lines<S: Into<String>>(
20 lua: &Lua,
21 buffer: u64,
22 start: u64,
23 end: u64,
24 strict_indexing: bool,
25 lines: Vec<S>,
26) -> LuaResult<()> {
27 vim::api::get(lua)?.call_function(
28 "nvim_buf_set_lines",
29 (
30 buffer,
31 start,
32 end,
33 strict_indexing,
34 lines.into_iter().map(|s| s.into()).collect::<Vec<_>>(),
35 ),
36 )
37}
38
39pub fn nvim_buf_get_lines(
41 lua: &Lua,
42 buffer: u64,
43 start: u64,
44 end: u64,
45 strict_indexing: bool,
46) -> LuaResult<Vec<String>> {
47 vim::api::get(lua)?.call_function("nvim_buf_get_lines", (buffer, start, end, strict_indexing))
48}