1use nvim_types::{
2 Array,
3 BufHandle,
4 Dictionary,
5 Error,
6 Integer,
7 LuaRef,
8 NonOwning,
9 Object,
10 String,
11};
12
13use crate::opts::{
14 KeyDict_get_commands,
15 KeyDict_keymap,
16 KeyDict_user_command,
17};
18
19extern "C" {
20 pub(crate) fn nvim_buf_attach(
22 channel_id: u64,
23 buf: BufHandle,
24 send_buffer: bool,
25 opts: NonOwning<Dictionary>,
26 err: *mut Error,
27 ) -> bool;
28
29 pub(crate) fn nvim_buf_call(
31 buf: BufHandle,
32 fun: LuaRef,
33 err: *mut Error,
34 ) -> Object;
35
36 pub(crate) fn nvim_buf_create_user_command(
38 buf: BufHandle,
39 name: NonOwning<String>,
40 command: NonOwning<Object>,
41 opts: *const KeyDict_user_command,
42 err: *mut Error,
43 );
44
45 pub(crate) fn nvim_buf_del_keymap(
47 channel_id: u64,
48 buf: BufHandle,
49 mode: NonOwning<String>,
50 lhs: NonOwning<String>,
51 err: *mut Error,
52 );
53
54 pub(crate) fn nvim_buf_del_mark(
56 buf: BufHandle,
57 name: NonOwning<String>,
58 err: *mut Error,
59 ) -> bool;
60
61 pub(crate) fn nvim_buf_del_user_command(
63 buf: BufHandle,
64 name: NonOwning<String>,
65 err: *mut Error,
66 );
67
68 pub(crate) fn nvim_buf_del_var(
70 buf: BufHandle,
71 name: NonOwning<String>,
72 err: *mut Error,
73 );
74
75 pub(crate) fn nvim_buf_delete(
77 buf: BufHandle,
78 opts: NonOwning<Dictionary>,
79 err: *mut Error,
80 );
81
82 pub(crate) fn nvim_buf_get_changedtick(
84 buf: BufHandle,
85 err: *mut Error,
86 ) -> Integer;
87
88 pub(crate) fn nvim_buf_get_commands(
90 buf: BufHandle,
91 opts: *const KeyDict_get_commands,
92 err: *mut Error,
93 ) -> Dictionary;
94
95 pub(crate) fn nvim_buf_get_keymap(
97 channel_id: u64,
98 buf: BufHandle,
99 mode: NonOwning<String>,
100 err: *mut Error,
101 ) -> Array;
102
103 pub(crate) fn nvim_buf_get_lines(
105 channel_id: u64,
106 buf: BufHandle,
107 start: Integer,
108 end: Integer,
109 strict_indexing: bool,
110 err: *mut Error,
111 ) -> Array;
112
113 pub(crate) fn nvim_buf_get_mark(
115 buf: BufHandle,
116 name: NonOwning<String>,
117 err: *mut Error,
118 ) -> Array;
119
120 pub(crate) fn nvim_buf_get_name(buf: BufHandle, err: *mut Error)
122 -> String;
123
124 pub(crate) fn nvim_buf_get_offset(
126 buf: BufHandle,
127 index: Integer,
128 err: *mut Error,
129 ) -> Integer;
130
131 pub(crate) fn nvim_buf_get_option(
133 buf: BufHandle,
134 name: NonOwning<String>,
135 err: *mut Error,
136 ) -> Object;
137
138 pub(crate) fn nvim_buf_get_text(
140 channel_id: u64,
141 buf: BufHandle,
142 start_row: Integer,
143 start_col: Integer,
144 end_row: Integer,
145 end_col: Integer,
146 opts: NonOwning<Dictionary>,
147 err: *mut Error,
148 ) -> Array;
149
150 pub(crate) fn nvim_buf_get_var(
152 buf: BufHandle,
153 name: NonOwning<String>,
154 err: *mut Error,
155 ) -> Object;
156
157 pub(crate) fn nvim_buf_is_loaded(buf: BufHandle) -> bool;
159
160 pub(crate) fn nvim_buf_is_valid(buf: BufHandle) -> bool;
162
163 pub(crate) fn nvim_buf_line_count(
165 buf: BufHandle,
166 err: *mut Error,
167 ) -> Integer;
168
169 pub(crate) fn nvim_buf_set_keymap(
171 channel_id: u64,
172 buf: BufHandle,
173 mode: NonOwning<String>,
174 lhs: NonOwning<String>,
175 rhs: NonOwning<String>,
176 opts: *const KeyDict_keymap,
177 err: *mut Error,
178 );
179
180 pub(crate) fn nvim_buf_set_lines(
182 channel_id: u64,
183 buf: BufHandle,
184 start: Integer,
185 end: Integer,
186 strict_indexing: bool,
187 replacement: NonOwning<Array>,
188 err: *mut Error,
189 );
190
191 pub(crate) fn nvim_buf_set_mark(
193 buf: BufHandle,
194 name: NonOwning<String>,
195 line: Integer,
196 col: Integer,
197 opts: NonOwning<Dictionary>,
198 err: *mut Error,
199 ) -> bool;
200
201 pub(crate) fn nvim_buf_set_name(
203 buf: BufHandle,
204 name: NonOwning<String>,
205 err: *mut Error,
206 );
207
208 pub(crate) fn nvim_buf_set_option(
210 channel_id: u64,
211 buf: BufHandle,
212 name: NonOwning<String>,
213 value: NonOwning<Object>,
214 err: *mut Error,
215 );
216
217 pub(crate) fn nvim_buf_set_text(
219 channel_id: u64,
220 buf: BufHandle,
221 start_row: Integer,
222 start_col: Integer,
223 end_row: Integer,
224 end_col: Integer,
225 replacement: NonOwning<Array>,
226 err: *mut Error,
227 );
228
229 pub(crate) fn nvim_buf_set_var(
231 buf: BufHandle,
232 name: NonOwning<String>,
233 value: NonOwning<Object>,
234 err: *mut Error,
235 );
236}