1 // Auto generated 2019-06-08 16:53:42.502897 from nvim API level:5
2 #include "auto/neovimapi5.h"
3 #include "neovimconnector.h"
4 #include "msgpackrequest.h"
5 #include "msgpackiodevice.h"
6 #include "util.h"
7 
8 namespace NeovimQt {
9 /* Unpack Neovim EXT types Window, Buffer Tabpage which are all
10  * uint64_t see Neovim:msgpack_rpc_to_
11  */
unpackBufferApi5(MsgpackIODevice * dev,const char * in,quint32 size)12 QVariant unpackBufferApi5(MsgpackIODevice *dev, const char* in, quint32 size)
13 {
14 	msgpack_unpacked result;
15 	msgpack_unpacked_init(&result);
16 	msgpack_unpack_return ret = msgpack_unpack_next(&result, in, size, NULL);
17 
18 	QVariant variant;
19 
20 	if (ret == MSGPACK_UNPACK_SUCCESS) {
21 		switch (result.data.type) {
22 			case MSGPACK_OBJECT_NEGATIVE_INTEGER:
23 				variant = (qint64)result.data.via.i64;
24 				break;
25 			case MSGPACK_OBJECT_POSITIVE_INTEGER:
26 				variant = (quint64)result.data.via.u64;
27 				break;
28 			default:
29 				// TODO it would be nice if we could call back MsgpackIoDevice method or primitive types here
30 				qWarning() << "Unsupported type found for EXT type" << result.data.type << result.data;
31 		}
32 	}
33 
34 	msgpack_unpacked_destroy(&result);
35 	return variant;
36 }
37 #define unpackWindowApi5 unpackBufferApi5
38 #define unpackTabpageApi5 unpackBufferApi5
39 
NeovimApi5(NeovimConnector * c)40 NeovimApi5::NeovimApi5(NeovimConnector *c)
41 :m_c(c)
42 {
43 	// EXT types
44 		m_c->m_dev->registerExtType(0, unpackBufferApi5);
45 		m_c->m_dev->registerExtType(1, unpackWindowApi5);
46 		m_c->m_dev->registerExtType(2, unpackTabpageApi5);
47 		connect(m_c->m_dev, &MsgpackIODevice::notification,
48 			this, &NeovimApi5::neovimNotification);
49 }
50 
51 // Slots
nvim_buf_line_count(int64_t buffer)52 MsgpackRequest* NeovimApi5::nvim_buf_line_count(int64_t buffer)
53 {
54 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_buf_line_count", 1);
55 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_BUF_LINE_COUNT);
56 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
57 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
58 	m_c->m_dev->send(buffer);
59 	return r;
60 }
buffer_get_line(int64_t buffer,int64_t index)61 MsgpackRequest* NeovimApi5::buffer_get_line(int64_t buffer, int64_t index)
62 {
63 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("buffer_get_line", 2);
64 	r->setFunction(NeovimApi5::NEOVIM_FN_BUFFER_GET_LINE);
65 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
66 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
67 	m_c->m_dev->send(buffer);
68 	m_c->m_dev->send(index);
69 	return r;
70 }
nvim_buf_attach(int64_t buffer,bool send_buffer,QVariantMap opts)71 MsgpackRequest* NeovimApi5::nvim_buf_attach(int64_t buffer, bool send_buffer, QVariantMap opts)
72 {
73 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_buf_attach", 3);
74 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_BUF_ATTACH);
75 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
76 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
77 	m_c->m_dev->send(buffer);
78 	m_c->m_dev->send(send_buffer);
79 	m_c->m_dev->send(opts);
80 	return r;
81 }
nvim_buf_detach(int64_t buffer)82 MsgpackRequest* NeovimApi5::nvim_buf_detach(int64_t buffer)
83 {
84 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_buf_detach", 1);
85 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_BUF_DETACH);
86 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
87 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
88 	m_c->m_dev->send(buffer);
89 	return r;
90 }
buffer_set_line(int64_t buffer,int64_t index,QByteArray line)91 MsgpackRequest* NeovimApi5::buffer_set_line(int64_t buffer, int64_t index, QByteArray line)
92 {
93 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("buffer_set_line", 3);
94 	r->setFunction(NeovimApi5::NEOVIM_FN_BUFFER_SET_LINE);
95 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
96 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
97 	m_c->m_dev->send(buffer);
98 	m_c->m_dev->send(index);
99 	m_c->m_dev->send(line);
100 	return r;
101 }
buffer_del_line(int64_t buffer,int64_t index)102 MsgpackRequest* NeovimApi5::buffer_del_line(int64_t buffer, int64_t index)
103 {
104 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("buffer_del_line", 2);
105 	r->setFunction(NeovimApi5::NEOVIM_FN_BUFFER_DEL_LINE);
106 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
107 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
108 	m_c->m_dev->send(buffer);
109 	m_c->m_dev->send(index);
110 	return r;
111 }
buffer_get_line_slice(int64_t buffer,int64_t start,int64_t end,bool include_start,bool include_end)112 MsgpackRequest* NeovimApi5::buffer_get_line_slice(int64_t buffer, int64_t start, int64_t end, bool include_start, bool include_end)
113 {
114 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("buffer_get_line_slice", 5);
115 	r->setFunction(NeovimApi5::NEOVIM_FN_BUFFER_GET_LINE_SLICE);
116 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
117 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
118 	m_c->m_dev->send(buffer);
119 	m_c->m_dev->send(start);
120 	m_c->m_dev->send(end);
121 	m_c->m_dev->send(include_start);
122 	m_c->m_dev->send(include_end);
123 	return r;
124 }
nvim_buf_get_lines(int64_t buffer,int64_t start,int64_t end,bool strict_indexing)125 MsgpackRequest* NeovimApi5::nvim_buf_get_lines(int64_t buffer, int64_t start, int64_t end, bool strict_indexing)
126 {
127 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_buf_get_lines", 4);
128 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_BUF_GET_LINES);
129 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
130 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
131 	m_c->m_dev->send(buffer);
132 	m_c->m_dev->send(start);
133 	m_c->m_dev->send(end);
134 	m_c->m_dev->send(strict_indexing);
135 	return r;
136 }
buffer_set_line_slice(int64_t buffer,int64_t start,int64_t end,bool include_start,bool include_end,QList<QByteArray> replacement)137 MsgpackRequest* NeovimApi5::buffer_set_line_slice(int64_t buffer, int64_t start, int64_t end, bool include_start, bool include_end, QList<QByteArray> replacement)
138 {
139 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("buffer_set_line_slice", 6);
140 	r->setFunction(NeovimApi5::NEOVIM_FN_BUFFER_SET_LINE_SLICE);
141 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
142 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
143 	m_c->m_dev->send(buffer);
144 	m_c->m_dev->send(start);
145 	m_c->m_dev->send(end);
146 	m_c->m_dev->send(include_start);
147 	m_c->m_dev->send(include_end);
148 	m_c->m_dev->sendArrayOf(replacement);
149 	return r;
150 }
nvim_buf_set_lines(int64_t buffer,int64_t start,int64_t end,bool strict_indexing,QList<QByteArray> replacement)151 MsgpackRequest* NeovimApi5::nvim_buf_set_lines(int64_t buffer, int64_t start, int64_t end, bool strict_indexing, QList<QByteArray> replacement)
152 {
153 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_buf_set_lines", 5);
154 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_BUF_SET_LINES);
155 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
156 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
157 	m_c->m_dev->send(buffer);
158 	m_c->m_dev->send(start);
159 	m_c->m_dev->send(end);
160 	m_c->m_dev->send(strict_indexing);
161 	m_c->m_dev->sendArrayOf(replacement);
162 	return r;
163 }
nvim_buf_get_offset(int64_t buffer,int64_t index)164 MsgpackRequest* NeovimApi5::nvim_buf_get_offset(int64_t buffer, int64_t index)
165 {
166 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_buf_get_offset", 2);
167 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_BUF_GET_OFFSET);
168 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
169 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
170 	m_c->m_dev->send(buffer);
171 	m_c->m_dev->send(index);
172 	return r;
173 }
nvim_buf_get_var(int64_t buffer,QByteArray name)174 MsgpackRequest* NeovimApi5::nvim_buf_get_var(int64_t buffer, QByteArray name)
175 {
176 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_buf_get_var", 2);
177 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_BUF_GET_VAR);
178 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
179 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
180 	m_c->m_dev->send(buffer);
181 	m_c->m_dev->send(name);
182 	return r;
183 }
nvim_buf_get_changedtick(int64_t buffer)184 MsgpackRequest* NeovimApi5::nvim_buf_get_changedtick(int64_t buffer)
185 {
186 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_buf_get_changedtick", 1);
187 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_BUF_GET_CHANGEDTICK);
188 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
189 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
190 	m_c->m_dev->send(buffer);
191 	return r;
192 }
nvim_buf_get_keymap(int64_t buffer,QByteArray mode)193 MsgpackRequest* NeovimApi5::nvim_buf_get_keymap(int64_t buffer, QByteArray mode)
194 {
195 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_buf_get_keymap", 2);
196 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_BUF_GET_KEYMAP);
197 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
198 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
199 	m_c->m_dev->send(buffer);
200 	m_c->m_dev->send(mode);
201 	return r;
202 }
nvim_buf_get_commands(int64_t buffer,QVariantMap opts)203 MsgpackRequest* NeovimApi5::nvim_buf_get_commands(int64_t buffer, QVariantMap opts)
204 {
205 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_buf_get_commands", 2);
206 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_BUF_GET_COMMANDS);
207 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
208 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
209 	m_c->m_dev->send(buffer);
210 	m_c->m_dev->send(opts);
211 	return r;
212 }
nvim_buf_set_var(int64_t buffer,QByteArray name,QVariant value)213 MsgpackRequest* NeovimApi5::nvim_buf_set_var(int64_t buffer, QByteArray name, QVariant value)
214 {
215 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_buf_set_var", 3);
216 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_BUF_SET_VAR);
217 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
218 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
219 	m_c->m_dev->send(buffer);
220 	m_c->m_dev->send(name);
221 	m_c->m_dev->send(value);
222 	return r;
223 }
nvim_buf_del_var(int64_t buffer,QByteArray name)224 MsgpackRequest* NeovimApi5::nvim_buf_del_var(int64_t buffer, QByteArray name)
225 {
226 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_buf_del_var", 2);
227 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_BUF_DEL_VAR);
228 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
229 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
230 	m_c->m_dev->send(buffer);
231 	m_c->m_dev->send(name);
232 	return r;
233 }
buffer_set_var(int64_t buffer,QByteArray name,QVariant value)234 MsgpackRequest* NeovimApi5::buffer_set_var(int64_t buffer, QByteArray name, QVariant value)
235 {
236 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("buffer_set_var", 3);
237 	r->setFunction(NeovimApi5::NEOVIM_FN_BUFFER_SET_VAR);
238 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
239 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
240 	m_c->m_dev->send(buffer);
241 	m_c->m_dev->send(name);
242 	m_c->m_dev->send(value);
243 	return r;
244 }
buffer_del_var(int64_t buffer,QByteArray name)245 MsgpackRequest* NeovimApi5::buffer_del_var(int64_t buffer, QByteArray name)
246 {
247 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("buffer_del_var", 2);
248 	r->setFunction(NeovimApi5::NEOVIM_FN_BUFFER_DEL_VAR);
249 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
250 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
251 	m_c->m_dev->send(buffer);
252 	m_c->m_dev->send(name);
253 	return r;
254 }
nvim_buf_get_option(int64_t buffer,QByteArray name)255 MsgpackRequest* NeovimApi5::nvim_buf_get_option(int64_t buffer, QByteArray name)
256 {
257 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_buf_get_option", 2);
258 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_BUF_GET_OPTION);
259 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
260 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
261 	m_c->m_dev->send(buffer);
262 	m_c->m_dev->send(name);
263 	return r;
264 }
nvim_buf_set_option(int64_t buffer,QByteArray name,QVariant value)265 MsgpackRequest* NeovimApi5::nvim_buf_set_option(int64_t buffer, QByteArray name, QVariant value)
266 {
267 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_buf_set_option", 3);
268 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_BUF_SET_OPTION);
269 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
270 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
271 	m_c->m_dev->send(buffer);
272 	m_c->m_dev->send(name);
273 	m_c->m_dev->send(value);
274 	return r;
275 }
nvim_buf_get_number(int64_t buffer)276 MsgpackRequest* NeovimApi5::nvim_buf_get_number(int64_t buffer)
277 {
278 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_buf_get_number", 1);
279 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_BUF_GET_NUMBER);
280 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
281 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
282 	m_c->m_dev->send(buffer);
283 	return r;
284 }
nvim_buf_get_name(int64_t buffer)285 MsgpackRequest* NeovimApi5::nvim_buf_get_name(int64_t buffer)
286 {
287 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_buf_get_name", 1);
288 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_BUF_GET_NAME);
289 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
290 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
291 	m_c->m_dev->send(buffer);
292 	return r;
293 }
nvim_buf_set_name(int64_t buffer,QByteArray name)294 MsgpackRequest* NeovimApi5::nvim_buf_set_name(int64_t buffer, QByteArray name)
295 {
296 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_buf_set_name", 2);
297 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_BUF_SET_NAME);
298 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
299 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
300 	m_c->m_dev->send(buffer);
301 	m_c->m_dev->send(name);
302 	return r;
303 }
nvim_buf_is_loaded(int64_t buffer)304 MsgpackRequest* NeovimApi5::nvim_buf_is_loaded(int64_t buffer)
305 {
306 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_buf_is_loaded", 1);
307 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_BUF_IS_LOADED);
308 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
309 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
310 	m_c->m_dev->send(buffer);
311 	return r;
312 }
nvim_buf_is_valid(int64_t buffer)313 MsgpackRequest* NeovimApi5::nvim_buf_is_valid(int64_t buffer)
314 {
315 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_buf_is_valid", 1);
316 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_BUF_IS_VALID);
317 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
318 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
319 	m_c->m_dev->send(buffer);
320 	return r;
321 }
buffer_insert(int64_t buffer,int64_t lnum,QList<QByteArray> lines)322 MsgpackRequest* NeovimApi5::buffer_insert(int64_t buffer, int64_t lnum, QList<QByteArray> lines)
323 {
324 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("buffer_insert", 3);
325 	r->setFunction(NeovimApi5::NEOVIM_FN_BUFFER_INSERT);
326 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
327 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
328 	m_c->m_dev->send(buffer);
329 	m_c->m_dev->send(lnum);
330 	m_c->m_dev->sendArrayOf(lines);
331 	return r;
332 }
nvim_buf_get_mark(int64_t buffer,QByteArray name)333 MsgpackRequest* NeovimApi5::nvim_buf_get_mark(int64_t buffer, QByteArray name)
334 {
335 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_buf_get_mark", 2);
336 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_BUF_GET_MARK);
337 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
338 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
339 	m_c->m_dev->send(buffer);
340 	m_c->m_dev->send(name);
341 	return r;
342 }
nvim_buf_add_highlight(int64_t buffer,int64_t ns_id,QByteArray hl_group,int64_t line,int64_t col_start,int64_t col_end)343 MsgpackRequest* NeovimApi5::nvim_buf_add_highlight(int64_t buffer, int64_t ns_id, QByteArray hl_group, int64_t line, int64_t col_start, int64_t col_end)
344 {
345 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_buf_add_highlight", 6);
346 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_BUF_ADD_HIGHLIGHT);
347 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
348 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
349 	m_c->m_dev->send(buffer);
350 	m_c->m_dev->send(ns_id);
351 	m_c->m_dev->send(hl_group);
352 	m_c->m_dev->send(line);
353 	m_c->m_dev->send(col_start);
354 	m_c->m_dev->send(col_end);
355 	return r;
356 }
nvim_buf_clear_namespace(int64_t buffer,int64_t ns_id,int64_t line_start,int64_t line_end)357 MsgpackRequest* NeovimApi5::nvim_buf_clear_namespace(int64_t buffer, int64_t ns_id, int64_t line_start, int64_t line_end)
358 {
359 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_buf_clear_namespace", 4);
360 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_BUF_CLEAR_NAMESPACE);
361 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
362 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
363 	m_c->m_dev->send(buffer);
364 	m_c->m_dev->send(ns_id);
365 	m_c->m_dev->send(line_start);
366 	m_c->m_dev->send(line_end);
367 	return r;
368 }
nvim_buf_clear_highlight(int64_t buffer,int64_t ns_id,int64_t line_start,int64_t line_end)369 MsgpackRequest* NeovimApi5::nvim_buf_clear_highlight(int64_t buffer, int64_t ns_id, int64_t line_start, int64_t line_end)
370 {
371 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_buf_clear_highlight", 4);
372 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_BUF_CLEAR_HIGHLIGHT);
373 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
374 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
375 	m_c->m_dev->send(buffer);
376 	m_c->m_dev->send(ns_id);
377 	m_c->m_dev->send(line_start);
378 	m_c->m_dev->send(line_end);
379 	return r;
380 }
nvim_buf_set_virtual_text(int64_t buffer,int64_t ns_id,int64_t line,QVariantList chunks,QVariantMap opts)381 MsgpackRequest* NeovimApi5::nvim_buf_set_virtual_text(int64_t buffer, int64_t ns_id, int64_t line, QVariantList chunks, QVariantMap opts)
382 {
383 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_buf_set_virtual_text", 5);
384 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_BUF_SET_VIRTUAL_TEXT);
385 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
386 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
387 	m_c->m_dev->send(buffer);
388 	m_c->m_dev->send(ns_id);
389 	m_c->m_dev->send(line);
390 	m_c->m_dev->send(chunks);
391 	m_c->m_dev->send(opts);
392 	return r;
393 }
nvim_tabpage_list_wins(int64_t tabpage)394 MsgpackRequest* NeovimApi5::nvim_tabpage_list_wins(int64_t tabpage)
395 {
396 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_tabpage_list_wins", 1);
397 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_TABPAGE_LIST_WINS);
398 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
399 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
400 	m_c->m_dev->send(tabpage);
401 	return r;
402 }
nvim_tabpage_get_var(int64_t tabpage,QByteArray name)403 MsgpackRequest* NeovimApi5::nvim_tabpage_get_var(int64_t tabpage, QByteArray name)
404 {
405 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_tabpage_get_var", 2);
406 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_TABPAGE_GET_VAR);
407 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
408 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
409 	m_c->m_dev->send(tabpage);
410 	m_c->m_dev->send(name);
411 	return r;
412 }
nvim_tabpage_set_var(int64_t tabpage,QByteArray name,QVariant value)413 MsgpackRequest* NeovimApi5::nvim_tabpage_set_var(int64_t tabpage, QByteArray name, QVariant value)
414 {
415 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_tabpage_set_var", 3);
416 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_TABPAGE_SET_VAR);
417 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
418 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
419 	m_c->m_dev->send(tabpage);
420 	m_c->m_dev->send(name);
421 	m_c->m_dev->send(value);
422 	return r;
423 }
nvim_tabpage_del_var(int64_t tabpage,QByteArray name)424 MsgpackRequest* NeovimApi5::nvim_tabpage_del_var(int64_t tabpage, QByteArray name)
425 {
426 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_tabpage_del_var", 2);
427 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_TABPAGE_DEL_VAR);
428 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
429 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
430 	m_c->m_dev->send(tabpage);
431 	m_c->m_dev->send(name);
432 	return r;
433 }
tabpage_set_var(int64_t tabpage,QByteArray name,QVariant value)434 MsgpackRequest* NeovimApi5::tabpage_set_var(int64_t tabpage, QByteArray name, QVariant value)
435 {
436 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("tabpage_set_var", 3);
437 	r->setFunction(NeovimApi5::NEOVIM_FN_TABPAGE_SET_VAR);
438 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
439 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
440 	m_c->m_dev->send(tabpage);
441 	m_c->m_dev->send(name);
442 	m_c->m_dev->send(value);
443 	return r;
444 }
tabpage_del_var(int64_t tabpage,QByteArray name)445 MsgpackRequest* NeovimApi5::tabpage_del_var(int64_t tabpage, QByteArray name)
446 {
447 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("tabpage_del_var", 2);
448 	r->setFunction(NeovimApi5::NEOVIM_FN_TABPAGE_DEL_VAR);
449 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
450 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
451 	m_c->m_dev->send(tabpage);
452 	m_c->m_dev->send(name);
453 	return r;
454 }
nvim_tabpage_get_win(int64_t tabpage)455 MsgpackRequest* NeovimApi5::nvim_tabpage_get_win(int64_t tabpage)
456 {
457 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_tabpage_get_win", 1);
458 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_TABPAGE_GET_WIN);
459 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
460 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
461 	m_c->m_dev->send(tabpage);
462 	return r;
463 }
nvim_tabpage_get_number(int64_t tabpage)464 MsgpackRequest* NeovimApi5::nvim_tabpage_get_number(int64_t tabpage)
465 {
466 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_tabpage_get_number", 1);
467 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_TABPAGE_GET_NUMBER);
468 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
469 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
470 	m_c->m_dev->send(tabpage);
471 	return r;
472 }
nvim_tabpage_is_valid(int64_t tabpage)473 MsgpackRequest* NeovimApi5::nvim_tabpage_is_valid(int64_t tabpage)
474 {
475 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_tabpage_is_valid", 1);
476 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_TABPAGE_IS_VALID);
477 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
478 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
479 	m_c->m_dev->send(tabpage);
480 	return r;
481 }
nvim_ui_attach(int64_t width,int64_t height,QVariantMap options)482 MsgpackRequest* NeovimApi5::nvim_ui_attach(int64_t width, int64_t height, QVariantMap options)
483 {
484 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_ui_attach", 3);
485 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_UI_ATTACH);
486 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
487 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
488 	m_c->m_dev->send(width);
489 	m_c->m_dev->send(height);
490 	m_c->m_dev->send(options);
491 	return r;
492 }
ui_attach(int64_t width,int64_t height,bool enable_rgb)493 MsgpackRequest* NeovimApi5::ui_attach(int64_t width, int64_t height, bool enable_rgb)
494 {
495 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("ui_attach", 3);
496 	r->setFunction(NeovimApi5::NEOVIM_FN_UI_ATTACH);
497 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
498 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
499 	m_c->m_dev->send(width);
500 	m_c->m_dev->send(height);
501 	m_c->m_dev->send(enable_rgb);
502 	return r;
503 }
nvim_ui_detach()504 MsgpackRequest* NeovimApi5::nvim_ui_detach()
505 {
506 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_ui_detach", 0);
507 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_UI_DETACH);
508 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
509 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
510 	return r;
511 }
nvim_ui_try_resize(int64_t width,int64_t height)512 MsgpackRequest* NeovimApi5::nvim_ui_try_resize(int64_t width, int64_t height)
513 {
514 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_ui_try_resize", 2);
515 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_UI_TRY_RESIZE);
516 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
517 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
518 	m_c->m_dev->send(width);
519 	m_c->m_dev->send(height);
520 	return r;
521 }
nvim_ui_set_option(QByteArray name,QVariant value)522 MsgpackRequest* NeovimApi5::nvim_ui_set_option(QByteArray name, QVariant value)
523 {
524 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_ui_set_option", 2);
525 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_UI_SET_OPTION);
526 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
527 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
528 	m_c->m_dev->send(name);
529 	m_c->m_dev->send(value);
530 	return r;
531 }
nvim_command(QByteArray command)532 MsgpackRequest* NeovimApi5::nvim_command(QByteArray command)
533 {
534 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_command", 1);
535 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_COMMAND);
536 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
537 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
538 	m_c->m_dev->send(command);
539 	return r;
540 }
nvim_get_hl_by_name(QByteArray name,bool rgb)541 MsgpackRequest* NeovimApi5::nvim_get_hl_by_name(QByteArray name, bool rgb)
542 {
543 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_get_hl_by_name", 2);
544 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_GET_HL_BY_NAME);
545 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
546 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
547 	m_c->m_dev->send(name);
548 	m_c->m_dev->send(rgb);
549 	return r;
550 }
nvim_get_hl_by_id(int64_t hl_id,bool rgb)551 MsgpackRequest* NeovimApi5::nvim_get_hl_by_id(int64_t hl_id, bool rgb)
552 {
553 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_get_hl_by_id", 2);
554 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_GET_HL_BY_ID);
555 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
556 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
557 	m_c->m_dev->send(hl_id);
558 	m_c->m_dev->send(rgb);
559 	return r;
560 }
nvim_feedkeys(QByteArray keys,QByteArray mode,bool escape_csi)561 MsgpackRequest* NeovimApi5::nvim_feedkeys(QByteArray keys, QByteArray mode, bool escape_csi)
562 {
563 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_feedkeys", 3);
564 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_FEEDKEYS);
565 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
566 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
567 	m_c->m_dev->send(keys);
568 	m_c->m_dev->send(mode);
569 	m_c->m_dev->send(escape_csi);
570 	return r;
571 }
nvim_input(QByteArray keys)572 MsgpackRequest* NeovimApi5::nvim_input(QByteArray keys)
573 {
574 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_input", 1);
575 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_INPUT);
576 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
577 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
578 	m_c->m_dev->send(keys);
579 	return r;
580 }
nvim_replace_termcodes(QByteArray str,bool from_part,bool do_lt,bool special)581 MsgpackRequest* NeovimApi5::nvim_replace_termcodes(QByteArray str, bool from_part, bool do_lt, bool special)
582 {
583 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_replace_termcodes", 4);
584 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_REPLACE_TERMCODES);
585 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
586 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
587 	m_c->m_dev->send(str);
588 	m_c->m_dev->send(from_part);
589 	m_c->m_dev->send(do_lt);
590 	m_c->m_dev->send(special);
591 	return r;
592 }
nvim_command_output(QByteArray command)593 MsgpackRequest* NeovimApi5::nvim_command_output(QByteArray command)
594 {
595 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_command_output", 1);
596 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_COMMAND_OUTPUT);
597 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
598 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
599 	m_c->m_dev->send(command);
600 	return r;
601 }
nvim_eval(QByteArray expr)602 MsgpackRequest* NeovimApi5::nvim_eval(QByteArray expr)
603 {
604 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_eval", 1);
605 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_EVAL);
606 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
607 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
608 	m_c->m_dev->send(expr);
609 	return r;
610 }
nvim_execute_lua(QByteArray code,QVariantList args)611 MsgpackRequest* NeovimApi5::nvim_execute_lua(QByteArray code, QVariantList args)
612 {
613 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_execute_lua", 2);
614 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_EXECUTE_LUA);
615 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
616 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
617 	m_c->m_dev->send(code);
618 	m_c->m_dev->send(args);
619 	return r;
620 }
nvim_call_function(QByteArray fn,QVariantList args)621 MsgpackRequest* NeovimApi5::nvim_call_function(QByteArray fn, QVariantList args)
622 {
623 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_call_function", 2);
624 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_CALL_FUNCTION);
625 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
626 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
627 	m_c->m_dev->send(fn);
628 	m_c->m_dev->send(args);
629 	return r;
630 }
nvim_call_dict_function(QVariant dict,QByteArray fn,QVariantList args)631 MsgpackRequest* NeovimApi5::nvim_call_dict_function(QVariant dict, QByteArray fn, QVariantList args)
632 {
633 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_call_dict_function", 3);
634 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_CALL_DICT_FUNCTION);
635 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
636 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
637 	m_c->m_dev->send(dict);
638 	m_c->m_dev->send(fn);
639 	m_c->m_dev->send(args);
640 	return r;
641 }
nvim_strwidth(QByteArray text)642 MsgpackRequest* NeovimApi5::nvim_strwidth(QByteArray text)
643 {
644 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_strwidth", 1);
645 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_STRWIDTH);
646 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
647 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
648 	m_c->m_dev->send(text);
649 	return r;
650 }
nvim_list_runtime_paths()651 MsgpackRequest* NeovimApi5::nvim_list_runtime_paths()
652 {
653 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_list_runtime_paths", 0);
654 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_LIST_RUNTIME_PATHS);
655 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
656 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
657 	return r;
658 }
nvim_set_current_dir(QByteArray dir)659 MsgpackRequest* NeovimApi5::nvim_set_current_dir(QByteArray dir)
660 {
661 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_set_current_dir", 1);
662 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_SET_CURRENT_DIR);
663 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
664 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
665 	m_c->m_dev->send(dir);
666 	return r;
667 }
nvim_get_current_line()668 MsgpackRequest* NeovimApi5::nvim_get_current_line()
669 {
670 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_get_current_line", 0);
671 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_GET_CURRENT_LINE);
672 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
673 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
674 	return r;
675 }
nvim_set_current_line(QByteArray line)676 MsgpackRequest* NeovimApi5::nvim_set_current_line(QByteArray line)
677 {
678 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_set_current_line", 1);
679 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_SET_CURRENT_LINE);
680 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
681 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
682 	m_c->m_dev->send(line);
683 	return r;
684 }
nvim_del_current_line()685 MsgpackRequest* NeovimApi5::nvim_del_current_line()
686 {
687 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_del_current_line", 0);
688 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_DEL_CURRENT_LINE);
689 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
690 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
691 	return r;
692 }
nvim_get_var(QByteArray name)693 MsgpackRequest* NeovimApi5::nvim_get_var(QByteArray name)
694 {
695 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_get_var", 1);
696 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_GET_VAR);
697 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
698 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
699 	m_c->m_dev->send(name);
700 	return r;
701 }
nvim_set_var(QByteArray name,QVariant value)702 MsgpackRequest* NeovimApi5::nvim_set_var(QByteArray name, QVariant value)
703 {
704 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_set_var", 2);
705 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_SET_VAR);
706 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
707 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
708 	m_c->m_dev->send(name);
709 	m_c->m_dev->send(value);
710 	return r;
711 }
nvim_del_var(QByteArray name)712 MsgpackRequest* NeovimApi5::nvim_del_var(QByteArray name)
713 {
714 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_del_var", 1);
715 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_DEL_VAR);
716 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
717 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
718 	m_c->m_dev->send(name);
719 	return r;
720 }
vim_set_var(QByteArray name,QVariant value)721 MsgpackRequest* NeovimApi5::vim_set_var(QByteArray name, QVariant value)
722 {
723 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("vim_set_var", 2);
724 	r->setFunction(NeovimApi5::NEOVIM_FN_VIM_SET_VAR);
725 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
726 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
727 	m_c->m_dev->send(name);
728 	m_c->m_dev->send(value);
729 	return r;
730 }
vim_del_var(QByteArray name)731 MsgpackRequest* NeovimApi5::vim_del_var(QByteArray name)
732 {
733 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("vim_del_var", 1);
734 	r->setFunction(NeovimApi5::NEOVIM_FN_VIM_DEL_VAR);
735 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
736 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
737 	m_c->m_dev->send(name);
738 	return r;
739 }
nvim_get_vvar(QByteArray name)740 MsgpackRequest* NeovimApi5::nvim_get_vvar(QByteArray name)
741 {
742 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_get_vvar", 1);
743 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_GET_VVAR);
744 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
745 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
746 	m_c->m_dev->send(name);
747 	return r;
748 }
nvim_get_option(QByteArray name)749 MsgpackRequest* NeovimApi5::nvim_get_option(QByteArray name)
750 {
751 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_get_option", 1);
752 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_GET_OPTION);
753 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
754 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
755 	m_c->m_dev->send(name);
756 	return r;
757 }
nvim_set_option(QByteArray name,QVariant value)758 MsgpackRequest* NeovimApi5::nvim_set_option(QByteArray name, QVariant value)
759 {
760 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_set_option", 2);
761 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_SET_OPTION);
762 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
763 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
764 	m_c->m_dev->send(name);
765 	m_c->m_dev->send(value);
766 	return r;
767 }
nvim_out_write(QByteArray str)768 MsgpackRequest* NeovimApi5::nvim_out_write(QByteArray str)
769 {
770 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_out_write", 1);
771 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_OUT_WRITE);
772 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
773 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
774 	m_c->m_dev->send(str);
775 	return r;
776 }
nvim_err_write(QByteArray str)777 MsgpackRequest* NeovimApi5::nvim_err_write(QByteArray str)
778 {
779 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_err_write", 1);
780 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_ERR_WRITE);
781 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
782 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
783 	m_c->m_dev->send(str);
784 	return r;
785 }
nvim_err_writeln(QByteArray str)786 MsgpackRequest* NeovimApi5::nvim_err_writeln(QByteArray str)
787 {
788 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_err_writeln", 1);
789 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_ERR_WRITELN);
790 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
791 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
792 	m_c->m_dev->send(str);
793 	return r;
794 }
nvim_list_bufs()795 MsgpackRequest* NeovimApi5::nvim_list_bufs()
796 {
797 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_list_bufs", 0);
798 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_LIST_BUFS);
799 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
800 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
801 	return r;
802 }
nvim_get_current_buf()803 MsgpackRequest* NeovimApi5::nvim_get_current_buf()
804 {
805 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_get_current_buf", 0);
806 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_GET_CURRENT_BUF);
807 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
808 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
809 	return r;
810 }
nvim_set_current_buf(int64_t buffer)811 MsgpackRequest* NeovimApi5::nvim_set_current_buf(int64_t buffer)
812 {
813 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_set_current_buf", 1);
814 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_SET_CURRENT_BUF);
815 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
816 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
817 	m_c->m_dev->send(buffer);
818 	return r;
819 }
nvim_list_wins()820 MsgpackRequest* NeovimApi5::nvim_list_wins()
821 {
822 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_list_wins", 0);
823 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_LIST_WINS);
824 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
825 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
826 	return r;
827 }
nvim_get_current_win()828 MsgpackRequest* NeovimApi5::nvim_get_current_win()
829 {
830 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_get_current_win", 0);
831 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_GET_CURRENT_WIN);
832 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
833 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
834 	return r;
835 }
nvim_set_current_win(int64_t window)836 MsgpackRequest* NeovimApi5::nvim_set_current_win(int64_t window)
837 {
838 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_set_current_win", 1);
839 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_SET_CURRENT_WIN);
840 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
841 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
842 	m_c->m_dev->send(window);
843 	return r;
844 }
nvim_list_tabpages()845 MsgpackRequest* NeovimApi5::nvim_list_tabpages()
846 {
847 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_list_tabpages", 0);
848 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_LIST_TABPAGES);
849 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
850 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
851 	return r;
852 }
nvim_get_current_tabpage()853 MsgpackRequest* NeovimApi5::nvim_get_current_tabpage()
854 {
855 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_get_current_tabpage", 0);
856 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_GET_CURRENT_TABPAGE);
857 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
858 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
859 	return r;
860 }
nvim_set_current_tabpage(int64_t tabpage)861 MsgpackRequest* NeovimApi5::nvim_set_current_tabpage(int64_t tabpage)
862 {
863 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_set_current_tabpage", 1);
864 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_SET_CURRENT_TABPAGE);
865 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
866 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
867 	m_c->m_dev->send(tabpage);
868 	return r;
869 }
nvim_create_namespace(QByteArray name)870 MsgpackRequest* NeovimApi5::nvim_create_namespace(QByteArray name)
871 {
872 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_create_namespace", 1);
873 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_CREATE_NAMESPACE);
874 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
875 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
876 	m_c->m_dev->send(name);
877 	return r;
878 }
nvim_get_namespaces()879 MsgpackRequest* NeovimApi5::nvim_get_namespaces()
880 {
881 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_get_namespaces", 0);
882 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_GET_NAMESPACES);
883 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
884 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
885 	return r;
886 }
nvim_subscribe(QByteArray event)887 MsgpackRequest* NeovimApi5::nvim_subscribe(QByteArray event)
888 {
889 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_subscribe", 1);
890 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_SUBSCRIBE);
891 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
892 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
893 	m_c->m_dev->send(event);
894 	return r;
895 }
nvim_unsubscribe(QByteArray event)896 MsgpackRequest* NeovimApi5::nvim_unsubscribe(QByteArray event)
897 {
898 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_unsubscribe", 1);
899 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_UNSUBSCRIBE);
900 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
901 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
902 	m_c->m_dev->send(event);
903 	return r;
904 }
nvim_get_color_by_name(QByteArray name)905 MsgpackRequest* NeovimApi5::nvim_get_color_by_name(QByteArray name)
906 {
907 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_get_color_by_name", 1);
908 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_GET_COLOR_BY_NAME);
909 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
910 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
911 	m_c->m_dev->send(name);
912 	return r;
913 }
nvim_get_color_map()914 MsgpackRequest* NeovimApi5::nvim_get_color_map()
915 {
916 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_get_color_map", 0);
917 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_GET_COLOR_MAP);
918 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
919 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
920 	return r;
921 }
nvim_get_mode()922 MsgpackRequest* NeovimApi5::nvim_get_mode()
923 {
924 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_get_mode", 0);
925 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_GET_MODE);
926 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
927 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
928 	return r;
929 }
nvim_get_keymap(QByteArray mode)930 MsgpackRequest* NeovimApi5::nvim_get_keymap(QByteArray mode)
931 {
932 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_get_keymap", 1);
933 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_GET_KEYMAP);
934 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
935 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
936 	m_c->m_dev->send(mode);
937 	return r;
938 }
nvim_get_commands(QVariantMap opts)939 MsgpackRequest* NeovimApi5::nvim_get_commands(QVariantMap opts)
940 {
941 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_get_commands", 1);
942 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_GET_COMMANDS);
943 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
944 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
945 	m_c->m_dev->send(opts);
946 	return r;
947 }
nvim_get_api_info()948 MsgpackRequest* NeovimApi5::nvim_get_api_info()
949 {
950 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_get_api_info", 0);
951 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_GET_API_INFO);
952 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
953 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
954 	return r;
955 }
nvim_set_client_info(QByteArray name,QVariantMap version,QByteArray type,QVariantMap methods,QVariantMap attributes)956 MsgpackRequest* NeovimApi5::nvim_set_client_info(QByteArray name, QVariantMap version, QByteArray type, QVariantMap methods, QVariantMap attributes)
957 {
958 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_set_client_info", 5);
959 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_SET_CLIENT_INFO);
960 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
961 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
962 	m_c->m_dev->send(name);
963 	m_c->m_dev->send(version);
964 	m_c->m_dev->send(type);
965 	m_c->m_dev->send(methods);
966 	m_c->m_dev->send(attributes);
967 	return r;
968 }
nvim_get_chan_info(int64_t chan)969 MsgpackRequest* NeovimApi5::nvim_get_chan_info(int64_t chan)
970 {
971 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_get_chan_info", 1);
972 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_GET_CHAN_INFO);
973 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
974 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
975 	m_c->m_dev->send(chan);
976 	return r;
977 }
nvim_list_chans()978 MsgpackRequest* NeovimApi5::nvim_list_chans()
979 {
980 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_list_chans", 0);
981 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_LIST_CHANS);
982 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
983 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
984 	return r;
985 }
nvim_call_atomic(QVariantList calls)986 MsgpackRequest* NeovimApi5::nvim_call_atomic(QVariantList calls)
987 {
988 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_call_atomic", 1);
989 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_CALL_ATOMIC);
990 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
991 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
992 	m_c->m_dev->send(calls);
993 	return r;
994 }
nvim_parse_expression(QByteArray expr,QByteArray flags,bool highlight)995 MsgpackRequest* NeovimApi5::nvim_parse_expression(QByteArray expr, QByteArray flags, bool highlight)
996 {
997 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_parse_expression", 3);
998 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_PARSE_EXPRESSION);
999 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
1000 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
1001 	m_c->m_dev->send(expr);
1002 	m_c->m_dev->send(flags);
1003 	m_c->m_dev->send(highlight);
1004 	return r;
1005 }
nvim_list_uis()1006 MsgpackRequest* NeovimApi5::nvim_list_uis()
1007 {
1008 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_list_uis", 0);
1009 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_LIST_UIS);
1010 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
1011 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
1012 	return r;
1013 }
nvim_get_proc_children(int64_t pid)1014 MsgpackRequest* NeovimApi5::nvim_get_proc_children(int64_t pid)
1015 {
1016 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_get_proc_children", 1);
1017 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_GET_PROC_CHILDREN);
1018 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
1019 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
1020 	m_c->m_dev->send(pid);
1021 	return r;
1022 }
nvim_get_proc(int64_t pid)1023 MsgpackRequest* NeovimApi5::nvim_get_proc(int64_t pid)
1024 {
1025 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_get_proc", 1);
1026 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_GET_PROC);
1027 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
1028 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
1029 	m_c->m_dev->send(pid);
1030 	return r;
1031 }
nvim_win_get_buf(int64_t window)1032 MsgpackRequest* NeovimApi5::nvim_win_get_buf(int64_t window)
1033 {
1034 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_win_get_buf", 1);
1035 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_WIN_GET_BUF);
1036 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
1037 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
1038 	m_c->m_dev->send(window);
1039 	return r;
1040 }
nvim_win_set_buf(int64_t window,int64_t buffer)1041 MsgpackRequest* NeovimApi5::nvim_win_set_buf(int64_t window, int64_t buffer)
1042 {
1043 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_win_set_buf", 2);
1044 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_WIN_SET_BUF);
1045 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
1046 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
1047 	m_c->m_dev->send(window);
1048 	m_c->m_dev->send(buffer);
1049 	return r;
1050 }
nvim_win_get_cursor(int64_t window)1051 MsgpackRequest* NeovimApi5::nvim_win_get_cursor(int64_t window)
1052 {
1053 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_win_get_cursor", 1);
1054 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_WIN_GET_CURSOR);
1055 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
1056 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
1057 	m_c->m_dev->send(window);
1058 	return r;
1059 }
nvim_win_set_cursor(int64_t window,QPoint pos)1060 MsgpackRequest* NeovimApi5::nvim_win_set_cursor(int64_t window, QPoint pos)
1061 {
1062 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_win_set_cursor", 2);
1063 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_WIN_SET_CURSOR);
1064 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
1065 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
1066 	m_c->m_dev->send(window);
1067 	m_c->m_dev->send(pos);
1068 	return r;
1069 }
nvim_win_get_height(int64_t window)1070 MsgpackRequest* NeovimApi5::nvim_win_get_height(int64_t window)
1071 {
1072 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_win_get_height", 1);
1073 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_WIN_GET_HEIGHT);
1074 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
1075 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
1076 	m_c->m_dev->send(window);
1077 	return r;
1078 }
nvim_win_set_height(int64_t window,int64_t height)1079 MsgpackRequest* NeovimApi5::nvim_win_set_height(int64_t window, int64_t height)
1080 {
1081 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_win_set_height", 2);
1082 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_WIN_SET_HEIGHT);
1083 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
1084 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
1085 	m_c->m_dev->send(window);
1086 	m_c->m_dev->send(height);
1087 	return r;
1088 }
nvim_win_get_width(int64_t window)1089 MsgpackRequest* NeovimApi5::nvim_win_get_width(int64_t window)
1090 {
1091 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_win_get_width", 1);
1092 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_WIN_GET_WIDTH);
1093 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
1094 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
1095 	m_c->m_dev->send(window);
1096 	return r;
1097 }
nvim_win_set_width(int64_t window,int64_t width)1098 MsgpackRequest* NeovimApi5::nvim_win_set_width(int64_t window, int64_t width)
1099 {
1100 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_win_set_width", 2);
1101 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_WIN_SET_WIDTH);
1102 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
1103 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
1104 	m_c->m_dev->send(window);
1105 	m_c->m_dev->send(width);
1106 	return r;
1107 }
nvim_win_get_var(int64_t window,QByteArray name)1108 MsgpackRequest* NeovimApi5::nvim_win_get_var(int64_t window, QByteArray name)
1109 {
1110 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_win_get_var", 2);
1111 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_WIN_GET_VAR);
1112 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
1113 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
1114 	m_c->m_dev->send(window);
1115 	m_c->m_dev->send(name);
1116 	return r;
1117 }
nvim_win_set_var(int64_t window,QByteArray name,QVariant value)1118 MsgpackRequest* NeovimApi5::nvim_win_set_var(int64_t window, QByteArray name, QVariant value)
1119 {
1120 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_win_set_var", 3);
1121 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_WIN_SET_VAR);
1122 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
1123 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
1124 	m_c->m_dev->send(window);
1125 	m_c->m_dev->send(name);
1126 	m_c->m_dev->send(value);
1127 	return r;
1128 }
nvim_win_del_var(int64_t window,QByteArray name)1129 MsgpackRequest* NeovimApi5::nvim_win_del_var(int64_t window, QByteArray name)
1130 {
1131 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_win_del_var", 2);
1132 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_WIN_DEL_VAR);
1133 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
1134 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
1135 	m_c->m_dev->send(window);
1136 	m_c->m_dev->send(name);
1137 	return r;
1138 }
window_set_var(int64_t window,QByteArray name,QVariant value)1139 MsgpackRequest* NeovimApi5::window_set_var(int64_t window, QByteArray name, QVariant value)
1140 {
1141 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("window_set_var", 3);
1142 	r->setFunction(NeovimApi5::NEOVIM_FN_WINDOW_SET_VAR);
1143 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
1144 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
1145 	m_c->m_dev->send(window);
1146 	m_c->m_dev->send(name);
1147 	m_c->m_dev->send(value);
1148 	return r;
1149 }
window_del_var(int64_t window,QByteArray name)1150 MsgpackRequest* NeovimApi5::window_del_var(int64_t window, QByteArray name)
1151 {
1152 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("window_del_var", 2);
1153 	r->setFunction(NeovimApi5::NEOVIM_FN_WINDOW_DEL_VAR);
1154 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
1155 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
1156 	m_c->m_dev->send(window);
1157 	m_c->m_dev->send(name);
1158 	return r;
1159 }
nvim_win_get_option(int64_t window,QByteArray name)1160 MsgpackRequest* NeovimApi5::nvim_win_get_option(int64_t window, QByteArray name)
1161 {
1162 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_win_get_option", 2);
1163 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_WIN_GET_OPTION);
1164 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
1165 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
1166 	m_c->m_dev->send(window);
1167 	m_c->m_dev->send(name);
1168 	return r;
1169 }
nvim_win_set_option(int64_t window,QByteArray name,QVariant value)1170 MsgpackRequest* NeovimApi5::nvim_win_set_option(int64_t window, QByteArray name, QVariant value)
1171 {
1172 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_win_set_option", 3);
1173 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_WIN_SET_OPTION);
1174 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
1175 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
1176 	m_c->m_dev->send(window);
1177 	m_c->m_dev->send(name);
1178 	m_c->m_dev->send(value);
1179 	return r;
1180 }
nvim_win_get_position(int64_t window)1181 MsgpackRequest* NeovimApi5::nvim_win_get_position(int64_t window)
1182 {
1183 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_win_get_position", 1);
1184 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_WIN_GET_POSITION);
1185 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
1186 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
1187 	m_c->m_dev->send(window);
1188 	return r;
1189 }
nvim_win_get_tabpage(int64_t window)1190 MsgpackRequest* NeovimApi5::nvim_win_get_tabpage(int64_t window)
1191 {
1192 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_win_get_tabpage", 1);
1193 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_WIN_GET_TABPAGE);
1194 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
1195 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
1196 	m_c->m_dev->send(window);
1197 	return r;
1198 }
nvim_win_get_number(int64_t window)1199 MsgpackRequest* NeovimApi5::nvim_win_get_number(int64_t window)
1200 {
1201 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_win_get_number", 1);
1202 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_WIN_GET_NUMBER);
1203 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
1204 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
1205 	m_c->m_dev->send(window);
1206 	return r;
1207 }
nvim_win_is_valid(int64_t window)1208 MsgpackRequest* NeovimApi5::nvim_win_is_valid(int64_t window)
1209 {
1210 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("nvim_win_is_valid", 1);
1211 	r->setFunction(NeovimApi5::NEOVIM_FN_NVIM_WIN_IS_VALID);
1212 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
1213 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
1214 	m_c->m_dev->send(window);
1215 	return r;
1216 }
buffer_line_count(int64_t buffer)1217 MsgpackRequest* NeovimApi5::buffer_line_count(int64_t buffer)
1218 {
1219 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("buffer_line_count", 1);
1220 	r->setFunction(NeovimApi5::NEOVIM_FN_BUFFER_LINE_COUNT);
1221 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
1222 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
1223 	m_c->m_dev->send(buffer);
1224 	return r;
1225 }
buffer_get_lines(int64_t buffer,int64_t start,int64_t end,bool strict_indexing)1226 MsgpackRequest* NeovimApi5::buffer_get_lines(int64_t buffer, int64_t start, int64_t end, bool strict_indexing)
1227 {
1228 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("buffer_get_lines", 4);
1229 	r->setFunction(NeovimApi5::NEOVIM_FN_BUFFER_GET_LINES);
1230 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
1231 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
1232 	m_c->m_dev->send(buffer);
1233 	m_c->m_dev->send(start);
1234 	m_c->m_dev->send(end);
1235 	m_c->m_dev->send(strict_indexing);
1236 	return r;
1237 }
buffer_set_lines(int64_t buffer,int64_t start,int64_t end,bool strict_indexing,QList<QByteArray> replacement)1238 MsgpackRequest* NeovimApi5::buffer_set_lines(int64_t buffer, int64_t start, int64_t end, bool strict_indexing, QList<QByteArray> replacement)
1239 {
1240 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("buffer_set_lines", 5);
1241 	r->setFunction(NeovimApi5::NEOVIM_FN_BUFFER_SET_LINES);
1242 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
1243 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
1244 	m_c->m_dev->send(buffer);
1245 	m_c->m_dev->send(start);
1246 	m_c->m_dev->send(end);
1247 	m_c->m_dev->send(strict_indexing);
1248 	m_c->m_dev->sendArrayOf(replacement);
1249 	return r;
1250 }
buffer_get_var(int64_t buffer,QByteArray name)1251 MsgpackRequest* NeovimApi5::buffer_get_var(int64_t buffer, QByteArray name)
1252 {
1253 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("buffer_get_var", 2);
1254 	r->setFunction(NeovimApi5::NEOVIM_FN_BUFFER_GET_VAR);
1255 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
1256 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
1257 	m_c->m_dev->send(buffer);
1258 	m_c->m_dev->send(name);
1259 	return r;
1260 }
buffer_get_option(int64_t buffer,QByteArray name)1261 MsgpackRequest* NeovimApi5::buffer_get_option(int64_t buffer, QByteArray name)
1262 {
1263 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("buffer_get_option", 2);
1264 	r->setFunction(NeovimApi5::NEOVIM_FN_BUFFER_GET_OPTION);
1265 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
1266 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
1267 	m_c->m_dev->send(buffer);
1268 	m_c->m_dev->send(name);
1269 	return r;
1270 }
buffer_set_option(int64_t buffer,QByteArray name,QVariant value)1271 MsgpackRequest* NeovimApi5::buffer_set_option(int64_t buffer, QByteArray name, QVariant value)
1272 {
1273 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("buffer_set_option", 3);
1274 	r->setFunction(NeovimApi5::NEOVIM_FN_BUFFER_SET_OPTION);
1275 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
1276 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
1277 	m_c->m_dev->send(buffer);
1278 	m_c->m_dev->send(name);
1279 	m_c->m_dev->send(value);
1280 	return r;
1281 }
buffer_get_number(int64_t buffer)1282 MsgpackRequest* NeovimApi5::buffer_get_number(int64_t buffer)
1283 {
1284 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("buffer_get_number", 1);
1285 	r->setFunction(NeovimApi5::NEOVIM_FN_BUFFER_GET_NUMBER);
1286 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
1287 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
1288 	m_c->m_dev->send(buffer);
1289 	return r;
1290 }
buffer_get_name(int64_t buffer)1291 MsgpackRequest* NeovimApi5::buffer_get_name(int64_t buffer)
1292 {
1293 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("buffer_get_name", 1);
1294 	r->setFunction(NeovimApi5::NEOVIM_FN_BUFFER_GET_NAME);
1295 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
1296 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
1297 	m_c->m_dev->send(buffer);
1298 	return r;
1299 }
buffer_set_name(int64_t buffer,QByteArray name)1300 MsgpackRequest* NeovimApi5::buffer_set_name(int64_t buffer, QByteArray name)
1301 {
1302 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("buffer_set_name", 2);
1303 	r->setFunction(NeovimApi5::NEOVIM_FN_BUFFER_SET_NAME);
1304 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
1305 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
1306 	m_c->m_dev->send(buffer);
1307 	m_c->m_dev->send(name);
1308 	return r;
1309 }
buffer_is_valid(int64_t buffer)1310 MsgpackRequest* NeovimApi5::buffer_is_valid(int64_t buffer)
1311 {
1312 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("buffer_is_valid", 1);
1313 	r->setFunction(NeovimApi5::NEOVIM_FN_BUFFER_IS_VALID);
1314 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
1315 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
1316 	m_c->m_dev->send(buffer);
1317 	return r;
1318 }
buffer_get_mark(int64_t buffer,QByteArray name)1319 MsgpackRequest* NeovimApi5::buffer_get_mark(int64_t buffer, QByteArray name)
1320 {
1321 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("buffer_get_mark", 2);
1322 	r->setFunction(NeovimApi5::NEOVIM_FN_BUFFER_GET_MARK);
1323 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
1324 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
1325 	m_c->m_dev->send(buffer);
1326 	m_c->m_dev->send(name);
1327 	return r;
1328 }
buffer_add_highlight(int64_t buffer,int64_t ns_id,QByteArray hl_group,int64_t line,int64_t col_start,int64_t col_end)1329 MsgpackRequest* NeovimApi5::buffer_add_highlight(int64_t buffer, int64_t ns_id, QByteArray hl_group, int64_t line, int64_t col_start, int64_t col_end)
1330 {
1331 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("buffer_add_highlight", 6);
1332 	r->setFunction(NeovimApi5::NEOVIM_FN_BUFFER_ADD_HIGHLIGHT);
1333 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
1334 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
1335 	m_c->m_dev->send(buffer);
1336 	m_c->m_dev->send(ns_id);
1337 	m_c->m_dev->send(hl_group);
1338 	m_c->m_dev->send(line);
1339 	m_c->m_dev->send(col_start);
1340 	m_c->m_dev->send(col_end);
1341 	return r;
1342 }
buffer_clear_highlight(int64_t buffer,int64_t ns_id,int64_t line_start,int64_t line_end)1343 MsgpackRequest* NeovimApi5::buffer_clear_highlight(int64_t buffer, int64_t ns_id, int64_t line_start, int64_t line_end)
1344 {
1345 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("buffer_clear_highlight", 4);
1346 	r->setFunction(NeovimApi5::NEOVIM_FN_BUFFER_CLEAR_HIGHLIGHT);
1347 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
1348 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
1349 	m_c->m_dev->send(buffer);
1350 	m_c->m_dev->send(ns_id);
1351 	m_c->m_dev->send(line_start);
1352 	m_c->m_dev->send(line_end);
1353 	return r;
1354 }
tabpage_get_windows(int64_t tabpage)1355 MsgpackRequest* NeovimApi5::tabpage_get_windows(int64_t tabpage)
1356 {
1357 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("tabpage_get_windows", 1);
1358 	r->setFunction(NeovimApi5::NEOVIM_FN_TABPAGE_GET_WINDOWS);
1359 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
1360 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
1361 	m_c->m_dev->send(tabpage);
1362 	return r;
1363 }
tabpage_get_var(int64_t tabpage,QByteArray name)1364 MsgpackRequest* NeovimApi5::tabpage_get_var(int64_t tabpage, QByteArray name)
1365 {
1366 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("tabpage_get_var", 2);
1367 	r->setFunction(NeovimApi5::NEOVIM_FN_TABPAGE_GET_VAR);
1368 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
1369 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
1370 	m_c->m_dev->send(tabpage);
1371 	m_c->m_dev->send(name);
1372 	return r;
1373 }
tabpage_get_window(int64_t tabpage)1374 MsgpackRequest* NeovimApi5::tabpage_get_window(int64_t tabpage)
1375 {
1376 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("tabpage_get_window", 1);
1377 	r->setFunction(NeovimApi5::NEOVIM_FN_TABPAGE_GET_WINDOW);
1378 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
1379 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
1380 	m_c->m_dev->send(tabpage);
1381 	return r;
1382 }
tabpage_is_valid(int64_t tabpage)1383 MsgpackRequest* NeovimApi5::tabpage_is_valid(int64_t tabpage)
1384 {
1385 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("tabpage_is_valid", 1);
1386 	r->setFunction(NeovimApi5::NEOVIM_FN_TABPAGE_IS_VALID);
1387 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
1388 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
1389 	m_c->m_dev->send(tabpage);
1390 	return r;
1391 }
ui_detach()1392 MsgpackRequest* NeovimApi5::ui_detach()
1393 {
1394 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("ui_detach", 0);
1395 	r->setFunction(NeovimApi5::NEOVIM_FN_UI_DETACH);
1396 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
1397 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
1398 	return r;
1399 }
ui_try_resize(int64_t width,int64_t height)1400 MsgpackRequest* NeovimApi5::ui_try_resize(int64_t width, int64_t height)
1401 {
1402 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("ui_try_resize", 2);
1403 	r->setFunction(NeovimApi5::NEOVIM_FN_UI_TRY_RESIZE);
1404 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
1405 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
1406 	m_c->m_dev->send(width);
1407 	m_c->m_dev->send(height);
1408 	return r;
1409 }
vim_command(QByteArray command)1410 MsgpackRequest* NeovimApi5::vim_command(QByteArray command)
1411 {
1412 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("vim_command", 1);
1413 	r->setFunction(NeovimApi5::NEOVIM_FN_VIM_COMMAND);
1414 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
1415 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
1416 	m_c->m_dev->send(command);
1417 	return r;
1418 }
vim_feedkeys(QByteArray keys,QByteArray mode,bool escape_csi)1419 MsgpackRequest* NeovimApi5::vim_feedkeys(QByteArray keys, QByteArray mode, bool escape_csi)
1420 {
1421 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("vim_feedkeys", 3);
1422 	r->setFunction(NeovimApi5::NEOVIM_FN_VIM_FEEDKEYS);
1423 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
1424 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
1425 	m_c->m_dev->send(keys);
1426 	m_c->m_dev->send(mode);
1427 	m_c->m_dev->send(escape_csi);
1428 	return r;
1429 }
vim_input(QByteArray keys)1430 MsgpackRequest* NeovimApi5::vim_input(QByteArray keys)
1431 {
1432 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("vim_input", 1);
1433 	r->setFunction(NeovimApi5::NEOVIM_FN_VIM_INPUT);
1434 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
1435 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
1436 	m_c->m_dev->send(keys);
1437 	return r;
1438 }
vim_replace_termcodes(QByteArray str,bool from_part,bool do_lt,bool special)1439 MsgpackRequest* NeovimApi5::vim_replace_termcodes(QByteArray str, bool from_part, bool do_lt, bool special)
1440 {
1441 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("vim_replace_termcodes", 4);
1442 	r->setFunction(NeovimApi5::NEOVIM_FN_VIM_REPLACE_TERMCODES);
1443 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
1444 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
1445 	m_c->m_dev->send(str);
1446 	m_c->m_dev->send(from_part);
1447 	m_c->m_dev->send(do_lt);
1448 	m_c->m_dev->send(special);
1449 	return r;
1450 }
vim_command_output(QByteArray command)1451 MsgpackRequest* NeovimApi5::vim_command_output(QByteArray command)
1452 {
1453 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("vim_command_output", 1);
1454 	r->setFunction(NeovimApi5::NEOVIM_FN_VIM_COMMAND_OUTPUT);
1455 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
1456 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
1457 	m_c->m_dev->send(command);
1458 	return r;
1459 }
vim_eval(QByteArray expr)1460 MsgpackRequest* NeovimApi5::vim_eval(QByteArray expr)
1461 {
1462 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("vim_eval", 1);
1463 	r->setFunction(NeovimApi5::NEOVIM_FN_VIM_EVAL);
1464 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
1465 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
1466 	m_c->m_dev->send(expr);
1467 	return r;
1468 }
vim_call_function(QByteArray fn,QVariantList args)1469 MsgpackRequest* NeovimApi5::vim_call_function(QByteArray fn, QVariantList args)
1470 {
1471 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("vim_call_function", 2);
1472 	r->setFunction(NeovimApi5::NEOVIM_FN_VIM_CALL_FUNCTION);
1473 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
1474 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
1475 	m_c->m_dev->send(fn);
1476 	m_c->m_dev->send(args);
1477 	return r;
1478 }
vim_strwidth(QByteArray text)1479 MsgpackRequest* NeovimApi5::vim_strwidth(QByteArray text)
1480 {
1481 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("vim_strwidth", 1);
1482 	r->setFunction(NeovimApi5::NEOVIM_FN_VIM_STRWIDTH);
1483 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
1484 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
1485 	m_c->m_dev->send(text);
1486 	return r;
1487 }
vim_list_runtime_paths()1488 MsgpackRequest* NeovimApi5::vim_list_runtime_paths()
1489 {
1490 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("vim_list_runtime_paths", 0);
1491 	r->setFunction(NeovimApi5::NEOVIM_FN_VIM_LIST_RUNTIME_PATHS);
1492 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
1493 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
1494 	return r;
1495 }
vim_change_directory(QByteArray dir)1496 MsgpackRequest* NeovimApi5::vim_change_directory(QByteArray dir)
1497 {
1498 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("vim_change_directory", 1);
1499 	r->setFunction(NeovimApi5::NEOVIM_FN_VIM_CHANGE_DIRECTORY);
1500 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
1501 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
1502 	m_c->m_dev->send(dir);
1503 	return r;
1504 }
vim_get_current_line()1505 MsgpackRequest* NeovimApi5::vim_get_current_line()
1506 {
1507 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("vim_get_current_line", 0);
1508 	r->setFunction(NeovimApi5::NEOVIM_FN_VIM_GET_CURRENT_LINE);
1509 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
1510 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
1511 	return r;
1512 }
vim_set_current_line(QByteArray line)1513 MsgpackRequest* NeovimApi5::vim_set_current_line(QByteArray line)
1514 {
1515 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("vim_set_current_line", 1);
1516 	r->setFunction(NeovimApi5::NEOVIM_FN_VIM_SET_CURRENT_LINE);
1517 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
1518 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
1519 	m_c->m_dev->send(line);
1520 	return r;
1521 }
vim_del_current_line()1522 MsgpackRequest* NeovimApi5::vim_del_current_line()
1523 {
1524 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("vim_del_current_line", 0);
1525 	r->setFunction(NeovimApi5::NEOVIM_FN_VIM_DEL_CURRENT_LINE);
1526 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
1527 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
1528 	return r;
1529 }
vim_get_var(QByteArray name)1530 MsgpackRequest* NeovimApi5::vim_get_var(QByteArray name)
1531 {
1532 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("vim_get_var", 1);
1533 	r->setFunction(NeovimApi5::NEOVIM_FN_VIM_GET_VAR);
1534 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
1535 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
1536 	m_c->m_dev->send(name);
1537 	return r;
1538 }
vim_get_vvar(QByteArray name)1539 MsgpackRequest* NeovimApi5::vim_get_vvar(QByteArray name)
1540 {
1541 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("vim_get_vvar", 1);
1542 	r->setFunction(NeovimApi5::NEOVIM_FN_VIM_GET_VVAR);
1543 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
1544 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
1545 	m_c->m_dev->send(name);
1546 	return r;
1547 }
vim_get_option(QByteArray name)1548 MsgpackRequest* NeovimApi5::vim_get_option(QByteArray name)
1549 {
1550 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("vim_get_option", 1);
1551 	r->setFunction(NeovimApi5::NEOVIM_FN_VIM_GET_OPTION);
1552 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
1553 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
1554 	m_c->m_dev->send(name);
1555 	return r;
1556 }
vim_set_option(QByteArray name,QVariant value)1557 MsgpackRequest* NeovimApi5::vim_set_option(QByteArray name, QVariant value)
1558 {
1559 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("vim_set_option", 2);
1560 	r->setFunction(NeovimApi5::NEOVIM_FN_VIM_SET_OPTION);
1561 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
1562 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
1563 	m_c->m_dev->send(name);
1564 	m_c->m_dev->send(value);
1565 	return r;
1566 }
vim_out_write(QByteArray str)1567 MsgpackRequest* NeovimApi5::vim_out_write(QByteArray str)
1568 {
1569 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("vim_out_write", 1);
1570 	r->setFunction(NeovimApi5::NEOVIM_FN_VIM_OUT_WRITE);
1571 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
1572 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
1573 	m_c->m_dev->send(str);
1574 	return r;
1575 }
vim_err_write(QByteArray str)1576 MsgpackRequest* NeovimApi5::vim_err_write(QByteArray str)
1577 {
1578 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("vim_err_write", 1);
1579 	r->setFunction(NeovimApi5::NEOVIM_FN_VIM_ERR_WRITE);
1580 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
1581 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
1582 	m_c->m_dev->send(str);
1583 	return r;
1584 }
vim_report_error(QByteArray str)1585 MsgpackRequest* NeovimApi5::vim_report_error(QByteArray str)
1586 {
1587 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("vim_report_error", 1);
1588 	r->setFunction(NeovimApi5::NEOVIM_FN_VIM_REPORT_ERROR);
1589 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
1590 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
1591 	m_c->m_dev->send(str);
1592 	return r;
1593 }
vim_get_buffers()1594 MsgpackRequest* NeovimApi5::vim_get_buffers()
1595 {
1596 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("vim_get_buffers", 0);
1597 	r->setFunction(NeovimApi5::NEOVIM_FN_VIM_GET_BUFFERS);
1598 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
1599 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
1600 	return r;
1601 }
vim_get_current_buffer()1602 MsgpackRequest* NeovimApi5::vim_get_current_buffer()
1603 {
1604 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("vim_get_current_buffer", 0);
1605 	r->setFunction(NeovimApi5::NEOVIM_FN_VIM_GET_CURRENT_BUFFER);
1606 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
1607 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
1608 	return r;
1609 }
vim_set_current_buffer(int64_t buffer)1610 MsgpackRequest* NeovimApi5::vim_set_current_buffer(int64_t buffer)
1611 {
1612 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("vim_set_current_buffer", 1);
1613 	r->setFunction(NeovimApi5::NEOVIM_FN_VIM_SET_CURRENT_BUFFER);
1614 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
1615 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
1616 	m_c->m_dev->send(buffer);
1617 	return r;
1618 }
vim_get_windows()1619 MsgpackRequest* NeovimApi5::vim_get_windows()
1620 {
1621 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("vim_get_windows", 0);
1622 	r->setFunction(NeovimApi5::NEOVIM_FN_VIM_GET_WINDOWS);
1623 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
1624 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
1625 	return r;
1626 }
vim_get_current_window()1627 MsgpackRequest* NeovimApi5::vim_get_current_window()
1628 {
1629 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("vim_get_current_window", 0);
1630 	r->setFunction(NeovimApi5::NEOVIM_FN_VIM_GET_CURRENT_WINDOW);
1631 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
1632 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
1633 	return r;
1634 }
vim_set_current_window(int64_t window)1635 MsgpackRequest* NeovimApi5::vim_set_current_window(int64_t window)
1636 {
1637 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("vim_set_current_window", 1);
1638 	r->setFunction(NeovimApi5::NEOVIM_FN_VIM_SET_CURRENT_WINDOW);
1639 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
1640 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
1641 	m_c->m_dev->send(window);
1642 	return r;
1643 }
vim_get_tabpages()1644 MsgpackRequest* NeovimApi5::vim_get_tabpages()
1645 {
1646 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("vim_get_tabpages", 0);
1647 	r->setFunction(NeovimApi5::NEOVIM_FN_VIM_GET_TABPAGES);
1648 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
1649 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
1650 	return r;
1651 }
vim_get_current_tabpage()1652 MsgpackRequest* NeovimApi5::vim_get_current_tabpage()
1653 {
1654 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("vim_get_current_tabpage", 0);
1655 	r->setFunction(NeovimApi5::NEOVIM_FN_VIM_GET_CURRENT_TABPAGE);
1656 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
1657 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
1658 	return r;
1659 }
vim_set_current_tabpage(int64_t tabpage)1660 MsgpackRequest* NeovimApi5::vim_set_current_tabpage(int64_t tabpage)
1661 {
1662 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("vim_set_current_tabpage", 1);
1663 	r->setFunction(NeovimApi5::NEOVIM_FN_VIM_SET_CURRENT_TABPAGE);
1664 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
1665 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
1666 	m_c->m_dev->send(tabpage);
1667 	return r;
1668 }
vim_subscribe(QByteArray event)1669 MsgpackRequest* NeovimApi5::vim_subscribe(QByteArray event)
1670 {
1671 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("vim_subscribe", 1);
1672 	r->setFunction(NeovimApi5::NEOVIM_FN_VIM_SUBSCRIBE);
1673 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
1674 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
1675 	m_c->m_dev->send(event);
1676 	return r;
1677 }
vim_unsubscribe(QByteArray event)1678 MsgpackRequest* NeovimApi5::vim_unsubscribe(QByteArray event)
1679 {
1680 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("vim_unsubscribe", 1);
1681 	r->setFunction(NeovimApi5::NEOVIM_FN_VIM_UNSUBSCRIBE);
1682 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
1683 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
1684 	m_c->m_dev->send(event);
1685 	return r;
1686 }
vim_name_to_color(QByteArray name)1687 MsgpackRequest* NeovimApi5::vim_name_to_color(QByteArray name)
1688 {
1689 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("vim_name_to_color", 1);
1690 	r->setFunction(NeovimApi5::NEOVIM_FN_VIM_NAME_TO_COLOR);
1691 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
1692 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
1693 	m_c->m_dev->send(name);
1694 	return r;
1695 }
vim_get_color_map()1696 MsgpackRequest* NeovimApi5::vim_get_color_map()
1697 {
1698 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("vim_get_color_map", 0);
1699 	r->setFunction(NeovimApi5::NEOVIM_FN_VIM_GET_COLOR_MAP);
1700 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
1701 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
1702 	return r;
1703 }
window_get_buffer(int64_t window)1704 MsgpackRequest* NeovimApi5::window_get_buffer(int64_t window)
1705 {
1706 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("window_get_buffer", 1);
1707 	r->setFunction(NeovimApi5::NEOVIM_FN_WINDOW_GET_BUFFER);
1708 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
1709 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
1710 	m_c->m_dev->send(window);
1711 	return r;
1712 }
window_get_cursor(int64_t window)1713 MsgpackRequest* NeovimApi5::window_get_cursor(int64_t window)
1714 {
1715 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("window_get_cursor", 1);
1716 	r->setFunction(NeovimApi5::NEOVIM_FN_WINDOW_GET_CURSOR);
1717 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
1718 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
1719 	m_c->m_dev->send(window);
1720 	return r;
1721 }
window_set_cursor(int64_t window,QPoint pos)1722 MsgpackRequest* NeovimApi5::window_set_cursor(int64_t window, QPoint pos)
1723 {
1724 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("window_set_cursor", 2);
1725 	r->setFunction(NeovimApi5::NEOVIM_FN_WINDOW_SET_CURSOR);
1726 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
1727 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
1728 	m_c->m_dev->send(window);
1729 	m_c->m_dev->send(pos);
1730 	return r;
1731 }
window_get_height(int64_t window)1732 MsgpackRequest* NeovimApi5::window_get_height(int64_t window)
1733 {
1734 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("window_get_height", 1);
1735 	r->setFunction(NeovimApi5::NEOVIM_FN_WINDOW_GET_HEIGHT);
1736 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
1737 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
1738 	m_c->m_dev->send(window);
1739 	return r;
1740 }
window_set_height(int64_t window,int64_t height)1741 MsgpackRequest* NeovimApi5::window_set_height(int64_t window, int64_t height)
1742 {
1743 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("window_set_height", 2);
1744 	r->setFunction(NeovimApi5::NEOVIM_FN_WINDOW_SET_HEIGHT);
1745 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
1746 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
1747 	m_c->m_dev->send(window);
1748 	m_c->m_dev->send(height);
1749 	return r;
1750 }
window_get_width(int64_t window)1751 MsgpackRequest* NeovimApi5::window_get_width(int64_t window)
1752 {
1753 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("window_get_width", 1);
1754 	r->setFunction(NeovimApi5::NEOVIM_FN_WINDOW_GET_WIDTH);
1755 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
1756 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
1757 	m_c->m_dev->send(window);
1758 	return r;
1759 }
window_set_width(int64_t window,int64_t width)1760 MsgpackRequest* NeovimApi5::window_set_width(int64_t window, int64_t width)
1761 {
1762 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("window_set_width", 2);
1763 	r->setFunction(NeovimApi5::NEOVIM_FN_WINDOW_SET_WIDTH);
1764 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
1765 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
1766 	m_c->m_dev->send(window);
1767 	m_c->m_dev->send(width);
1768 	return r;
1769 }
window_get_var(int64_t window,QByteArray name)1770 MsgpackRequest* NeovimApi5::window_get_var(int64_t window, QByteArray name)
1771 {
1772 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("window_get_var", 2);
1773 	r->setFunction(NeovimApi5::NEOVIM_FN_WINDOW_GET_VAR);
1774 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
1775 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
1776 	m_c->m_dev->send(window);
1777 	m_c->m_dev->send(name);
1778 	return r;
1779 }
window_get_option(int64_t window,QByteArray name)1780 MsgpackRequest* NeovimApi5::window_get_option(int64_t window, QByteArray name)
1781 {
1782 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("window_get_option", 2);
1783 	r->setFunction(NeovimApi5::NEOVIM_FN_WINDOW_GET_OPTION);
1784 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
1785 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
1786 	m_c->m_dev->send(window);
1787 	m_c->m_dev->send(name);
1788 	return r;
1789 }
window_set_option(int64_t window,QByteArray name,QVariant value)1790 MsgpackRequest* NeovimApi5::window_set_option(int64_t window, QByteArray name, QVariant value)
1791 {
1792 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("window_set_option", 3);
1793 	r->setFunction(NeovimApi5::NEOVIM_FN_WINDOW_SET_OPTION);
1794 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
1795 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
1796 	m_c->m_dev->send(window);
1797 	m_c->m_dev->send(name);
1798 	m_c->m_dev->send(value);
1799 	return r;
1800 }
window_get_position(int64_t window)1801 MsgpackRequest* NeovimApi5::window_get_position(int64_t window)
1802 {
1803 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("window_get_position", 1);
1804 	r->setFunction(NeovimApi5::NEOVIM_FN_WINDOW_GET_POSITION);
1805 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
1806 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
1807 	m_c->m_dev->send(window);
1808 	return r;
1809 }
window_get_tabpage(int64_t window)1810 MsgpackRequest* NeovimApi5::window_get_tabpage(int64_t window)
1811 {
1812 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("window_get_tabpage", 1);
1813 	r->setFunction(NeovimApi5::NEOVIM_FN_WINDOW_GET_TABPAGE);
1814 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
1815 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
1816 	m_c->m_dev->send(window);
1817 	return r;
1818 }
window_is_valid(int64_t window)1819 MsgpackRequest* NeovimApi5::window_is_valid(int64_t window)
1820 {
1821 	MsgpackRequest *r = m_c->m_dev->startRequestUnchecked("window_is_valid", 1);
1822 	r->setFunction(NeovimApi5::NEOVIM_FN_WINDOW_IS_VALID);
1823 	connect(r, &MsgpackRequest::finished, this, &NeovimApi5::handleResponse);
1824 	connect(r, &MsgpackRequest::error, this, &NeovimApi5::handleResponseError);
1825 	m_c->m_dev->send(window);
1826 	return r;
1827 }
1828 
1829 // Handlers
1830 
handleResponseError(quint32 msgid,quint64 fun,const QVariant & res)1831 void NeovimApi5::handleResponseError(quint32 msgid, quint64 fun, const QVariant& res)
1832 {
1833 
1834 	// TODO: support Neovim error types Exception/Validation/etc
1835 	QString errMsg;
1836 	const QVariantList asList = res.toList();
1837 	if (asList.size() >= 2) {
1838 		if (asList.at(1).canConvert<QByteArray>()) {
1839 			errMsg = m_c->m_dev->decode(asList.at(1).toByteArray());
1840 		} else {
1841 			errMsg = tr("Received unsupported Neovim error type");
1842 		}
1843 	}
1844 
1845 	switch(fun) {
1846 	case NeovimApi5::NEOVIM_FN_NVIM_BUF_LINE_COUNT:
1847 		emit err_nvim_buf_line_count(errMsg, res);
1848 		break;
1849 	case NeovimApi5::NEOVIM_FN_BUFFER_GET_LINE:
1850 		emit err_buffer_get_line(errMsg, res);
1851 		break;
1852 	case NeovimApi5::NEOVIM_FN_NVIM_BUF_ATTACH:
1853 		emit err_nvim_buf_attach(errMsg, res);
1854 		break;
1855 	case NeovimApi5::NEOVIM_FN_NVIM_BUF_DETACH:
1856 		emit err_nvim_buf_detach(errMsg, res);
1857 		break;
1858 	case NeovimApi5::NEOVIM_FN_BUFFER_SET_LINE:
1859 		emit err_buffer_set_line(errMsg, res);
1860 		break;
1861 	case NeovimApi5::NEOVIM_FN_BUFFER_DEL_LINE:
1862 		emit err_buffer_del_line(errMsg, res);
1863 		break;
1864 	case NeovimApi5::NEOVIM_FN_BUFFER_GET_LINE_SLICE:
1865 		emit err_buffer_get_line_slice(errMsg, res);
1866 		break;
1867 	case NeovimApi5::NEOVIM_FN_NVIM_BUF_GET_LINES:
1868 		emit err_nvim_buf_get_lines(errMsg, res);
1869 		break;
1870 	case NeovimApi5::NEOVIM_FN_BUFFER_SET_LINE_SLICE:
1871 		emit err_buffer_set_line_slice(errMsg, res);
1872 		break;
1873 	case NeovimApi5::NEOVIM_FN_NVIM_BUF_SET_LINES:
1874 		emit err_nvim_buf_set_lines(errMsg, res);
1875 		break;
1876 	case NeovimApi5::NEOVIM_FN_NVIM_BUF_GET_OFFSET:
1877 		emit err_nvim_buf_get_offset(errMsg, res);
1878 		break;
1879 	case NeovimApi5::NEOVIM_FN_NVIM_BUF_GET_VAR:
1880 		emit err_nvim_buf_get_var(errMsg, res);
1881 		break;
1882 	case NeovimApi5::NEOVIM_FN_NVIM_BUF_GET_CHANGEDTICK:
1883 		emit err_nvim_buf_get_changedtick(errMsg, res);
1884 		break;
1885 	case NeovimApi5::NEOVIM_FN_NVIM_BUF_GET_KEYMAP:
1886 		emit err_nvim_buf_get_keymap(errMsg, res);
1887 		break;
1888 	case NeovimApi5::NEOVIM_FN_NVIM_BUF_GET_COMMANDS:
1889 		emit err_nvim_buf_get_commands(errMsg, res);
1890 		break;
1891 	case NeovimApi5::NEOVIM_FN_NVIM_BUF_SET_VAR:
1892 		emit err_nvim_buf_set_var(errMsg, res);
1893 		break;
1894 	case NeovimApi5::NEOVIM_FN_NVIM_BUF_DEL_VAR:
1895 		emit err_nvim_buf_del_var(errMsg, res);
1896 		break;
1897 	case NeovimApi5::NEOVIM_FN_BUFFER_SET_VAR:
1898 		emit err_buffer_set_var(errMsg, res);
1899 		break;
1900 	case NeovimApi5::NEOVIM_FN_BUFFER_DEL_VAR:
1901 		emit err_buffer_del_var(errMsg, res);
1902 		break;
1903 	case NeovimApi5::NEOVIM_FN_NVIM_BUF_GET_OPTION:
1904 		emit err_nvim_buf_get_option(errMsg, res);
1905 		break;
1906 	case NeovimApi5::NEOVIM_FN_NVIM_BUF_SET_OPTION:
1907 		emit err_nvim_buf_set_option(errMsg, res);
1908 		break;
1909 	case NeovimApi5::NEOVIM_FN_NVIM_BUF_GET_NUMBER:
1910 		emit err_nvim_buf_get_number(errMsg, res);
1911 		break;
1912 	case NeovimApi5::NEOVIM_FN_NVIM_BUF_GET_NAME:
1913 		emit err_nvim_buf_get_name(errMsg, res);
1914 		break;
1915 	case NeovimApi5::NEOVIM_FN_NVIM_BUF_SET_NAME:
1916 		emit err_nvim_buf_set_name(errMsg, res);
1917 		break;
1918 	case NeovimApi5::NEOVIM_FN_NVIM_BUF_IS_LOADED:
1919 		emit err_nvim_buf_is_loaded(errMsg, res);
1920 		break;
1921 	case NeovimApi5::NEOVIM_FN_NVIM_BUF_IS_VALID:
1922 		emit err_nvim_buf_is_valid(errMsg, res);
1923 		break;
1924 	case NeovimApi5::NEOVIM_FN_BUFFER_INSERT:
1925 		emit err_buffer_insert(errMsg, res);
1926 		break;
1927 	case NeovimApi5::NEOVIM_FN_NVIM_BUF_GET_MARK:
1928 		emit err_nvim_buf_get_mark(errMsg, res);
1929 		break;
1930 	case NeovimApi5::NEOVIM_FN_NVIM_BUF_ADD_HIGHLIGHT:
1931 		emit err_nvim_buf_add_highlight(errMsg, res);
1932 		break;
1933 	case NeovimApi5::NEOVIM_FN_NVIM_BUF_CLEAR_NAMESPACE:
1934 		emit err_nvim_buf_clear_namespace(errMsg, res);
1935 		break;
1936 	case NeovimApi5::NEOVIM_FN_NVIM_BUF_CLEAR_HIGHLIGHT:
1937 		emit err_nvim_buf_clear_highlight(errMsg, res);
1938 		break;
1939 	case NeovimApi5::NEOVIM_FN_NVIM_BUF_SET_VIRTUAL_TEXT:
1940 		emit err_nvim_buf_set_virtual_text(errMsg, res);
1941 		break;
1942 	case NeovimApi5::NEOVIM_FN_NVIM_TABPAGE_LIST_WINS:
1943 		emit err_nvim_tabpage_list_wins(errMsg, res);
1944 		break;
1945 	case NeovimApi5::NEOVIM_FN_NVIM_TABPAGE_GET_VAR:
1946 		emit err_nvim_tabpage_get_var(errMsg, res);
1947 		break;
1948 	case NeovimApi5::NEOVIM_FN_NVIM_TABPAGE_SET_VAR:
1949 		emit err_nvim_tabpage_set_var(errMsg, res);
1950 		break;
1951 	case NeovimApi5::NEOVIM_FN_NVIM_TABPAGE_DEL_VAR:
1952 		emit err_nvim_tabpage_del_var(errMsg, res);
1953 		break;
1954 	case NeovimApi5::NEOVIM_FN_TABPAGE_SET_VAR:
1955 		emit err_tabpage_set_var(errMsg, res);
1956 		break;
1957 	case NeovimApi5::NEOVIM_FN_TABPAGE_DEL_VAR:
1958 		emit err_tabpage_del_var(errMsg, res);
1959 		break;
1960 	case NeovimApi5::NEOVIM_FN_NVIM_TABPAGE_GET_WIN:
1961 		emit err_nvim_tabpage_get_win(errMsg, res);
1962 		break;
1963 	case NeovimApi5::NEOVIM_FN_NVIM_TABPAGE_GET_NUMBER:
1964 		emit err_nvim_tabpage_get_number(errMsg, res);
1965 		break;
1966 	case NeovimApi5::NEOVIM_FN_NVIM_TABPAGE_IS_VALID:
1967 		emit err_nvim_tabpage_is_valid(errMsg, res);
1968 		break;
1969 	case NeovimApi5::NEOVIM_FN_NVIM_UI_ATTACH:
1970 		emit err_nvim_ui_attach(errMsg, res);
1971 		break;
1972 	case NeovimApi5::NEOVIM_FN_UI_ATTACH:
1973 		emit err_ui_attach(errMsg, res);
1974 		break;
1975 	case NeovimApi5::NEOVIM_FN_NVIM_UI_DETACH:
1976 		emit err_nvim_ui_detach(errMsg, res);
1977 		break;
1978 	case NeovimApi5::NEOVIM_FN_NVIM_UI_TRY_RESIZE:
1979 		emit err_nvim_ui_try_resize(errMsg, res);
1980 		break;
1981 	case NeovimApi5::NEOVIM_FN_NVIM_UI_SET_OPTION:
1982 		emit err_nvim_ui_set_option(errMsg, res);
1983 		break;
1984 	case NeovimApi5::NEOVIM_FN_NVIM_COMMAND:
1985 		emit err_nvim_command(errMsg, res);
1986 		break;
1987 	case NeovimApi5::NEOVIM_FN_NVIM_GET_HL_BY_NAME:
1988 		emit err_nvim_get_hl_by_name(errMsg, res);
1989 		break;
1990 	case NeovimApi5::NEOVIM_FN_NVIM_GET_HL_BY_ID:
1991 		emit err_nvim_get_hl_by_id(errMsg, res);
1992 		break;
1993 	case NeovimApi5::NEOVIM_FN_NVIM_FEEDKEYS:
1994 		emit err_nvim_feedkeys(errMsg, res);
1995 		break;
1996 	case NeovimApi5::NEOVIM_FN_NVIM_INPUT:
1997 		emit err_nvim_input(errMsg, res);
1998 		break;
1999 	case NeovimApi5::NEOVIM_FN_NVIM_REPLACE_TERMCODES:
2000 		emit err_nvim_replace_termcodes(errMsg, res);
2001 		break;
2002 	case NeovimApi5::NEOVIM_FN_NVIM_COMMAND_OUTPUT:
2003 		emit err_nvim_command_output(errMsg, res);
2004 		break;
2005 	case NeovimApi5::NEOVIM_FN_NVIM_EVAL:
2006 		emit err_nvim_eval(errMsg, res);
2007 		break;
2008 	case NeovimApi5::NEOVIM_FN_NVIM_EXECUTE_LUA:
2009 		emit err_nvim_execute_lua(errMsg, res);
2010 		break;
2011 	case NeovimApi5::NEOVIM_FN_NVIM_CALL_FUNCTION:
2012 		emit err_nvim_call_function(errMsg, res);
2013 		break;
2014 	case NeovimApi5::NEOVIM_FN_NVIM_CALL_DICT_FUNCTION:
2015 		emit err_nvim_call_dict_function(errMsg, res);
2016 		break;
2017 	case NeovimApi5::NEOVIM_FN_NVIM_STRWIDTH:
2018 		emit err_nvim_strwidth(errMsg, res);
2019 		break;
2020 	case NeovimApi5::NEOVIM_FN_NVIM_LIST_RUNTIME_PATHS:
2021 		emit err_nvim_list_runtime_paths(errMsg, res);
2022 		break;
2023 	case NeovimApi5::NEOVIM_FN_NVIM_SET_CURRENT_DIR:
2024 		emit err_nvim_set_current_dir(errMsg, res);
2025 		break;
2026 	case NeovimApi5::NEOVIM_FN_NVIM_GET_CURRENT_LINE:
2027 		emit err_nvim_get_current_line(errMsg, res);
2028 		break;
2029 	case NeovimApi5::NEOVIM_FN_NVIM_SET_CURRENT_LINE:
2030 		emit err_nvim_set_current_line(errMsg, res);
2031 		break;
2032 	case NeovimApi5::NEOVIM_FN_NVIM_DEL_CURRENT_LINE:
2033 		emit err_nvim_del_current_line(errMsg, res);
2034 		break;
2035 	case NeovimApi5::NEOVIM_FN_NVIM_GET_VAR:
2036 		emit err_nvim_get_var(errMsg, res);
2037 		break;
2038 	case NeovimApi5::NEOVIM_FN_NVIM_SET_VAR:
2039 		emit err_nvim_set_var(errMsg, res);
2040 		break;
2041 	case NeovimApi5::NEOVIM_FN_NVIM_DEL_VAR:
2042 		emit err_nvim_del_var(errMsg, res);
2043 		break;
2044 	case NeovimApi5::NEOVIM_FN_VIM_SET_VAR:
2045 		emit err_vim_set_var(errMsg, res);
2046 		break;
2047 	case NeovimApi5::NEOVIM_FN_VIM_DEL_VAR:
2048 		emit err_vim_del_var(errMsg, res);
2049 		break;
2050 	case NeovimApi5::NEOVIM_FN_NVIM_GET_VVAR:
2051 		emit err_nvim_get_vvar(errMsg, res);
2052 		break;
2053 	case NeovimApi5::NEOVIM_FN_NVIM_GET_OPTION:
2054 		emit err_nvim_get_option(errMsg, res);
2055 		break;
2056 	case NeovimApi5::NEOVIM_FN_NVIM_SET_OPTION:
2057 		emit err_nvim_set_option(errMsg, res);
2058 		break;
2059 	case NeovimApi5::NEOVIM_FN_NVIM_OUT_WRITE:
2060 		emit err_nvim_out_write(errMsg, res);
2061 		break;
2062 	case NeovimApi5::NEOVIM_FN_NVIM_ERR_WRITE:
2063 		emit err_nvim_err_write(errMsg, res);
2064 		break;
2065 	case NeovimApi5::NEOVIM_FN_NVIM_ERR_WRITELN:
2066 		emit err_nvim_err_writeln(errMsg, res);
2067 		break;
2068 	case NeovimApi5::NEOVIM_FN_NVIM_LIST_BUFS:
2069 		emit err_nvim_list_bufs(errMsg, res);
2070 		break;
2071 	case NeovimApi5::NEOVIM_FN_NVIM_GET_CURRENT_BUF:
2072 		emit err_nvim_get_current_buf(errMsg, res);
2073 		break;
2074 	case NeovimApi5::NEOVIM_FN_NVIM_SET_CURRENT_BUF:
2075 		emit err_nvim_set_current_buf(errMsg, res);
2076 		break;
2077 	case NeovimApi5::NEOVIM_FN_NVIM_LIST_WINS:
2078 		emit err_nvim_list_wins(errMsg, res);
2079 		break;
2080 	case NeovimApi5::NEOVIM_FN_NVIM_GET_CURRENT_WIN:
2081 		emit err_nvim_get_current_win(errMsg, res);
2082 		break;
2083 	case NeovimApi5::NEOVIM_FN_NVIM_SET_CURRENT_WIN:
2084 		emit err_nvim_set_current_win(errMsg, res);
2085 		break;
2086 	case NeovimApi5::NEOVIM_FN_NVIM_LIST_TABPAGES:
2087 		emit err_nvim_list_tabpages(errMsg, res);
2088 		break;
2089 	case NeovimApi5::NEOVIM_FN_NVIM_GET_CURRENT_TABPAGE:
2090 		emit err_nvim_get_current_tabpage(errMsg, res);
2091 		break;
2092 	case NeovimApi5::NEOVIM_FN_NVIM_SET_CURRENT_TABPAGE:
2093 		emit err_nvim_set_current_tabpage(errMsg, res);
2094 		break;
2095 	case NeovimApi5::NEOVIM_FN_NVIM_CREATE_NAMESPACE:
2096 		emit err_nvim_create_namespace(errMsg, res);
2097 		break;
2098 	case NeovimApi5::NEOVIM_FN_NVIM_GET_NAMESPACES:
2099 		emit err_nvim_get_namespaces(errMsg, res);
2100 		break;
2101 	case NeovimApi5::NEOVIM_FN_NVIM_SUBSCRIBE:
2102 		emit err_nvim_subscribe(errMsg, res);
2103 		break;
2104 	case NeovimApi5::NEOVIM_FN_NVIM_UNSUBSCRIBE:
2105 		emit err_nvim_unsubscribe(errMsg, res);
2106 		break;
2107 	case NeovimApi5::NEOVIM_FN_NVIM_GET_COLOR_BY_NAME:
2108 		emit err_nvim_get_color_by_name(errMsg, res);
2109 		break;
2110 	case NeovimApi5::NEOVIM_FN_NVIM_GET_COLOR_MAP:
2111 		emit err_nvim_get_color_map(errMsg, res);
2112 		break;
2113 	case NeovimApi5::NEOVIM_FN_NVIM_GET_MODE:
2114 		emit err_nvim_get_mode(errMsg, res);
2115 		break;
2116 	case NeovimApi5::NEOVIM_FN_NVIM_GET_KEYMAP:
2117 		emit err_nvim_get_keymap(errMsg, res);
2118 		break;
2119 	case NeovimApi5::NEOVIM_FN_NVIM_GET_COMMANDS:
2120 		emit err_nvim_get_commands(errMsg, res);
2121 		break;
2122 	case NeovimApi5::NEOVIM_FN_NVIM_GET_API_INFO:
2123 		emit err_nvim_get_api_info(errMsg, res);
2124 		break;
2125 	case NeovimApi5::NEOVIM_FN_NVIM_SET_CLIENT_INFO:
2126 		emit err_nvim_set_client_info(errMsg, res);
2127 		break;
2128 	case NeovimApi5::NEOVIM_FN_NVIM_GET_CHAN_INFO:
2129 		emit err_nvim_get_chan_info(errMsg, res);
2130 		break;
2131 	case NeovimApi5::NEOVIM_FN_NVIM_LIST_CHANS:
2132 		emit err_nvim_list_chans(errMsg, res);
2133 		break;
2134 	case NeovimApi5::NEOVIM_FN_NVIM_CALL_ATOMIC:
2135 		emit err_nvim_call_atomic(errMsg, res);
2136 		break;
2137 	case NeovimApi5::NEOVIM_FN_NVIM_PARSE_EXPRESSION:
2138 		emit err_nvim_parse_expression(errMsg, res);
2139 		break;
2140 	case NeovimApi5::NEOVIM_FN_NVIM_LIST_UIS:
2141 		emit err_nvim_list_uis(errMsg, res);
2142 		break;
2143 	case NeovimApi5::NEOVIM_FN_NVIM_GET_PROC_CHILDREN:
2144 		emit err_nvim_get_proc_children(errMsg, res);
2145 		break;
2146 	case NeovimApi5::NEOVIM_FN_NVIM_GET_PROC:
2147 		emit err_nvim_get_proc(errMsg, res);
2148 		break;
2149 	case NeovimApi5::NEOVIM_FN_NVIM_WIN_GET_BUF:
2150 		emit err_nvim_win_get_buf(errMsg, res);
2151 		break;
2152 	case NeovimApi5::NEOVIM_FN_NVIM_WIN_SET_BUF:
2153 		emit err_nvim_win_set_buf(errMsg, res);
2154 		break;
2155 	case NeovimApi5::NEOVIM_FN_NVIM_WIN_GET_CURSOR:
2156 		emit err_nvim_win_get_cursor(errMsg, res);
2157 		break;
2158 	case NeovimApi5::NEOVIM_FN_NVIM_WIN_SET_CURSOR:
2159 		emit err_nvim_win_set_cursor(errMsg, res);
2160 		break;
2161 	case NeovimApi5::NEOVIM_FN_NVIM_WIN_GET_HEIGHT:
2162 		emit err_nvim_win_get_height(errMsg, res);
2163 		break;
2164 	case NeovimApi5::NEOVIM_FN_NVIM_WIN_SET_HEIGHT:
2165 		emit err_nvim_win_set_height(errMsg, res);
2166 		break;
2167 	case NeovimApi5::NEOVIM_FN_NVIM_WIN_GET_WIDTH:
2168 		emit err_nvim_win_get_width(errMsg, res);
2169 		break;
2170 	case NeovimApi5::NEOVIM_FN_NVIM_WIN_SET_WIDTH:
2171 		emit err_nvim_win_set_width(errMsg, res);
2172 		break;
2173 	case NeovimApi5::NEOVIM_FN_NVIM_WIN_GET_VAR:
2174 		emit err_nvim_win_get_var(errMsg, res);
2175 		break;
2176 	case NeovimApi5::NEOVIM_FN_NVIM_WIN_SET_VAR:
2177 		emit err_nvim_win_set_var(errMsg, res);
2178 		break;
2179 	case NeovimApi5::NEOVIM_FN_NVIM_WIN_DEL_VAR:
2180 		emit err_nvim_win_del_var(errMsg, res);
2181 		break;
2182 	case NeovimApi5::NEOVIM_FN_WINDOW_SET_VAR:
2183 		emit err_window_set_var(errMsg, res);
2184 		break;
2185 	case NeovimApi5::NEOVIM_FN_WINDOW_DEL_VAR:
2186 		emit err_window_del_var(errMsg, res);
2187 		break;
2188 	case NeovimApi5::NEOVIM_FN_NVIM_WIN_GET_OPTION:
2189 		emit err_nvim_win_get_option(errMsg, res);
2190 		break;
2191 	case NeovimApi5::NEOVIM_FN_NVIM_WIN_SET_OPTION:
2192 		emit err_nvim_win_set_option(errMsg, res);
2193 		break;
2194 	case NeovimApi5::NEOVIM_FN_NVIM_WIN_GET_POSITION:
2195 		emit err_nvim_win_get_position(errMsg, res);
2196 		break;
2197 	case NeovimApi5::NEOVIM_FN_NVIM_WIN_GET_TABPAGE:
2198 		emit err_nvim_win_get_tabpage(errMsg, res);
2199 		break;
2200 	case NeovimApi5::NEOVIM_FN_NVIM_WIN_GET_NUMBER:
2201 		emit err_nvim_win_get_number(errMsg, res);
2202 		break;
2203 	case NeovimApi5::NEOVIM_FN_NVIM_WIN_IS_VALID:
2204 		emit err_nvim_win_is_valid(errMsg, res);
2205 		break;
2206 	case NeovimApi5::NEOVIM_FN_BUFFER_LINE_COUNT:
2207 		emit err_buffer_line_count(errMsg, res);
2208 		break;
2209 	case NeovimApi5::NEOVIM_FN_BUFFER_GET_LINES:
2210 		emit err_buffer_get_lines(errMsg, res);
2211 		break;
2212 	case NeovimApi5::NEOVIM_FN_BUFFER_SET_LINES:
2213 		emit err_buffer_set_lines(errMsg, res);
2214 		break;
2215 	case NeovimApi5::NEOVIM_FN_BUFFER_GET_VAR:
2216 		emit err_buffer_get_var(errMsg, res);
2217 		break;
2218 	case NeovimApi5::NEOVIM_FN_BUFFER_GET_OPTION:
2219 		emit err_buffer_get_option(errMsg, res);
2220 		break;
2221 	case NeovimApi5::NEOVIM_FN_BUFFER_SET_OPTION:
2222 		emit err_buffer_set_option(errMsg, res);
2223 		break;
2224 	case NeovimApi5::NEOVIM_FN_BUFFER_GET_NUMBER:
2225 		emit err_buffer_get_number(errMsg, res);
2226 		break;
2227 	case NeovimApi5::NEOVIM_FN_BUFFER_GET_NAME:
2228 		emit err_buffer_get_name(errMsg, res);
2229 		break;
2230 	case NeovimApi5::NEOVIM_FN_BUFFER_SET_NAME:
2231 		emit err_buffer_set_name(errMsg, res);
2232 		break;
2233 	case NeovimApi5::NEOVIM_FN_BUFFER_IS_VALID:
2234 		emit err_buffer_is_valid(errMsg, res);
2235 		break;
2236 	case NeovimApi5::NEOVIM_FN_BUFFER_GET_MARK:
2237 		emit err_buffer_get_mark(errMsg, res);
2238 		break;
2239 	case NeovimApi5::NEOVIM_FN_BUFFER_ADD_HIGHLIGHT:
2240 		emit err_buffer_add_highlight(errMsg, res);
2241 		break;
2242 	case NeovimApi5::NEOVIM_FN_BUFFER_CLEAR_HIGHLIGHT:
2243 		emit err_buffer_clear_highlight(errMsg, res);
2244 		break;
2245 	case NeovimApi5::NEOVIM_FN_TABPAGE_GET_WINDOWS:
2246 		emit err_tabpage_get_windows(errMsg, res);
2247 		break;
2248 	case NeovimApi5::NEOVIM_FN_TABPAGE_GET_VAR:
2249 		emit err_tabpage_get_var(errMsg, res);
2250 		break;
2251 	case NeovimApi5::NEOVIM_FN_TABPAGE_GET_WINDOW:
2252 		emit err_tabpage_get_window(errMsg, res);
2253 		break;
2254 	case NeovimApi5::NEOVIM_FN_TABPAGE_IS_VALID:
2255 		emit err_tabpage_is_valid(errMsg, res);
2256 		break;
2257 	case NeovimApi5::NEOVIM_FN_UI_DETACH:
2258 		emit err_ui_detach(errMsg, res);
2259 		break;
2260 	case NeovimApi5::NEOVIM_FN_UI_TRY_RESIZE:
2261 		emit err_ui_try_resize(errMsg, res);
2262 		break;
2263 	case NeovimApi5::NEOVIM_FN_VIM_COMMAND:
2264 		emit err_vim_command(errMsg, res);
2265 		break;
2266 	case NeovimApi5::NEOVIM_FN_VIM_FEEDKEYS:
2267 		emit err_vim_feedkeys(errMsg, res);
2268 		break;
2269 	case NeovimApi5::NEOVIM_FN_VIM_INPUT:
2270 		emit err_vim_input(errMsg, res);
2271 		break;
2272 	case NeovimApi5::NEOVIM_FN_VIM_REPLACE_TERMCODES:
2273 		emit err_vim_replace_termcodes(errMsg, res);
2274 		break;
2275 	case NeovimApi5::NEOVIM_FN_VIM_COMMAND_OUTPUT:
2276 		emit err_vim_command_output(errMsg, res);
2277 		break;
2278 	case NeovimApi5::NEOVIM_FN_VIM_EVAL:
2279 		emit err_vim_eval(errMsg, res);
2280 		break;
2281 	case NeovimApi5::NEOVIM_FN_VIM_CALL_FUNCTION:
2282 		emit err_vim_call_function(errMsg, res);
2283 		break;
2284 	case NeovimApi5::NEOVIM_FN_VIM_STRWIDTH:
2285 		emit err_vim_strwidth(errMsg, res);
2286 		break;
2287 	case NeovimApi5::NEOVIM_FN_VIM_LIST_RUNTIME_PATHS:
2288 		emit err_vim_list_runtime_paths(errMsg, res);
2289 		break;
2290 	case NeovimApi5::NEOVIM_FN_VIM_CHANGE_DIRECTORY:
2291 		emit err_vim_change_directory(errMsg, res);
2292 		break;
2293 	case NeovimApi5::NEOVIM_FN_VIM_GET_CURRENT_LINE:
2294 		emit err_vim_get_current_line(errMsg, res);
2295 		break;
2296 	case NeovimApi5::NEOVIM_FN_VIM_SET_CURRENT_LINE:
2297 		emit err_vim_set_current_line(errMsg, res);
2298 		break;
2299 	case NeovimApi5::NEOVIM_FN_VIM_DEL_CURRENT_LINE:
2300 		emit err_vim_del_current_line(errMsg, res);
2301 		break;
2302 	case NeovimApi5::NEOVIM_FN_VIM_GET_VAR:
2303 		emit err_vim_get_var(errMsg, res);
2304 		break;
2305 	case NeovimApi5::NEOVIM_FN_VIM_GET_VVAR:
2306 		emit err_vim_get_vvar(errMsg, res);
2307 		break;
2308 	case NeovimApi5::NEOVIM_FN_VIM_GET_OPTION:
2309 		emit err_vim_get_option(errMsg, res);
2310 		break;
2311 	case NeovimApi5::NEOVIM_FN_VIM_SET_OPTION:
2312 		emit err_vim_set_option(errMsg, res);
2313 		break;
2314 	case NeovimApi5::NEOVIM_FN_VIM_OUT_WRITE:
2315 		emit err_vim_out_write(errMsg, res);
2316 		break;
2317 	case NeovimApi5::NEOVIM_FN_VIM_ERR_WRITE:
2318 		emit err_vim_err_write(errMsg, res);
2319 		break;
2320 	case NeovimApi5::NEOVIM_FN_VIM_REPORT_ERROR:
2321 		emit err_vim_report_error(errMsg, res);
2322 		break;
2323 	case NeovimApi5::NEOVIM_FN_VIM_GET_BUFFERS:
2324 		emit err_vim_get_buffers(errMsg, res);
2325 		break;
2326 	case NeovimApi5::NEOVIM_FN_VIM_GET_CURRENT_BUFFER:
2327 		emit err_vim_get_current_buffer(errMsg, res);
2328 		break;
2329 	case NeovimApi5::NEOVIM_FN_VIM_SET_CURRENT_BUFFER:
2330 		emit err_vim_set_current_buffer(errMsg, res);
2331 		break;
2332 	case NeovimApi5::NEOVIM_FN_VIM_GET_WINDOWS:
2333 		emit err_vim_get_windows(errMsg, res);
2334 		break;
2335 	case NeovimApi5::NEOVIM_FN_VIM_GET_CURRENT_WINDOW:
2336 		emit err_vim_get_current_window(errMsg, res);
2337 		break;
2338 	case NeovimApi5::NEOVIM_FN_VIM_SET_CURRENT_WINDOW:
2339 		emit err_vim_set_current_window(errMsg, res);
2340 		break;
2341 	case NeovimApi5::NEOVIM_FN_VIM_GET_TABPAGES:
2342 		emit err_vim_get_tabpages(errMsg, res);
2343 		break;
2344 	case NeovimApi5::NEOVIM_FN_VIM_GET_CURRENT_TABPAGE:
2345 		emit err_vim_get_current_tabpage(errMsg, res);
2346 		break;
2347 	case NeovimApi5::NEOVIM_FN_VIM_SET_CURRENT_TABPAGE:
2348 		emit err_vim_set_current_tabpage(errMsg, res);
2349 		break;
2350 	case NeovimApi5::NEOVIM_FN_VIM_SUBSCRIBE:
2351 		emit err_vim_subscribe(errMsg, res);
2352 		break;
2353 	case NeovimApi5::NEOVIM_FN_VIM_UNSUBSCRIBE:
2354 		emit err_vim_unsubscribe(errMsg, res);
2355 		break;
2356 	case NeovimApi5::NEOVIM_FN_VIM_NAME_TO_COLOR:
2357 		emit err_vim_name_to_color(errMsg, res);
2358 		break;
2359 	case NeovimApi5::NEOVIM_FN_VIM_GET_COLOR_MAP:
2360 		emit err_vim_get_color_map(errMsg, res);
2361 		break;
2362 	case NeovimApi5::NEOVIM_FN_WINDOW_GET_BUFFER:
2363 		emit err_window_get_buffer(errMsg, res);
2364 		break;
2365 	case NeovimApi5::NEOVIM_FN_WINDOW_GET_CURSOR:
2366 		emit err_window_get_cursor(errMsg, res);
2367 		break;
2368 	case NeovimApi5::NEOVIM_FN_WINDOW_SET_CURSOR:
2369 		emit err_window_set_cursor(errMsg, res);
2370 		break;
2371 	case NeovimApi5::NEOVIM_FN_WINDOW_GET_HEIGHT:
2372 		emit err_window_get_height(errMsg, res);
2373 		break;
2374 	case NeovimApi5::NEOVIM_FN_WINDOW_SET_HEIGHT:
2375 		emit err_window_set_height(errMsg, res);
2376 		break;
2377 	case NeovimApi5::NEOVIM_FN_WINDOW_GET_WIDTH:
2378 		emit err_window_get_width(errMsg, res);
2379 		break;
2380 	case NeovimApi5::NEOVIM_FN_WINDOW_SET_WIDTH:
2381 		emit err_window_set_width(errMsg, res);
2382 		break;
2383 	case NeovimApi5::NEOVIM_FN_WINDOW_GET_VAR:
2384 		emit err_window_get_var(errMsg, res);
2385 		break;
2386 	case NeovimApi5::NEOVIM_FN_WINDOW_GET_OPTION:
2387 		emit err_window_get_option(errMsg, res);
2388 		break;
2389 	case NeovimApi5::NEOVIM_FN_WINDOW_SET_OPTION:
2390 		emit err_window_set_option(errMsg, res);
2391 		break;
2392 	case NeovimApi5::NEOVIM_FN_WINDOW_GET_POSITION:
2393 		emit err_window_get_position(errMsg, res);
2394 		break;
2395 	case NeovimApi5::NEOVIM_FN_WINDOW_GET_TABPAGE:
2396 		emit err_window_get_tabpage(errMsg, res);
2397 		break;
2398 	case NeovimApi5::NEOVIM_FN_WINDOW_IS_VALID:
2399 		emit err_window_is_valid(errMsg, res);
2400 		break;
2401 	default:
2402 		m_c->setError(NeovimConnector::RuntimeMsgpackError, QString("Received error for function that should not fail: %s").arg(fun));
2403 	}
2404 }
2405 
handleResponse(quint32 msgid,quint64 fun,const QVariant & res)2406 void NeovimApi5::handleResponse(quint32 msgid, quint64 fun, const QVariant& res)
2407 {
2408 	switch(fun) {
2409 	case NeovimApi5::NEOVIM_FN_NVIM_BUF_LINE_COUNT:
2410 		{
2411 			int64_t data;
2412 			if (decode(res, data)) {
2413 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for nvim_buf_line_count");
2414 				return;
2415 			} else {
2416 				emit on_nvim_buf_line_count(data);
2417 			}
2418 
2419 		}
2420 		break;
2421 	case NeovimApi5::NEOVIM_FN_BUFFER_GET_LINE:
2422 		{
2423 			QByteArray data;
2424 			if (decode(res, data)) {
2425 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for buffer_get_line");
2426 				return;
2427 			} else {
2428 				emit on_buffer_get_line(data);
2429 			}
2430 
2431 		}
2432 		break;
2433 	case NeovimApi5::NEOVIM_FN_NVIM_BUF_ATTACH:
2434 		{
2435 			bool data;
2436 			if (decode(res, data)) {
2437 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for nvim_buf_attach");
2438 				return;
2439 			} else {
2440 				emit on_nvim_buf_attach(data);
2441 			}
2442 
2443 		}
2444 		break;
2445 	case NeovimApi5::NEOVIM_FN_NVIM_BUF_DETACH:
2446 		{
2447 			bool data;
2448 			if (decode(res, data)) {
2449 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for nvim_buf_detach");
2450 				return;
2451 			} else {
2452 				emit on_nvim_buf_detach(data);
2453 			}
2454 
2455 		}
2456 		break;
2457 	case NeovimApi5::NEOVIM_FN_BUFFER_SET_LINE:
2458 		{
2459 			emit on_buffer_set_line();
2460 
2461 		}
2462 		break;
2463 	case NeovimApi5::NEOVIM_FN_BUFFER_DEL_LINE:
2464 		{
2465 			emit on_buffer_del_line();
2466 
2467 		}
2468 		break;
2469 	case NeovimApi5::NEOVIM_FN_BUFFER_GET_LINE_SLICE:
2470 		{
2471 			QList<QByteArray> data;
2472 			if (decode(res, data)) {
2473 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for buffer_get_line_slice");
2474 				return;
2475 			} else {
2476 				emit on_buffer_get_line_slice(data);
2477 			}
2478 
2479 		}
2480 		break;
2481 	case NeovimApi5::NEOVIM_FN_NVIM_BUF_GET_LINES:
2482 		{
2483 			QList<QByteArray> data;
2484 			if (decode(res, data)) {
2485 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for nvim_buf_get_lines");
2486 				return;
2487 			} else {
2488 				emit on_nvim_buf_get_lines(data);
2489 			}
2490 
2491 		}
2492 		break;
2493 	case NeovimApi5::NEOVIM_FN_BUFFER_SET_LINE_SLICE:
2494 		{
2495 			emit on_buffer_set_line_slice();
2496 
2497 		}
2498 		break;
2499 	case NeovimApi5::NEOVIM_FN_NVIM_BUF_SET_LINES:
2500 		{
2501 			emit on_nvim_buf_set_lines();
2502 
2503 		}
2504 		break;
2505 	case NeovimApi5::NEOVIM_FN_NVIM_BUF_GET_OFFSET:
2506 		{
2507 			int64_t data;
2508 			if (decode(res, data)) {
2509 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for nvim_buf_get_offset");
2510 				return;
2511 			} else {
2512 				emit on_nvim_buf_get_offset(data);
2513 			}
2514 
2515 		}
2516 		break;
2517 	case NeovimApi5::NEOVIM_FN_NVIM_BUF_GET_VAR:
2518 		{
2519 			QVariant data;
2520 			if (decode(res, data)) {
2521 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for nvim_buf_get_var");
2522 				return;
2523 			} else {
2524 				emit on_nvim_buf_get_var(data);
2525 			}
2526 
2527 		}
2528 		break;
2529 	case NeovimApi5::NEOVIM_FN_NVIM_BUF_GET_CHANGEDTICK:
2530 		{
2531 			int64_t data;
2532 			if (decode(res, data)) {
2533 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for nvim_buf_get_changedtick");
2534 				return;
2535 			} else {
2536 				emit on_nvim_buf_get_changedtick(data);
2537 			}
2538 
2539 		}
2540 		break;
2541 	case NeovimApi5::NEOVIM_FN_NVIM_BUF_GET_KEYMAP:
2542 		{
2543 			QList<QVariantMap> data;
2544 			if (decode(res, data)) {
2545 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for nvim_buf_get_keymap");
2546 				return;
2547 			} else {
2548 				emit on_nvim_buf_get_keymap(data);
2549 			}
2550 
2551 		}
2552 		break;
2553 	case NeovimApi5::NEOVIM_FN_NVIM_BUF_GET_COMMANDS:
2554 		{
2555 			QVariantMap data;
2556 			if (decode(res, data)) {
2557 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for nvim_buf_get_commands");
2558 				return;
2559 			} else {
2560 				emit on_nvim_buf_get_commands(data);
2561 			}
2562 
2563 		}
2564 		break;
2565 	case NeovimApi5::NEOVIM_FN_NVIM_BUF_SET_VAR:
2566 		{
2567 			emit on_nvim_buf_set_var();
2568 
2569 		}
2570 		break;
2571 	case NeovimApi5::NEOVIM_FN_NVIM_BUF_DEL_VAR:
2572 		{
2573 			emit on_nvim_buf_del_var();
2574 
2575 		}
2576 		break;
2577 	case NeovimApi5::NEOVIM_FN_BUFFER_SET_VAR:
2578 		{
2579 			QVariant data;
2580 			if (decode(res, data)) {
2581 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for buffer_set_var");
2582 				return;
2583 			} else {
2584 				emit on_buffer_set_var(data);
2585 			}
2586 
2587 		}
2588 		break;
2589 	case NeovimApi5::NEOVIM_FN_BUFFER_DEL_VAR:
2590 		{
2591 			QVariant data;
2592 			if (decode(res, data)) {
2593 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for buffer_del_var");
2594 				return;
2595 			} else {
2596 				emit on_buffer_del_var(data);
2597 			}
2598 
2599 		}
2600 		break;
2601 	case NeovimApi5::NEOVIM_FN_NVIM_BUF_GET_OPTION:
2602 		{
2603 			QVariant data;
2604 			if (decode(res, data)) {
2605 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for nvim_buf_get_option");
2606 				return;
2607 			} else {
2608 				emit on_nvim_buf_get_option(data);
2609 			}
2610 
2611 		}
2612 		break;
2613 	case NeovimApi5::NEOVIM_FN_NVIM_BUF_SET_OPTION:
2614 		{
2615 			emit on_nvim_buf_set_option();
2616 
2617 		}
2618 		break;
2619 	case NeovimApi5::NEOVIM_FN_NVIM_BUF_GET_NUMBER:
2620 		{
2621 			int64_t data;
2622 			if (decode(res, data)) {
2623 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for nvim_buf_get_number");
2624 				return;
2625 			} else {
2626 				emit on_nvim_buf_get_number(data);
2627 			}
2628 
2629 		}
2630 		break;
2631 	case NeovimApi5::NEOVIM_FN_NVIM_BUF_GET_NAME:
2632 		{
2633 			QByteArray data;
2634 			if (decode(res, data)) {
2635 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for nvim_buf_get_name");
2636 				return;
2637 			} else {
2638 				emit on_nvim_buf_get_name(data);
2639 			}
2640 
2641 		}
2642 		break;
2643 	case NeovimApi5::NEOVIM_FN_NVIM_BUF_SET_NAME:
2644 		{
2645 			emit on_nvim_buf_set_name();
2646 
2647 		}
2648 		break;
2649 	case NeovimApi5::NEOVIM_FN_NVIM_BUF_IS_LOADED:
2650 		{
2651 			bool data;
2652 			if (decode(res, data)) {
2653 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for nvim_buf_is_loaded");
2654 				return;
2655 			} else {
2656 				emit on_nvim_buf_is_loaded(data);
2657 			}
2658 
2659 		}
2660 		break;
2661 	case NeovimApi5::NEOVIM_FN_NVIM_BUF_IS_VALID:
2662 		{
2663 			bool data;
2664 			if (decode(res, data)) {
2665 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for nvim_buf_is_valid");
2666 				return;
2667 			} else {
2668 				emit on_nvim_buf_is_valid(data);
2669 			}
2670 
2671 		}
2672 		break;
2673 	case NeovimApi5::NEOVIM_FN_BUFFER_INSERT:
2674 		{
2675 			emit on_buffer_insert();
2676 
2677 		}
2678 		break;
2679 	case NeovimApi5::NEOVIM_FN_NVIM_BUF_GET_MARK:
2680 		{
2681 			QPoint data;
2682 			if (decode(res, data)) {
2683 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for nvim_buf_get_mark");
2684 				return;
2685 			} else {
2686 				emit on_nvim_buf_get_mark(data);
2687 			}
2688 
2689 		}
2690 		break;
2691 	case NeovimApi5::NEOVIM_FN_NVIM_BUF_ADD_HIGHLIGHT:
2692 		{
2693 			int64_t data;
2694 			if (decode(res, data)) {
2695 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for nvim_buf_add_highlight");
2696 				return;
2697 			} else {
2698 				emit on_nvim_buf_add_highlight(data);
2699 			}
2700 
2701 		}
2702 		break;
2703 	case NeovimApi5::NEOVIM_FN_NVIM_BUF_CLEAR_NAMESPACE:
2704 		{
2705 			emit on_nvim_buf_clear_namespace();
2706 
2707 		}
2708 		break;
2709 	case NeovimApi5::NEOVIM_FN_NVIM_BUF_CLEAR_HIGHLIGHT:
2710 		{
2711 			emit on_nvim_buf_clear_highlight();
2712 
2713 		}
2714 		break;
2715 	case NeovimApi5::NEOVIM_FN_NVIM_BUF_SET_VIRTUAL_TEXT:
2716 		{
2717 			int64_t data;
2718 			if (decode(res, data)) {
2719 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for nvim_buf_set_virtual_text");
2720 				return;
2721 			} else {
2722 				emit on_nvim_buf_set_virtual_text(data);
2723 			}
2724 
2725 		}
2726 		break;
2727 	case NeovimApi5::NEOVIM_FN_NVIM_TABPAGE_LIST_WINS:
2728 		{
2729 			QList<int64_t> data;
2730 			if (decode(res, data)) {
2731 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for nvim_tabpage_list_wins");
2732 				return;
2733 			} else {
2734 				emit on_nvim_tabpage_list_wins(data);
2735 			}
2736 
2737 		}
2738 		break;
2739 	case NeovimApi5::NEOVIM_FN_NVIM_TABPAGE_GET_VAR:
2740 		{
2741 			QVariant data;
2742 			if (decode(res, data)) {
2743 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for nvim_tabpage_get_var");
2744 				return;
2745 			} else {
2746 				emit on_nvim_tabpage_get_var(data);
2747 			}
2748 
2749 		}
2750 		break;
2751 	case NeovimApi5::NEOVIM_FN_NVIM_TABPAGE_SET_VAR:
2752 		{
2753 			emit on_nvim_tabpage_set_var();
2754 
2755 		}
2756 		break;
2757 	case NeovimApi5::NEOVIM_FN_NVIM_TABPAGE_DEL_VAR:
2758 		{
2759 			emit on_nvim_tabpage_del_var();
2760 
2761 		}
2762 		break;
2763 	case NeovimApi5::NEOVIM_FN_TABPAGE_SET_VAR:
2764 		{
2765 			QVariant data;
2766 			if (decode(res, data)) {
2767 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for tabpage_set_var");
2768 				return;
2769 			} else {
2770 				emit on_tabpage_set_var(data);
2771 			}
2772 
2773 		}
2774 		break;
2775 	case NeovimApi5::NEOVIM_FN_TABPAGE_DEL_VAR:
2776 		{
2777 			QVariant data;
2778 			if (decode(res, data)) {
2779 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for tabpage_del_var");
2780 				return;
2781 			} else {
2782 				emit on_tabpage_del_var(data);
2783 			}
2784 
2785 		}
2786 		break;
2787 	case NeovimApi5::NEOVIM_FN_NVIM_TABPAGE_GET_WIN:
2788 		{
2789 			int64_t data;
2790 			if (decode(res, data)) {
2791 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for nvim_tabpage_get_win");
2792 				return;
2793 			} else {
2794 				emit on_nvim_tabpage_get_win(data);
2795 			}
2796 
2797 		}
2798 		break;
2799 	case NeovimApi5::NEOVIM_FN_NVIM_TABPAGE_GET_NUMBER:
2800 		{
2801 			int64_t data;
2802 			if (decode(res, data)) {
2803 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for nvim_tabpage_get_number");
2804 				return;
2805 			} else {
2806 				emit on_nvim_tabpage_get_number(data);
2807 			}
2808 
2809 		}
2810 		break;
2811 	case NeovimApi5::NEOVIM_FN_NVIM_TABPAGE_IS_VALID:
2812 		{
2813 			bool data;
2814 			if (decode(res, data)) {
2815 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for nvim_tabpage_is_valid");
2816 				return;
2817 			} else {
2818 				emit on_nvim_tabpage_is_valid(data);
2819 			}
2820 
2821 		}
2822 		break;
2823 	case NeovimApi5::NEOVIM_FN_NVIM_UI_ATTACH:
2824 		{
2825 			emit on_nvim_ui_attach();
2826 
2827 		}
2828 		break;
2829 	case NeovimApi5::NEOVIM_FN_UI_ATTACH:
2830 		{
2831 			emit on_ui_attach();
2832 
2833 		}
2834 		break;
2835 	case NeovimApi5::NEOVIM_FN_NVIM_UI_DETACH:
2836 		{
2837 			emit on_nvim_ui_detach();
2838 
2839 		}
2840 		break;
2841 	case NeovimApi5::NEOVIM_FN_NVIM_UI_TRY_RESIZE:
2842 		{
2843 			emit on_nvim_ui_try_resize();
2844 
2845 		}
2846 		break;
2847 	case NeovimApi5::NEOVIM_FN_NVIM_UI_SET_OPTION:
2848 		{
2849 			emit on_nvim_ui_set_option();
2850 
2851 		}
2852 		break;
2853 	case NeovimApi5::NEOVIM_FN_NVIM_COMMAND:
2854 		{
2855 			emit on_nvim_command();
2856 
2857 		}
2858 		break;
2859 	case NeovimApi5::NEOVIM_FN_NVIM_GET_HL_BY_NAME:
2860 		{
2861 			QVariantMap data;
2862 			if (decode(res, data)) {
2863 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for nvim_get_hl_by_name");
2864 				return;
2865 			} else {
2866 				emit on_nvim_get_hl_by_name(data);
2867 			}
2868 
2869 		}
2870 		break;
2871 	case NeovimApi5::NEOVIM_FN_NVIM_GET_HL_BY_ID:
2872 		{
2873 			QVariantMap data;
2874 			if (decode(res, data)) {
2875 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for nvim_get_hl_by_id");
2876 				return;
2877 			} else {
2878 				emit on_nvim_get_hl_by_id(data);
2879 			}
2880 
2881 		}
2882 		break;
2883 	case NeovimApi5::NEOVIM_FN_NVIM_FEEDKEYS:
2884 		{
2885 			emit on_nvim_feedkeys();
2886 
2887 		}
2888 		break;
2889 	case NeovimApi5::NEOVIM_FN_NVIM_INPUT:
2890 		{
2891 			int64_t data;
2892 			if (decode(res, data)) {
2893 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for nvim_input");
2894 				return;
2895 			} else {
2896 				emit on_nvim_input(data);
2897 			}
2898 
2899 		}
2900 		break;
2901 	case NeovimApi5::NEOVIM_FN_NVIM_REPLACE_TERMCODES:
2902 		{
2903 			QByteArray data;
2904 			if (decode(res, data)) {
2905 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for nvim_replace_termcodes");
2906 				return;
2907 			} else {
2908 				emit on_nvim_replace_termcodes(data);
2909 			}
2910 
2911 		}
2912 		break;
2913 	case NeovimApi5::NEOVIM_FN_NVIM_COMMAND_OUTPUT:
2914 		{
2915 			QByteArray data;
2916 			if (decode(res, data)) {
2917 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for nvim_command_output");
2918 				return;
2919 			} else {
2920 				emit on_nvim_command_output(data);
2921 			}
2922 
2923 		}
2924 		break;
2925 	case NeovimApi5::NEOVIM_FN_NVIM_EVAL:
2926 		{
2927 			QVariant data;
2928 			if (decode(res, data)) {
2929 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for nvim_eval");
2930 				return;
2931 			} else {
2932 				emit on_nvim_eval(data);
2933 			}
2934 
2935 		}
2936 		break;
2937 	case NeovimApi5::NEOVIM_FN_NVIM_EXECUTE_LUA:
2938 		{
2939 			QVariant data;
2940 			if (decode(res, data)) {
2941 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for nvim_execute_lua");
2942 				return;
2943 			} else {
2944 				emit on_nvim_execute_lua(data);
2945 			}
2946 
2947 		}
2948 		break;
2949 	case NeovimApi5::NEOVIM_FN_NVIM_CALL_FUNCTION:
2950 		{
2951 			QVariant data;
2952 			if (decode(res, data)) {
2953 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for nvim_call_function");
2954 				return;
2955 			} else {
2956 				emit on_nvim_call_function(data);
2957 			}
2958 
2959 		}
2960 		break;
2961 	case NeovimApi5::NEOVIM_FN_NVIM_CALL_DICT_FUNCTION:
2962 		{
2963 			QVariant data;
2964 			if (decode(res, data)) {
2965 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for nvim_call_dict_function");
2966 				return;
2967 			} else {
2968 				emit on_nvim_call_dict_function(data);
2969 			}
2970 
2971 		}
2972 		break;
2973 	case NeovimApi5::NEOVIM_FN_NVIM_STRWIDTH:
2974 		{
2975 			int64_t data;
2976 			if (decode(res, data)) {
2977 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for nvim_strwidth");
2978 				return;
2979 			} else {
2980 				emit on_nvim_strwidth(data);
2981 			}
2982 
2983 		}
2984 		break;
2985 	case NeovimApi5::NEOVIM_FN_NVIM_LIST_RUNTIME_PATHS:
2986 		{
2987 			QList<QByteArray> data;
2988 			if (decode(res, data)) {
2989 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for nvim_list_runtime_paths");
2990 				return;
2991 			} else {
2992 				emit on_nvim_list_runtime_paths(data);
2993 			}
2994 
2995 		}
2996 		break;
2997 	case NeovimApi5::NEOVIM_FN_NVIM_SET_CURRENT_DIR:
2998 		{
2999 			emit on_nvim_set_current_dir();
3000 
3001 		}
3002 		break;
3003 	case NeovimApi5::NEOVIM_FN_NVIM_GET_CURRENT_LINE:
3004 		{
3005 			QByteArray data;
3006 			if (decode(res, data)) {
3007 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for nvim_get_current_line");
3008 				return;
3009 			} else {
3010 				emit on_nvim_get_current_line(data);
3011 			}
3012 
3013 		}
3014 		break;
3015 	case NeovimApi5::NEOVIM_FN_NVIM_SET_CURRENT_LINE:
3016 		{
3017 			emit on_nvim_set_current_line();
3018 
3019 		}
3020 		break;
3021 	case NeovimApi5::NEOVIM_FN_NVIM_DEL_CURRENT_LINE:
3022 		{
3023 			emit on_nvim_del_current_line();
3024 
3025 		}
3026 		break;
3027 	case NeovimApi5::NEOVIM_FN_NVIM_GET_VAR:
3028 		{
3029 			QVariant data;
3030 			if (decode(res, data)) {
3031 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for nvim_get_var");
3032 				return;
3033 			} else {
3034 				emit on_nvim_get_var(data);
3035 			}
3036 
3037 		}
3038 		break;
3039 	case NeovimApi5::NEOVIM_FN_NVIM_SET_VAR:
3040 		{
3041 			emit on_nvim_set_var();
3042 
3043 		}
3044 		break;
3045 	case NeovimApi5::NEOVIM_FN_NVIM_DEL_VAR:
3046 		{
3047 			emit on_nvim_del_var();
3048 
3049 		}
3050 		break;
3051 	case NeovimApi5::NEOVIM_FN_VIM_SET_VAR:
3052 		{
3053 			QVariant data;
3054 			if (decode(res, data)) {
3055 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for vim_set_var");
3056 				return;
3057 			} else {
3058 				emit on_vim_set_var(data);
3059 			}
3060 
3061 		}
3062 		break;
3063 	case NeovimApi5::NEOVIM_FN_VIM_DEL_VAR:
3064 		{
3065 			QVariant data;
3066 			if (decode(res, data)) {
3067 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for vim_del_var");
3068 				return;
3069 			} else {
3070 				emit on_vim_del_var(data);
3071 			}
3072 
3073 		}
3074 		break;
3075 	case NeovimApi5::NEOVIM_FN_NVIM_GET_VVAR:
3076 		{
3077 			QVariant data;
3078 			if (decode(res, data)) {
3079 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for nvim_get_vvar");
3080 				return;
3081 			} else {
3082 				emit on_nvim_get_vvar(data);
3083 			}
3084 
3085 		}
3086 		break;
3087 	case NeovimApi5::NEOVIM_FN_NVIM_GET_OPTION:
3088 		{
3089 			QVariant data;
3090 			if (decode(res, data)) {
3091 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for nvim_get_option");
3092 				return;
3093 			} else {
3094 				emit on_nvim_get_option(data);
3095 			}
3096 
3097 		}
3098 		break;
3099 	case NeovimApi5::NEOVIM_FN_NVIM_SET_OPTION:
3100 		{
3101 			emit on_nvim_set_option();
3102 
3103 		}
3104 		break;
3105 	case NeovimApi5::NEOVIM_FN_NVIM_OUT_WRITE:
3106 		{
3107 			emit on_nvim_out_write();
3108 
3109 		}
3110 		break;
3111 	case NeovimApi5::NEOVIM_FN_NVIM_ERR_WRITE:
3112 		{
3113 			emit on_nvim_err_write();
3114 
3115 		}
3116 		break;
3117 	case NeovimApi5::NEOVIM_FN_NVIM_ERR_WRITELN:
3118 		{
3119 			emit on_nvim_err_writeln();
3120 
3121 		}
3122 		break;
3123 	case NeovimApi5::NEOVIM_FN_NVIM_LIST_BUFS:
3124 		{
3125 			QList<int64_t> data;
3126 			if (decode(res, data)) {
3127 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for nvim_list_bufs");
3128 				return;
3129 			} else {
3130 				emit on_nvim_list_bufs(data);
3131 			}
3132 
3133 		}
3134 		break;
3135 	case NeovimApi5::NEOVIM_FN_NVIM_GET_CURRENT_BUF:
3136 		{
3137 			int64_t data;
3138 			if (decode(res, data)) {
3139 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for nvim_get_current_buf");
3140 				return;
3141 			} else {
3142 				emit on_nvim_get_current_buf(data);
3143 			}
3144 
3145 		}
3146 		break;
3147 	case NeovimApi5::NEOVIM_FN_NVIM_SET_CURRENT_BUF:
3148 		{
3149 			emit on_nvim_set_current_buf();
3150 
3151 		}
3152 		break;
3153 	case NeovimApi5::NEOVIM_FN_NVIM_LIST_WINS:
3154 		{
3155 			QList<int64_t> data;
3156 			if (decode(res, data)) {
3157 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for nvim_list_wins");
3158 				return;
3159 			} else {
3160 				emit on_nvim_list_wins(data);
3161 			}
3162 
3163 		}
3164 		break;
3165 	case NeovimApi5::NEOVIM_FN_NVIM_GET_CURRENT_WIN:
3166 		{
3167 			int64_t data;
3168 			if (decode(res, data)) {
3169 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for nvim_get_current_win");
3170 				return;
3171 			} else {
3172 				emit on_nvim_get_current_win(data);
3173 			}
3174 
3175 		}
3176 		break;
3177 	case NeovimApi5::NEOVIM_FN_NVIM_SET_CURRENT_WIN:
3178 		{
3179 			emit on_nvim_set_current_win();
3180 
3181 		}
3182 		break;
3183 	case NeovimApi5::NEOVIM_FN_NVIM_LIST_TABPAGES:
3184 		{
3185 			QList<int64_t> data;
3186 			if (decode(res, data)) {
3187 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for nvim_list_tabpages");
3188 				return;
3189 			} else {
3190 				emit on_nvim_list_tabpages(data);
3191 			}
3192 
3193 		}
3194 		break;
3195 	case NeovimApi5::NEOVIM_FN_NVIM_GET_CURRENT_TABPAGE:
3196 		{
3197 			int64_t data;
3198 			if (decode(res, data)) {
3199 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for nvim_get_current_tabpage");
3200 				return;
3201 			} else {
3202 				emit on_nvim_get_current_tabpage(data);
3203 			}
3204 
3205 		}
3206 		break;
3207 	case NeovimApi5::NEOVIM_FN_NVIM_SET_CURRENT_TABPAGE:
3208 		{
3209 			emit on_nvim_set_current_tabpage();
3210 
3211 		}
3212 		break;
3213 	case NeovimApi5::NEOVIM_FN_NVIM_CREATE_NAMESPACE:
3214 		{
3215 			int64_t data;
3216 			if (decode(res, data)) {
3217 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for nvim_create_namespace");
3218 				return;
3219 			} else {
3220 				emit on_nvim_create_namespace(data);
3221 			}
3222 
3223 		}
3224 		break;
3225 	case NeovimApi5::NEOVIM_FN_NVIM_GET_NAMESPACES:
3226 		{
3227 			QVariantMap data;
3228 			if (decode(res, data)) {
3229 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for nvim_get_namespaces");
3230 				return;
3231 			} else {
3232 				emit on_nvim_get_namespaces(data);
3233 			}
3234 
3235 		}
3236 		break;
3237 	case NeovimApi5::NEOVIM_FN_NVIM_SUBSCRIBE:
3238 		{
3239 			emit on_nvim_subscribe();
3240 
3241 		}
3242 		break;
3243 	case NeovimApi5::NEOVIM_FN_NVIM_UNSUBSCRIBE:
3244 		{
3245 			emit on_nvim_unsubscribe();
3246 
3247 		}
3248 		break;
3249 	case NeovimApi5::NEOVIM_FN_NVIM_GET_COLOR_BY_NAME:
3250 		{
3251 			int64_t data;
3252 			if (decode(res, data)) {
3253 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for nvim_get_color_by_name");
3254 				return;
3255 			} else {
3256 				emit on_nvim_get_color_by_name(data);
3257 			}
3258 
3259 		}
3260 		break;
3261 	case NeovimApi5::NEOVIM_FN_NVIM_GET_COLOR_MAP:
3262 		{
3263 			QVariantMap data;
3264 			if (decode(res, data)) {
3265 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for nvim_get_color_map");
3266 				return;
3267 			} else {
3268 				emit on_nvim_get_color_map(data);
3269 			}
3270 
3271 		}
3272 		break;
3273 	case NeovimApi5::NEOVIM_FN_NVIM_GET_MODE:
3274 		{
3275 			QVariantMap data;
3276 			if (decode(res, data)) {
3277 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for nvim_get_mode");
3278 				return;
3279 			} else {
3280 				emit on_nvim_get_mode(data);
3281 			}
3282 
3283 		}
3284 		break;
3285 	case NeovimApi5::NEOVIM_FN_NVIM_GET_KEYMAP:
3286 		{
3287 			QList<QVariantMap> data;
3288 			if (decode(res, data)) {
3289 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for nvim_get_keymap");
3290 				return;
3291 			} else {
3292 				emit on_nvim_get_keymap(data);
3293 			}
3294 
3295 		}
3296 		break;
3297 	case NeovimApi5::NEOVIM_FN_NVIM_GET_COMMANDS:
3298 		{
3299 			QVariantMap data;
3300 			if (decode(res, data)) {
3301 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for nvim_get_commands");
3302 				return;
3303 			} else {
3304 				emit on_nvim_get_commands(data);
3305 			}
3306 
3307 		}
3308 		break;
3309 	case NeovimApi5::NEOVIM_FN_NVIM_GET_API_INFO:
3310 		{
3311 			QVariantList data;
3312 			if (decode(res, data)) {
3313 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for nvim_get_api_info");
3314 				return;
3315 			} else {
3316 				emit on_nvim_get_api_info(data);
3317 			}
3318 
3319 		}
3320 		break;
3321 	case NeovimApi5::NEOVIM_FN_NVIM_SET_CLIENT_INFO:
3322 		{
3323 			emit on_nvim_set_client_info();
3324 
3325 		}
3326 		break;
3327 	case NeovimApi5::NEOVIM_FN_NVIM_GET_CHAN_INFO:
3328 		{
3329 			QVariantMap data;
3330 			if (decode(res, data)) {
3331 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for nvim_get_chan_info");
3332 				return;
3333 			} else {
3334 				emit on_nvim_get_chan_info(data);
3335 			}
3336 
3337 		}
3338 		break;
3339 	case NeovimApi5::NEOVIM_FN_NVIM_LIST_CHANS:
3340 		{
3341 			QVariantList data;
3342 			if (decode(res, data)) {
3343 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for nvim_list_chans");
3344 				return;
3345 			} else {
3346 				emit on_nvim_list_chans(data);
3347 			}
3348 
3349 		}
3350 		break;
3351 	case NeovimApi5::NEOVIM_FN_NVIM_CALL_ATOMIC:
3352 		{
3353 			QVariantList data;
3354 			if (decode(res, data)) {
3355 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for nvim_call_atomic");
3356 				return;
3357 			} else {
3358 				emit on_nvim_call_atomic(data);
3359 			}
3360 
3361 		}
3362 		break;
3363 	case NeovimApi5::NEOVIM_FN_NVIM_PARSE_EXPRESSION:
3364 		{
3365 			QVariantMap data;
3366 			if (decode(res, data)) {
3367 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for nvim_parse_expression");
3368 				return;
3369 			} else {
3370 				emit on_nvim_parse_expression(data);
3371 			}
3372 
3373 		}
3374 		break;
3375 	case NeovimApi5::NEOVIM_FN_NVIM_LIST_UIS:
3376 		{
3377 			QVariantList data;
3378 			if (decode(res, data)) {
3379 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for nvim_list_uis");
3380 				return;
3381 			} else {
3382 				emit on_nvim_list_uis(data);
3383 			}
3384 
3385 		}
3386 		break;
3387 	case NeovimApi5::NEOVIM_FN_NVIM_GET_PROC_CHILDREN:
3388 		{
3389 			QVariantList data;
3390 			if (decode(res, data)) {
3391 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for nvim_get_proc_children");
3392 				return;
3393 			} else {
3394 				emit on_nvim_get_proc_children(data);
3395 			}
3396 
3397 		}
3398 		break;
3399 	case NeovimApi5::NEOVIM_FN_NVIM_GET_PROC:
3400 		{
3401 			QVariant data;
3402 			if (decode(res, data)) {
3403 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for nvim_get_proc");
3404 				return;
3405 			} else {
3406 				emit on_nvim_get_proc(data);
3407 			}
3408 
3409 		}
3410 		break;
3411 	case NeovimApi5::NEOVIM_FN_NVIM_WIN_GET_BUF:
3412 		{
3413 			int64_t data;
3414 			if (decode(res, data)) {
3415 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for nvim_win_get_buf");
3416 				return;
3417 			} else {
3418 				emit on_nvim_win_get_buf(data);
3419 			}
3420 
3421 		}
3422 		break;
3423 	case NeovimApi5::NEOVIM_FN_NVIM_WIN_SET_BUF:
3424 		{
3425 			emit on_nvim_win_set_buf();
3426 
3427 		}
3428 		break;
3429 	case NeovimApi5::NEOVIM_FN_NVIM_WIN_GET_CURSOR:
3430 		{
3431 			QPoint data;
3432 			if (decode(res, data)) {
3433 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for nvim_win_get_cursor");
3434 				return;
3435 			} else {
3436 				emit on_nvim_win_get_cursor(data);
3437 			}
3438 
3439 		}
3440 		break;
3441 	case NeovimApi5::NEOVIM_FN_NVIM_WIN_SET_CURSOR:
3442 		{
3443 			emit on_nvim_win_set_cursor();
3444 
3445 		}
3446 		break;
3447 	case NeovimApi5::NEOVIM_FN_NVIM_WIN_GET_HEIGHT:
3448 		{
3449 			int64_t data;
3450 			if (decode(res, data)) {
3451 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for nvim_win_get_height");
3452 				return;
3453 			} else {
3454 				emit on_nvim_win_get_height(data);
3455 			}
3456 
3457 		}
3458 		break;
3459 	case NeovimApi5::NEOVIM_FN_NVIM_WIN_SET_HEIGHT:
3460 		{
3461 			emit on_nvim_win_set_height();
3462 
3463 		}
3464 		break;
3465 	case NeovimApi5::NEOVIM_FN_NVIM_WIN_GET_WIDTH:
3466 		{
3467 			int64_t data;
3468 			if (decode(res, data)) {
3469 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for nvim_win_get_width");
3470 				return;
3471 			} else {
3472 				emit on_nvim_win_get_width(data);
3473 			}
3474 
3475 		}
3476 		break;
3477 	case NeovimApi5::NEOVIM_FN_NVIM_WIN_SET_WIDTH:
3478 		{
3479 			emit on_nvim_win_set_width();
3480 
3481 		}
3482 		break;
3483 	case NeovimApi5::NEOVIM_FN_NVIM_WIN_GET_VAR:
3484 		{
3485 			QVariant data;
3486 			if (decode(res, data)) {
3487 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for nvim_win_get_var");
3488 				return;
3489 			} else {
3490 				emit on_nvim_win_get_var(data);
3491 			}
3492 
3493 		}
3494 		break;
3495 	case NeovimApi5::NEOVIM_FN_NVIM_WIN_SET_VAR:
3496 		{
3497 			emit on_nvim_win_set_var();
3498 
3499 		}
3500 		break;
3501 	case NeovimApi5::NEOVIM_FN_NVIM_WIN_DEL_VAR:
3502 		{
3503 			emit on_nvim_win_del_var();
3504 
3505 		}
3506 		break;
3507 	case NeovimApi5::NEOVIM_FN_WINDOW_SET_VAR:
3508 		{
3509 			QVariant data;
3510 			if (decode(res, data)) {
3511 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for window_set_var");
3512 				return;
3513 			} else {
3514 				emit on_window_set_var(data);
3515 			}
3516 
3517 		}
3518 		break;
3519 	case NeovimApi5::NEOVIM_FN_WINDOW_DEL_VAR:
3520 		{
3521 			QVariant data;
3522 			if (decode(res, data)) {
3523 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for window_del_var");
3524 				return;
3525 			} else {
3526 				emit on_window_del_var(data);
3527 			}
3528 
3529 		}
3530 		break;
3531 	case NeovimApi5::NEOVIM_FN_NVIM_WIN_GET_OPTION:
3532 		{
3533 			QVariant data;
3534 			if (decode(res, data)) {
3535 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for nvim_win_get_option");
3536 				return;
3537 			} else {
3538 				emit on_nvim_win_get_option(data);
3539 			}
3540 
3541 		}
3542 		break;
3543 	case NeovimApi5::NEOVIM_FN_NVIM_WIN_SET_OPTION:
3544 		{
3545 			emit on_nvim_win_set_option();
3546 
3547 		}
3548 		break;
3549 	case NeovimApi5::NEOVIM_FN_NVIM_WIN_GET_POSITION:
3550 		{
3551 			QPoint data;
3552 			if (decode(res, data)) {
3553 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for nvim_win_get_position");
3554 				return;
3555 			} else {
3556 				emit on_nvim_win_get_position(data);
3557 			}
3558 
3559 		}
3560 		break;
3561 	case NeovimApi5::NEOVIM_FN_NVIM_WIN_GET_TABPAGE:
3562 		{
3563 			int64_t data;
3564 			if (decode(res, data)) {
3565 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for nvim_win_get_tabpage");
3566 				return;
3567 			} else {
3568 				emit on_nvim_win_get_tabpage(data);
3569 			}
3570 
3571 		}
3572 		break;
3573 	case NeovimApi5::NEOVIM_FN_NVIM_WIN_GET_NUMBER:
3574 		{
3575 			int64_t data;
3576 			if (decode(res, data)) {
3577 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for nvim_win_get_number");
3578 				return;
3579 			} else {
3580 				emit on_nvim_win_get_number(data);
3581 			}
3582 
3583 		}
3584 		break;
3585 	case NeovimApi5::NEOVIM_FN_NVIM_WIN_IS_VALID:
3586 		{
3587 			bool data;
3588 			if (decode(res, data)) {
3589 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for nvim_win_is_valid");
3590 				return;
3591 			} else {
3592 				emit on_nvim_win_is_valid(data);
3593 			}
3594 
3595 		}
3596 		break;
3597 	case NeovimApi5::NEOVIM_FN_BUFFER_LINE_COUNT:
3598 		{
3599 			int64_t data;
3600 			if (decode(res, data)) {
3601 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for buffer_line_count");
3602 				return;
3603 			} else {
3604 				emit on_buffer_line_count(data);
3605 			}
3606 
3607 		}
3608 		break;
3609 	case NeovimApi5::NEOVIM_FN_BUFFER_GET_LINES:
3610 		{
3611 			QList<QByteArray> data;
3612 			if (decode(res, data)) {
3613 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for buffer_get_lines");
3614 				return;
3615 			} else {
3616 				emit on_buffer_get_lines(data);
3617 			}
3618 
3619 		}
3620 		break;
3621 	case NeovimApi5::NEOVIM_FN_BUFFER_SET_LINES:
3622 		{
3623 			emit on_buffer_set_lines();
3624 
3625 		}
3626 		break;
3627 	case NeovimApi5::NEOVIM_FN_BUFFER_GET_VAR:
3628 		{
3629 			QVariant data;
3630 			if (decode(res, data)) {
3631 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for buffer_get_var");
3632 				return;
3633 			} else {
3634 				emit on_buffer_get_var(data);
3635 			}
3636 
3637 		}
3638 		break;
3639 	case NeovimApi5::NEOVIM_FN_BUFFER_GET_OPTION:
3640 		{
3641 			QVariant data;
3642 			if (decode(res, data)) {
3643 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for buffer_get_option");
3644 				return;
3645 			} else {
3646 				emit on_buffer_get_option(data);
3647 			}
3648 
3649 		}
3650 		break;
3651 	case NeovimApi5::NEOVIM_FN_BUFFER_SET_OPTION:
3652 		{
3653 			emit on_buffer_set_option();
3654 
3655 		}
3656 		break;
3657 	case NeovimApi5::NEOVIM_FN_BUFFER_GET_NUMBER:
3658 		{
3659 			int64_t data;
3660 			if (decode(res, data)) {
3661 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for buffer_get_number");
3662 				return;
3663 			} else {
3664 				emit on_buffer_get_number(data);
3665 			}
3666 
3667 		}
3668 		break;
3669 	case NeovimApi5::NEOVIM_FN_BUFFER_GET_NAME:
3670 		{
3671 			QByteArray data;
3672 			if (decode(res, data)) {
3673 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for buffer_get_name");
3674 				return;
3675 			} else {
3676 				emit on_buffer_get_name(data);
3677 			}
3678 
3679 		}
3680 		break;
3681 	case NeovimApi5::NEOVIM_FN_BUFFER_SET_NAME:
3682 		{
3683 			emit on_buffer_set_name();
3684 
3685 		}
3686 		break;
3687 	case NeovimApi5::NEOVIM_FN_BUFFER_IS_VALID:
3688 		{
3689 			bool data;
3690 			if (decode(res, data)) {
3691 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for buffer_is_valid");
3692 				return;
3693 			} else {
3694 				emit on_buffer_is_valid(data);
3695 			}
3696 
3697 		}
3698 		break;
3699 	case NeovimApi5::NEOVIM_FN_BUFFER_GET_MARK:
3700 		{
3701 			QPoint data;
3702 			if (decode(res, data)) {
3703 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for buffer_get_mark");
3704 				return;
3705 			} else {
3706 				emit on_buffer_get_mark(data);
3707 			}
3708 
3709 		}
3710 		break;
3711 	case NeovimApi5::NEOVIM_FN_BUFFER_ADD_HIGHLIGHT:
3712 		{
3713 			int64_t data;
3714 			if (decode(res, data)) {
3715 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for buffer_add_highlight");
3716 				return;
3717 			} else {
3718 				emit on_buffer_add_highlight(data);
3719 			}
3720 
3721 		}
3722 		break;
3723 	case NeovimApi5::NEOVIM_FN_BUFFER_CLEAR_HIGHLIGHT:
3724 		{
3725 			emit on_buffer_clear_highlight();
3726 
3727 		}
3728 		break;
3729 	case NeovimApi5::NEOVIM_FN_TABPAGE_GET_WINDOWS:
3730 		{
3731 			QList<int64_t> data;
3732 			if (decode(res, data)) {
3733 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for tabpage_get_windows");
3734 				return;
3735 			} else {
3736 				emit on_tabpage_get_windows(data);
3737 			}
3738 
3739 		}
3740 		break;
3741 	case NeovimApi5::NEOVIM_FN_TABPAGE_GET_VAR:
3742 		{
3743 			QVariant data;
3744 			if (decode(res, data)) {
3745 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for tabpage_get_var");
3746 				return;
3747 			} else {
3748 				emit on_tabpage_get_var(data);
3749 			}
3750 
3751 		}
3752 		break;
3753 	case NeovimApi5::NEOVIM_FN_TABPAGE_GET_WINDOW:
3754 		{
3755 			int64_t data;
3756 			if (decode(res, data)) {
3757 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for tabpage_get_window");
3758 				return;
3759 			} else {
3760 				emit on_tabpage_get_window(data);
3761 			}
3762 
3763 		}
3764 		break;
3765 	case NeovimApi5::NEOVIM_FN_TABPAGE_IS_VALID:
3766 		{
3767 			bool data;
3768 			if (decode(res, data)) {
3769 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for tabpage_is_valid");
3770 				return;
3771 			} else {
3772 				emit on_tabpage_is_valid(data);
3773 			}
3774 
3775 		}
3776 		break;
3777 	case NeovimApi5::NEOVIM_FN_UI_DETACH:
3778 		{
3779 			emit on_ui_detach();
3780 
3781 		}
3782 		break;
3783 	case NeovimApi5::NEOVIM_FN_UI_TRY_RESIZE:
3784 		{
3785 			QVariant data;
3786 			if (decode(res, data)) {
3787 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for ui_try_resize");
3788 				return;
3789 			} else {
3790 				emit on_ui_try_resize(data);
3791 			}
3792 
3793 		}
3794 		break;
3795 	case NeovimApi5::NEOVIM_FN_VIM_COMMAND:
3796 		{
3797 			emit on_vim_command();
3798 
3799 		}
3800 		break;
3801 	case NeovimApi5::NEOVIM_FN_VIM_FEEDKEYS:
3802 		{
3803 			emit on_vim_feedkeys();
3804 
3805 		}
3806 		break;
3807 	case NeovimApi5::NEOVIM_FN_VIM_INPUT:
3808 		{
3809 			int64_t data;
3810 			if (decode(res, data)) {
3811 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for vim_input");
3812 				return;
3813 			} else {
3814 				emit on_vim_input(data);
3815 			}
3816 
3817 		}
3818 		break;
3819 	case NeovimApi5::NEOVIM_FN_VIM_REPLACE_TERMCODES:
3820 		{
3821 			QByteArray data;
3822 			if (decode(res, data)) {
3823 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for vim_replace_termcodes");
3824 				return;
3825 			} else {
3826 				emit on_vim_replace_termcodes(data);
3827 			}
3828 
3829 		}
3830 		break;
3831 	case NeovimApi5::NEOVIM_FN_VIM_COMMAND_OUTPUT:
3832 		{
3833 			QByteArray data;
3834 			if (decode(res, data)) {
3835 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for vim_command_output");
3836 				return;
3837 			} else {
3838 				emit on_vim_command_output(data);
3839 			}
3840 
3841 		}
3842 		break;
3843 	case NeovimApi5::NEOVIM_FN_VIM_EVAL:
3844 		{
3845 			QVariant data;
3846 			if (decode(res, data)) {
3847 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for vim_eval");
3848 				return;
3849 			} else {
3850 				emit on_vim_eval(data);
3851 			}
3852 
3853 		}
3854 		break;
3855 	case NeovimApi5::NEOVIM_FN_VIM_CALL_FUNCTION:
3856 		{
3857 			QVariant data;
3858 			if (decode(res, data)) {
3859 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for vim_call_function");
3860 				return;
3861 			} else {
3862 				emit on_vim_call_function(data);
3863 			}
3864 
3865 		}
3866 		break;
3867 	case NeovimApi5::NEOVIM_FN_VIM_STRWIDTH:
3868 		{
3869 			int64_t data;
3870 			if (decode(res, data)) {
3871 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for vim_strwidth");
3872 				return;
3873 			} else {
3874 				emit on_vim_strwidth(data);
3875 			}
3876 
3877 		}
3878 		break;
3879 	case NeovimApi5::NEOVIM_FN_VIM_LIST_RUNTIME_PATHS:
3880 		{
3881 			QList<QByteArray> data;
3882 			if (decode(res, data)) {
3883 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for vim_list_runtime_paths");
3884 				return;
3885 			} else {
3886 				emit on_vim_list_runtime_paths(data);
3887 			}
3888 
3889 		}
3890 		break;
3891 	case NeovimApi5::NEOVIM_FN_VIM_CHANGE_DIRECTORY:
3892 		{
3893 			emit on_vim_change_directory();
3894 
3895 		}
3896 		break;
3897 	case NeovimApi5::NEOVIM_FN_VIM_GET_CURRENT_LINE:
3898 		{
3899 			QByteArray data;
3900 			if (decode(res, data)) {
3901 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for vim_get_current_line");
3902 				return;
3903 			} else {
3904 				emit on_vim_get_current_line(data);
3905 			}
3906 
3907 		}
3908 		break;
3909 	case NeovimApi5::NEOVIM_FN_VIM_SET_CURRENT_LINE:
3910 		{
3911 			emit on_vim_set_current_line();
3912 
3913 		}
3914 		break;
3915 	case NeovimApi5::NEOVIM_FN_VIM_DEL_CURRENT_LINE:
3916 		{
3917 			emit on_vim_del_current_line();
3918 
3919 		}
3920 		break;
3921 	case NeovimApi5::NEOVIM_FN_VIM_GET_VAR:
3922 		{
3923 			QVariant data;
3924 			if (decode(res, data)) {
3925 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for vim_get_var");
3926 				return;
3927 			} else {
3928 				emit on_vim_get_var(data);
3929 			}
3930 
3931 		}
3932 		break;
3933 	case NeovimApi5::NEOVIM_FN_VIM_GET_VVAR:
3934 		{
3935 			QVariant data;
3936 			if (decode(res, data)) {
3937 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for vim_get_vvar");
3938 				return;
3939 			} else {
3940 				emit on_vim_get_vvar(data);
3941 			}
3942 
3943 		}
3944 		break;
3945 	case NeovimApi5::NEOVIM_FN_VIM_GET_OPTION:
3946 		{
3947 			QVariant data;
3948 			if (decode(res, data)) {
3949 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for vim_get_option");
3950 				return;
3951 			} else {
3952 				emit on_vim_get_option(data);
3953 			}
3954 
3955 		}
3956 		break;
3957 	case NeovimApi5::NEOVIM_FN_VIM_SET_OPTION:
3958 		{
3959 			emit on_vim_set_option();
3960 
3961 		}
3962 		break;
3963 	case NeovimApi5::NEOVIM_FN_VIM_OUT_WRITE:
3964 		{
3965 			emit on_vim_out_write();
3966 
3967 		}
3968 		break;
3969 	case NeovimApi5::NEOVIM_FN_VIM_ERR_WRITE:
3970 		{
3971 			emit on_vim_err_write();
3972 
3973 		}
3974 		break;
3975 	case NeovimApi5::NEOVIM_FN_VIM_REPORT_ERROR:
3976 		{
3977 			emit on_vim_report_error();
3978 
3979 		}
3980 		break;
3981 	case NeovimApi5::NEOVIM_FN_VIM_GET_BUFFERS:
3982 		{
3983 			QList<int64_t> data;
3984 			if (decode(res, data)) {
3985 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for vim_get_buffers");
3986 				return;
3987 			} else {
3988 				emit on_vim_get_buffers(data);
3989 			}
3990 
3991 		}
3992 		break;
3993 	case NeovimApi5::NEOVIM_FN_VIM_GET_CURRENT_BUFFER:
3994 		{
3995 			int64_t data;
3996 			if (decode(res, data)) {
3997 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for vim_get_current_buffer");
3998 				return;
3999 			} else {
4000 				emit on_vim_get_current_buffer(data);
4001 			}
4002 
4003 		}
4004 		break;
4005 	case NeovimApi5::NEOVIM_FN_VIM_SET_CURRENT_BUFFER:
4006 		{
4007 			emit on_vim_set_current_buffer();
4008 
4009 		}
4010 		break;
4011 	case NeovimApi5::NEOVIM_FN_VIM_GET_WINDOWS:
4012 		{
4013 			QList<int64_t> data;
4014 			if (decode(res, data)) {
4015 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for vim_get_windows");
4016 				return;
4017 			} else {
4018 				emit on_vim_get_windows(data);
4019 			}
4020 
4021 		}
4022 		break;
4023 	case NeovimApi5::NEOVIM_FN_VIM_GET_CURRENT_WINDOW:
4024 		{
4025 			int64_t data;
4026 			if (decode(res, data)) {
4027 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for vim_get_current_window");
4028 				return;
4029 			} else {
4030 				emit on_vim_get_current_window(data);
4031 			}
4032 
4033 		}
4034 		break;
4035 	case NeovimApi5::NEOVIM_FN_VIM_SET_CURRENT_WINDOW:
4036 		{
4037 			emit on_vim_set_current_window();
4038 
4039 		}
4040 		break;
4041 	case NeovimApi5::NEOVIM_FN_VIM_GET_TABPAGES:
4042 		{
4043 			QList<int64_t> data;
4044 			if (decode(res, data)) {
4045 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for vim_get_tabpages");
4046 				return;
4047 			} else {
4048 				emit on_vim_get_tabpages(data);
4049 			}
4050 
4051 		}
4052 		break;
4053 	case NeovimApi5::NEOVIM_FN_VIM_GET_CURRENT_TABPAGE:
4054 		{
4055 			int64_t data;
4056 			if (decode(res, data)) {
4057 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for vim_get_current_tabpage");
4058 				return;
4059 			} else {
4060 				emit on_vim_get_current_tabpage(data);
4061 			}
4062 
4063 		}
4064 		break;
4065 	case NeovimApi5::NEOVIM_FN_VIM_SET_CURRENT_TABPAGE:
4066 		{
4067 			emit on_vim_set_current_tabpage();
4068 
4069 		}
4070 		break;
4071 	case NeovimApi5::NEOVIM_FN_VIM_SUBSCRIBE:
4072 		{
4073 			emit on_vim_subscribe();
4074 
4075 		}
4076 		break;
4077 	case NeovimApi5::NEOVIM_FN_VIM_UNSUBSCRIBE:
4078 		{
4079 			emit on_vim_unsubscribe();
4080 
4081 		}
4082 		break;
4083 	case NeovimApi5::NEOVIM_FN_VIM_NAME_TO_COLOR:
4084 		{
4085 			int64_t data;
4086 			if (decode(res, data)) {
4087 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for vim_name_to_color");
4088 				return;
4089 			} else {
4090 				emit on_vim_name_to_color(data);
4091 			}
4092 
4093 		}
4094 		break;
4095 	case NeovimApi5::NEOVIM_FN_VIM_GET_COLOR_MAP:
4096 		{
4097 			QVariantMap data;
4098 			if (decode(res, data)) {
4099 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for vim_get_color_map");
4100 				return;
4101 			} else {
4102 				emit on_vim_get_color_map(data);
4103 			}
4104 
4105 		}
4106 		break;
4107 	case NeovimApi5::NEOVIM_FN_WINDOW_GET_BUFFER:
4108 		{
4109 			int64_t data;
4110 			if (decode(res, data)) {
4111 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for window_get_buffer");
4112 				return;
4113 			} else {
4114 				emit on_window_get_buffer(data);
4115 			}
4116 
4117 		}
4118 		break;
4119 	case NeovimApi5::NEOVIM_FN_WINDOW_GET_CURSOR:
4120 		{
4121 			QPoint data;
4122 			if (decode(res, data)) {
4123 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for window_get_cursor");
4124 				return;
4125 			} else {
4126 				emit on_window_get_cursor(data);
4127 			}
4128 
4129 		}
4130 		break;
4131 	case NeovimApi5::NEOVIM_FN_WINDOW_SET_CURSOR:
4132 		{
4133 			emit on_window_set_cursor();
4134 
4135 		}
4136 		break;
4137 	case NeovimApi5::NEOVIM_FN_WINDOW_GET_HEIGHT:
4138 		{
4139 			int64_t data;
4140 			if (decode(res, data)) {
4141 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for window_get_height");
4142 				return;
4143 			} else {
4144 				emit on_window_get_height(data);
4145 			}
4146 
4147 		}
4148 		break;
4149 	case NeovimApi5::NEOVIM_FN_WINDOW_SET_HEIGHT:
4150 		{
4151 			emit on_window_set_height();
4152 
4153 		}
4154 		break;
4155 	case NeovimApi5::NEOVIM_FN_WINDOW_GET_WIDTH:
4156 		{
4157 			int64_t data;
4158 			if (decode(res, data)) {
4159 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for window_get_width");
4160 				return;
4161 			} else {
4162 				emit on_window_get_width(data);
4163 			}
4164 
4165 		}
4166 		break;
4167 	case NeovimApi5::NEOVIM_FN_WINDOW_SET_WIDTH:
4168 		{
4169 			emit on_window_set_width();
4170 
4171 		}
4172 		break;
4173 	case NeovimApi5::NEOVIM_FN_WINDOW_GET_VAR:
4174 		{
4175 			QVariant data;
4176 			if (decode(res, data)) {
4177 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for window_get_var");
4178 				return;
4179 			} else {
4180 				emit on_window_get_var(data);
4181 			}
4182 
4183 		}
4184 		break;
4185 	case NeovimApi5::NEOVIM_FN_WINDOW_GET_OPTION:
4186 		{
4187 			QVariant data;
4188 			if (decode(res, data)) {
4189 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for window_get_option");
4190 				return;
4191 			} else {
4192 				emit on_window_get_option(data);
4193 			}
4194 
4195 		}
4196 		break;
4197 	case NeovimApi5::NEOVIM_FN_WINDOW_SET_OPTION:
4198 		{
4199 			emit on_window_set_option();
4200 
4201 		}
4202 		break;
4203 	case NeovimApi5::NEOVIM_FN_WINDOW_GET_POSITION:
4204 		{
4205 			QPoint data;
4206 			if (decode(res, data)) {
4207 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for window_get_position");
4208 				return;
4209 			} else {
4210 				emit on_window_get_position(data);
4211 			}
4212 
4213 		}
4214 		break;
4215 	case NeovimApi5::NEOVIM_FN_WINDOW_GET_TABPAGE:
4216 		{
4217 			int64_t data;
4218 			if (decode(res, data)) {
4219 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for window_get_tabpage");
4220 				return;
4221 			} else {
4222 				emit on_window_get_tabpage(data);
4223 			}
4224 
4225 		}
4226 		break;
4227 	case NeovimApi5::NEOVIM_FN_WINDOW_IS_VALID:
4228 		{
4229 			bool data;
4230 			if (decode(res, data)) {
4231 				m_c->setError(NeovimConnector::RuntimeMsgpackError, "Error unpacking return type for window_is_valid");
4232 				return;
4233 			} else {
4234 				emit on_window_is_valid(data);
4235 			}
4236 
4237 		}
4238 		break;
4239 	default:
4240 		qWarning() << "Received unexpected response";
4241 	}
4242 }
4243 
4244 /**
4245  * Check function table from api_metadata[1]
4246  *
4247  * This checks the API metadata build from the bindings against the metadata
4248  * passed as argument.
4249  *
4250  * Returns false if there is an API mismatch
4251  */
checkFunctions(const QVariantList & ftable)4252 bool NeovimApi5::checkFunctions(const QVariantList& ftable)
4253 {
4254 
4255 	QList<Function> required;
4256 	required
4257 		<< Function("Integer", "nvim_buf_line_count",
4258 			QList<QString>()
4259 						<< QString("Buffer")
4260 						, false)
4261 		<< Function("String", "buffer_get_line",
4262 			QList<QString>()
4263 						<< QString("Buffer")
4264 						<< QString("Integer")
4265 						, false)
4266 		<< Function("Boolean", "nvim_buf_attach",
4267 			QList<QString>()
4268 						<< QString("Buffer")
4269 						<< QString("Boolean")
4270 						<< QString("Dictionary")
4271 						, false)
4272 		<< Function("Boolean", "nvim_buf_detach",
4273 			QList<QString>()
4274 						<< QString("Buffer")
4275 						, false)
4276 		<< Function("void", "buffer_set_line",
4277 			QList<QString>()
4278 						<< QString("Buffer")
4279 						<< QString("Integer")
4280 						<< QString("String")
4281 						, false)
4282 		<< Function("void", "buffer_del_line",
4283 			QList<QString>()
4284 						<< QString("Buffer")
4285 						<< QString("Integer")
4286 						, false)
4287 		<< Function("ArrayOf(String)", "buffer_get_line_slice",
4288 			QList<QString>()
4289 						<< QString("Buffer")
4290 						<< QString("Integer")
4291 						<< QString("Integer")
4292 						<< QString("Boolean")
4293 						<< QString("Boolean")
4294 						, false)
4295 		<< Function("ArrayOf(String)", "nvim_buf_get_lines",
4296 			QList<QString>()
4297 						<< QString("Buffer")
4298 						<< QString("Integer")
4299 						<< QString("Integer")
4300 						<< QString("Boolean")
4301 						, false)
4302 		<< Function("void", "buffer_set_line_slice",
4303 			QList<QString>()
4304 						<< QString("Buffer")
4305 						<< QString("Integer")
4306 						<< QString("Integer")
4307 						<< QString("Boolean")
4308 						<< QString("Boolean")
4309 						<< QString("ArrayOf(String)")
4310 						, false)
4311 		<< Function("void", "nvim_buf_set_lines",
4312 			QList<QString>()
4313 						<< QString("Buffer")
4314 						<< QString("Integer")
4315 						<< QString("Integer")
4316 						<< QString("Boolean")
4317 						<< QString("ArrayOf(String)")
4318 						, false)
4319 		<< Function("Integer", "nvim_buf_get_offset",
4320 			QList<QString>()
4321 						<< QString("Buffer")
4322 						<< QString("Integer")
4323 						, false)
4324 		<< Function("Object", "nvim_buf_get_var",
4325 			QList<QString>()
4326 						<< QString("Buffer")
4327 						<< QString("String")
4328 						, false)
4329 		<< Function("Integer", "nvim_buf_get_changedtick",
4330 			QList<QString>()
4331 						<< QString("Buffer")
4332 						, false)
4333 		<< Function("ArrayOf(Dictionary)", "nvim_buf_get_keymap",
4334 			QList<QString>()
4335 						<< QString("Buffer")
4336 						<< QString("String")
4337 						, false)
4338 		<< Function("Dictionary", "nvim_buf_get_commands",
4339 			QList<QString>()
4340 						<< QString("Buffer")
4341 						<< QString("Dictionary")
4342 						, false)
4343 		<< Function("void", "nvim_buf_set_var",
4344 			QList<QString>()
4345 						<< QString("Buffer")
4346 						<< QString("String")
4347 						<< QString("Object")
4348 						, false)
4349 		<< Function("void", "nvim_buf_del_var",
4350 			QList<QString>()
4351 						<< QString("Buffer")
4352 						<< QString("String")
4353 						, false)
4354 		<< Function("Object", "buffer_set_var",
4355 			QList<QString>()
4356 						<< QString("Buffer")
4357 						<< QString("String")
4358 						<< QString("Object")
4359 						, false)
4360 		<< Function("Object", "buffer_del_var",
4361 			QList<QString>()
4362 						<< QString("Buffer")
4363 						<< QString("String")
4364 						, false)
4365 		<< Function("Object", "nvim_buf_get_option",
4366 			QList<QString>()
4367 						<< QString("Buffer")
4368 						<< QString("String")
4369 						, false)
4370 		<< Function("void", "nvim_buf_set_option",
4371 			QList<QString>()
4372 						<< QString("Buffer")
4373 						<< QString("String")
4374 						<< QString("Object")
4375 						, false)
4376 		<< Function("Integer", "nvim_buf_get_number",
4377 			QList<QString>()
4378 						<< QString("Buffer")
4379 						, false)
4380 		<< Function("String", "nvim_buf_get_name",
4381 			QList<QString>()
4382 						<< QString("Buffer")
4383 						, false)
4384 		<< Function("void", "nvim_buf_set_name",
4385 			QList<QString>()
4386 						<< QString("Buffer")
4387 						<< QString("String")
4388 						, false)
4389 		<< Function("Boolean", "nvim_buf_is_loaded",
4390 			QList<QString>()
4391 						<< QString("Buffer")
4392 						, false)
4393 		<< Function("Boolean", "nvim_buf_is_valid",
4394 			QList<QString>()
4395 						<< QString("Buffer")
4396 						, false)
4397 		<< Function("void", "buffer_insert",
4398 			QList<QString>()
4399 						<< QString("Buffer")
4400 						<< QString("Integer")
4401 						<< QString("ArrayOf(String)")
4402 						, false)
4403 		<< Function("ArrayOf(Integer, 2)", "nvim_buf_get_mark",
4404 			QList<QString>()
4405 						<< QString("Buffer")
4406 						<< QString("String")
4407 						, false)
4408 		<< Function("Integer", "nvim_buf_add_highlight",
4409 			QList<QString>()
4410 						<< QString("Buffer")
4411 						<< QString("Integer")
4412 						<< QString("String")
4413 						<< QString("Integer")
4414 						<< QString("Integer")
4415 						<< QString("Integer")
4416 						, false)
4417 		<< Function("void", "nvim_buf_clear_namespace",
4418 			QList<QString>()
4419 						<< QString("Buffer")
4420 						<< QString("Integer")
4421 						<< QString("Integer")
4422 						<< QString("Integer")
4423 						, false)
4424 		<< Function("void", "nvim_buf_clear_highlight",
4425 			QList<QString>()
4426 						<< QString("Buffer")
4427 						<< QString("Integer")
4428 						<< QString("Integer")
4429 						<< QString("Integer")
4430 						, false)
4431 		<< Function("Integer", "nvim_buf_set_virtual_text",
4432 			QList<QString>()
4433 						<< QString("Buffer")
4434 						<< QString("Integer")
4435 						<< QString("Integer")
4436 						<< QString("Array")
4437 						<< QString("Dictionary")
4438 						, false)
4439 		<< Function("ArrayOf(Window)", "nvim_tabpage_list_wins",
4440 			QList<QString>()
4441 						<< QString("Tabpage")
4442 						, false)
4443 		<< Function("Object", "nvim_tabpage_get_var",
4444 			QList<QString>()
4445 						<< QString("Tabpage")
4446 						<< QString("String")
4447 						, false)
4448 		<< Function("void", "nvim_tabpage_set_var",
4449 			QList<QString>()
4450 						<< QString("Tabpage")
4451 						<< QString("String")
4452 						<< QString("Object")
4453 						, false)
4454 		<< Function("void", "nvim_tabpage_del_var",
4455 			QList<QString>()
4456 						<< QString("Tabpage")
4457 						<< QString("String")
4458 						, false)
4459 		<< Function("Object", "tabpage_set_var",
4460 			QList<QString>()
4461 						<< QString("Tabpage")
4462 						<< QString("String")
4463 						<< QString("Object")
4464 						, false)
4465 		<< Function("Object", "tabpage_del_var",
4466 			QList<QString>()
4467 						<< QString("Tabpage")
4468 						<< QString("String")
4469 						, false)
4470 		<< Function("Window", "nvim_tabpage_get_win",
4471 			QList<QString>()
4472 						<< QString("Tabpage")
4473 						, false)
4474 		<< Function("Integer", "nvim_tabpage_get_number",
4475 			QList<QString>()
4476 						<< QString("Tabpage")
4477 						, false)
4478 		<< Function("Boolean", "nvim_tabpage_is_valid",
4479 			QList<QString>()
4480 						<< QString("Tabpage")
4481 						, false)
4482 		<< Function("void", "nvim_ui_attach",
4483 			QList<QString>()
4484 						<< QString("Integer")
4485 						<< QString("Integer")
4486 						<< QString("Dictionary")
4487 						, false)
4488 		<< Function("void", "ui_attach",
4489 			QList<QString>()
4490 						<< QString("Integer")
4491 						<< QString("Integer")
4492 						<< QString("Boolean")
4493 						, false)
4494 		<< Function("void", "nvim_ui_detach",
4495 			QList<QString>()
4496 						, false)
4497 		<< Function("void", "nvim_ui_try_resize",
4498 			QList<QString>()
4499 						<< QString("Integer")
4500 						<< QString("Integer")
4501 						, false)
4502 		<< Function("void", "nvim_ui_set_option",
4503 			QList<QString>()
4504 						<< QString("String")
4505 						<< QString("Object")
4506 						, false)
4507 		<< Function("void", "nvim_command",
4508 			QList<QString>()
4509 						<< QString("String")
4510 						, false)
4511 		<< Function("Dictionary", "nvim_get_hl_by_name",
4512 			QList<QString>()
4513 						<< QString("String")
4514 						<< QString("Boolean")
4515 						, false)
4516 		<< Function("Dictionary", "nvim_get_hl_by_id",
4517 			QList<QString>()
4518 						<< QString("Integer")
4519 						<< QString("Boolean")
4520 						, false)
4521 		<< Function("void", "nvim_feedkeys",
4522 			QList<QString>()
4523 						<< QString("String")
4524 						<< QString("String")
4525 						<< QString("Boolean")
4526 						, false)
4527 		<< Function("Integer", "nvim_input",
4528 			QList<QString>()
4529 						<< QString("String")
4530 						, false)
4531 		<< Function("String", "nvim_replace_termcodes",
4532 			QList<QString>()
4533 						<< QString("String")
4534 						<< QString("Boolean")
4535 						<< QString("Boolean")
4536 						<< QString("Boolean")
4537 						, false)
4538 		<< Function("String", "nvim_command_output",
4539 			QList<QString>()
4540 						<< QString("String")
4541 						, false)
4542 		<< Function("Object", "nvim_eval",
4543 			QList<QString>()
4544 						<< QString("String")
4545 						, false)
4546 		<< Function("Object", "nvim_execute_lua",
4547 			QList<QString>()
4548 						<< QString("String")
4549 						<< QString("Array")
4550 						, false)
4551 		<< Function("Object", "nvim_call_function",
4552 			QList<QString>()
4553 						<< QString("String")
4554 						<< QString("Array")
4555 						, false)
4556 		<< Function("Object", "nvim_call_dict_function",
4557 			QList<QString>()
4558 						<< QString("Object")
4559 						<< QString("String")
4560 						<< QString("Array")
4561 						, false)
4562 		<< Function("Integer", "nvim_strwidth",
4563 			QList<QString>()
4564 						<< QString("String")
4565 						, false)
4566 		<< Function("ArrayOf(String)", "nvim_list_runtime_paths",
4567 			QList<QString>()
4568 						, false)
4569 		<< Function("void", "nvim_set_current_dir",
4570 			QList<QString>()
4571 						<< QString("String")
4572 						, false)
4573 		<< Function("String", "nvim_get_current_line",
4574 			QList<QString>()
4575 						, false)
4576 		<< Function("void", "nvim_set_current_line",
4577 			QList<QString>()
4578 						<< QString("String")
4579 						, false)
4580 		<< Function("void", "nvim_del_current_line",
4581 			QList<QString>()
4582 						, false)
4583 		<< Function("Object", "nvim_get_var",
4584 			QList<QString>()
4585 						<< QString("String")
4586 						, false)
4587 		<< Function("void", "nvim_set_var",
4588 			QList<QString>()
4589 						<< QString("String")
4590 						<< QString("Object")
4591 						, false)
4592 		<< Function("void", "nvim_del_var",
4593 			QList<QString>()
4594 						<< QString("String")
4595 						, false)
4596 		<< Function("Object", "vim_set_var",
4597 			QList<QString>()
4598 						<< QString("String")
4599 						<< QString("Object")
4600 						, false)
4601 		<< Function("Object", "vim_del_var",
4602 			QList<QString>()
4603 						<< QString("String")
4604 						, false)
4605 		<< Function("Object", "nvim_get_vvar",
4606 			QList<QString>()
4607 						<< QString("String")
4608 						, false)
4609 		<< Function("Object", "nvim_get_option",
4610 			QList<QString>()
4611 						<< QString("String")
4612 						, false)
4613 		<< Function("void", "nvim_set_option",
4614 			QList<QString>()
4615 						<< QString("String")
4616 						<< QString("Object")
4617 						, false)
4618 		<< Function("void", "nvim_out_write",
4619 			QList<QString>()
4620 						<< QString("String")
4621 						, false)
4622 		<< Function("void", "nvim_err_write",
4623 			QList<QString>()
4624 						<< QString("String")
4625 						, false)
4626 		<< Function("void", "nvim_err_writeln",
4627 			QList<QString>()
4628 						<< QString("String")
4629 						, false)
4630 		<< Function("ArrayOf(Buffer)", "nvim_list_bufs",
4631 			QList<QString>()
4632 						, false)
4633 		<< Function("Buffer", "nvim_get_current_buf",
4634 			QList<QString>()
4635 						, false)
4636 		<< Function("void", "nvim_set_current_buf",
4637 			QList<QString>()
4638 						<< QString("Buffer")
4639 						, false)
4640 		<< Function("ArrayOf(Window)", "nvim_list_wins",
4641 			QList<QString>()
4642 						, false)
4643 		<< Function("Window", "nvim_get_current_win",
4644 			QList<QString>()
4645 						, false)
4646 		<< Function("void", "nvim_set_current_win",
4647 			QList<QString>()
4648 						<< QString("Window")
4649 						, false)
4650 		<< Function("ArrayOf(Tabpage)", "nvim_list_tabpages",
4651 			QList<QString>()
4652 						, false)
4653 		<< Function("Tabpage", "nvim_get_current_tabpage",
4654 			QList<QString>()
4655 						, false)
4656 		<< Function("void", "nvim_set_current_tabpage",
4657 			QList<QString>()
4658 						<< QString("Tabpage")
4659 						, false)
4660 		<< Function("Integer", "nvim_create_namespace",
4661 			QList<QString>()
4662 						<< QString("String")
4663 						, false)
4664 		<< Function("Dictionary", "nvim_get_namespaces",
4665 			QList<QString>()
4666 						, false)
4667 		<< Function("void", "nvim_subscribe",
4668 			QList<QString>()
4669 						<< QString("String")
4670 						, false)
4671 		<< Function("void", "nvim_unsubscribe",
4672 			QList<QString>()
4673 						<< QString("String")
4674 						, false)
4675 		<< Function("Integer", "nvim_get_color_by_name",
4676 			QList<QString>()
4677 						<< QString("String")
4678 						, false)
4679 		<< Function("Dictionary", "nvim_get_color_map",
4680 			QList<QString>()
4681 						, false)
4682 		<< Function("Dictionary", "nvim_get_mode",
4683 			QList<QString>()
4684 						, false)
4685 		<< Function("ArrayOf(Dictionary)", "nvim_get_keymap",
4686 			QList<QString>()
4687 						<< QString("String")
4688 						, false)
4689 		<< Function("Dictionary", "nvim_get_commands",
4690 			QList<QString>()
4691 						<< QString("Dictionary")
4692 						, false)
4693 		<< Function("Array", "nvim_get_api_info",
4694 			QList<QString>()
4695 						, false)
4696 		<< Function("void", "nvim_set_client_info",
4697 			QList<QString>()
4698 						<< QString("String")
4699 						<< QString("Dictionary")
4700 						<< QString("String")
4701 						<< QString("Dictionary")
4702 						<< QString("Dictionary")
4703 						, false)
4704 		<< Function("Dictionary", "nvim_get_chan_info",
4705 			QList<QString>()
4706 						<< QString("Integer")
4707 						, false)
4708 		<< Function("Array", "nvim_list_chans",
4709 			QList<QString>()
4710 						, false)
4711 		<< Function("Array", "nvim_call_atomic",
4712 			QList<QString>()
4713 						<< QString("Array")
4714 						, false)
4715 		<< Function("Dictionary", "nvim_parse_expression",
4716 			QList<QString>()
4717 						<< QString("String")
4718 						<< QString("String")
4719 						<< QString("Boolean")
4720 						, false)
4721 		<< Function("Array", "nvim_list_uis",
4722 			QList<QString>()
4723 						, false)
4724 		<< Function("Array", "nvim_get_proc_children",
4725 			QList<QString>()
4726 						<< QString("Integer")
4727 						, false)
4728 		<< Function("Object", "nvim_get_proc",
4729 			QList<QString>()
4730 						<< QString("Integer")
4731 						, false)
4732 		<< Function("Buffer", "nvim_win_get_buf",
4733 			QList<QString>()
4734 						<< QString("Window")
4735 						, false)
4736 		<< Function("void", "nvim_win_set_buf",
4737 			QList<QString>()
4738 						<< QString("Window")
4739 						<< QString("Buffer")
4740 						, false)
4741 		<< Function("ArrayOf(Integer, 2)", "nvim_win_get_cursor",
4742 			QList<QString>()
4743 						<< QString("Window")
4744 						, false)
4745 		<< Function("void", "nvim_win_set_cursor",
4746 			QList<QString>()
4747 						<< QString("Window")
4748 						<< QString("ArrayOf(Integer, 2)")
4749 						, false)
4750 		<< Function("Integer", "nvim_win_get_height",
4751 			QList<QString>()
4752 						<< QString("Window")
4753 						, false)
4754 		<< Function("void", "nvim_win_set_height",
4755 			QList<QString>()
4756 						<< QString("Window")
4757 						<< QString("Integer")
4758 						, false)
4759 		<< Function("Integer", "nvim_win_get_width",
4760 			QList<QString>()
4761 						<< QString("Window")
4762 						, false)
4763 		<< Function("void", "nvim_win_set_width",
4764 			QList<QString>()
4765 						<< QString("Window")
4766 						<< QString("Integer")
4767 						, false)
4768 		<< Function("Object", "nvim_win_get_var",
4769 			QList<QString>()
4770 						<< QString("Window")
4771 						<< QString("String")
4772 						, false)
4773 		<< Function("void", "nvim_win_set_var",
4774 			QList<QString>()
4775 						<< QString("Window")
4776 						<< QString("String")
4777 						<< QString("Object")
4778 						, false)
4779 		<< Function("void", "nvim_win_del_var",
4780 			QList<QString>()
4781 						<< QString("Window")
4782 						<< QString("String")
4783 						, false)
4784 		<< Function("Object", "window_set_var",
4785 			QList<QString>()
4786 						<< QString("Window")
4787 						<< QString("String")
4788 						<< QString("Object")
4789 						, false)
4790 		<< Function("Object", "window_del_var",
4791 			QList<QString>()
4792 						<< QString("Window")
4793 						<< QString("String")
4794 						, false)
4795 		<< Function("Object", "nvim_win_get_option",
4796 			QList<QString>()
4797 						<< QString("Window")
4798 						<< QString("String")
4799 						, false)
4800 		<< Function("void", "nvim_win_set_option",
4801 			QList<QString>()
4802 						<< QString("Window")
4803 						<< QString("String")
4804 						<< QString("Object")
4805 						, false)
4806 		<< Function("ArrayOf(Integer, 2)", "nvim_win_get_position",
4807 			QList<QString>()
4808 						<< QString("Window")
4809 						, false)
4810 		<< Function("Tabpage", "nvim_win_get_tabpage",
4811 			QList<QString>()
4812 						<< QString("Window")
4813 						, false)
4814 		<< Function("Integer", "nvim_win_get_number",
4815 			QList<QString>()
4816 						<< QString("Window")
4817 						, false)
4818 		<< Function("Boolean", "nvim_win_is_valid",
4819 			QList<QString>()
4820 						<< QString("Window")
4821 						, false)
4822 		<< Function("Integer", "buffer_line_count",
4823 			QList<QString>()
4824 						<< QString("Buffer")
4825 						, false)
4826 		<< Function("ArrayOf(String)", "buffer_get_lines",
4827 			QList<QString>()
4828 						<< QString("Buffer")
4829 						<< QString("Integer")
4830 						<< QString("Integer")
4831 						<< QString("Boolean")
4832 						, false)
4833 		<< Function("void", "buffer_set_lines",
4834 			QList<QString>()
4835 						<< QString("Buffer")
4836 						<< QString("Integer")
4837 						<< QString("Integer")
4838 						<< QString("Boolean")
4839 						<< QString("ArrayOf(String)")
4840 						, false)
4841 		<< Function("Object", "buffer_get_var",
4842 			QList<QString>()
4843 						<< QString("Buffer")
4844 						<< QString("String")
4845 						, false)
4846 		<< Function("Object", "buffer_get_option",
4847 			QList<QString>()
4848 						<< QString("Buffer")
4849 						<< QString("String")
4850 						, false)
4851 		<< Function("void", "buffer_set_option",
4852 			QList<QString>()
4853 						<< QString("Buffer")
4854 						<< QString("String")
4855 						<< QString("Object")
4856 						, false)
4857 		<< Function("Integer", "buffer_get_number",
4858 			QList<QString>()
4859 						<< QString("Buffer")
4860 						, false)
4861 		<< Function("String", "buffer_get_name",
4862 			QList<QString>()
4863 						<< QString("Buffer")
4864 						, false)
4865 		<< Function("void", "buffer_set_name",
4866 			QList<QString>()
4867 						<< QString("Buffer")
4868 						<< QString("String")
4869 						, false)
4870 		<< Function("Boolean", "buffer_is_valid",
4871 			QList<QString>()
4872 						<< QString("Buffer")
4873 						, false)
4874 		<< Function("ArrayOf(Integer, 2)", "buffer_get_mark",
4875 			QList<QString>()
4876 						<< QString("Buffer")
4877 						<< QString("String")
4878 						, false)
4879 		<< Function("Integer", "buffer_add_highlight",
4880 			QList<QString>()
4881 						<< QString("Buffer")
4882 						<< QString("Integer")
4883 						<< QString("String")
4884 						<< QString("Integer")
4885 						<< QString("Integer")
4886 						<< QString("Integer")
4887 						, false)
4888 		<< Function("void", "buffer_clear_highlight",
4889 			QList<QString>()
4890 						<< QString("Buffer")
4891 						<< QString("Integer")
4892 						<< QString("Integer")
4893 						<< QString("Integer")
4894 						, false)
4895 		<< Function("ArrayOf(Window)", "tabpage_get_windows",
4896 			QList<QString>()
4897 						<< QString("Tabpage")
4898 						, false)
4899 		<< Function("Object", "tabpage_get_var",
4900 			QList<QString>()
4901 						<< QString("Tabpage")
4902 						<< QString("String")
4903 						, false)
4904 		<< Function("Window", "tabpage_get_window",
4905 			QList<QString>()
4906 						<< QString("Tabpage")
4907 						, false)
4908 		<< Function("Boolean", "tabpage_is_valid",
4909 			QList<QString>()
4910 						<< QString("Tabpage")
4911 						, false)
4912 		<< Function("void", "ui_detach",
4913 			QList<QString>()
4914 						, false)
4915 		<< Function("Object", "ui_try_resize",
4916 			QList<QString>()
4917 						<< QString("Integer")
4918 						<< QString("Integer")
4919 						, false)
4920 		<< Function("void", "vim_command",
4921 			QList<QString>()
4922 						<< QString("String")
4923 						, false)
4924 		<< Function("void", "vim_feedkeys",
4925 			QList<QString>()
4926 						<< QString("String")
4927 						<< QString("String")
4928 						<< QString("Boolean")
4929 						, false)
4930 		<< Function("Integer", "vim_input",
4931 			QList<QString>()
4932 						<< QString("String")
4933 						, false)
4934 		<< Function("String", "vim_replace_termcodes",
4935 			QList<QString>()
4936 						<< QString("String")
4937 						<< QString("Boolean")
4938 						<< QString("Boolean")
4939 						<< QString("Boolean")
4940 						, false)
4941 		<< Function("String", "vim_command_output",
4942 			QList<QString>()
4943 						<< QString("String")
4944 						, false)
4945 		<< Function("Object", "vim_eval",
4946 			QList<QString>()
4947 						<< QString("String")
4948 						, false)
4949 		<< Function("Object", "vim_call_function",
4950 			QList<QString>()
4951 						<< QString("String")
4952 						<< QString("Array")
4953 						, false)
4954 		<< Function("Integer", "vim_strwidth",
4955 			QList<QString>()
4956 						<< QString("String")
4957 						, false)
4958 		<< Function("ArrayOf(String)", "vim_list_runtime_paths",
4959 			QList<QString>()
4960 						, false)
4961 		<< Function("void", "vim_change_directory",
4962 			QList<QString>()
4963 						<< QString("String")
4964 						, false)
4965 		<< Function("String", "vim_get_current_line",
4966 			QList<QString>()
4967 						, false)
4968 		<< Function("void", "vim_set_current_line",
4969 			QList<QString>()
4970 						<< QString("String")
4971 						, false)
4972 		<< Function("void", "vim_del_current_line",
4973 			QList<QString>()
4974 						, false)
4975 		<< Function("Object", "vim_get_var",
4976 			QList<QString>()
4977 						<< QString("String")
4978 						, false)
4979 		<< Function("Object", "vim_get_vvar",
4980 			QList<QString>()
4981 						<< QString("String")
4982 						, false)
4983 		<< Function("Object", "vim_get_option",
4984 			QList<QString>()
4985 						<< QString("String")
4986 						, false)
4987 		<< Function("void", "vim_set_option",
4988 			QList<QString>()
4989 						<< QString("String")
4990 						<< QString("Object")
4991 						, false)
4992 		<< Function("void", "vim_out_write",
4993 			QList<QString>()
4994 						<< QString("String")
4995 						, false)
4996 		<< Function("void", "vim_err_write",
4997 			QList<QString>()
4998 						<< QString("String")
4999 						, false)
5000 		<< Function("void", "vim_report_error",
5001 			QList<QString>()
5002 						<< QString("String")
5003 						, false)
5004 		<< Function("ArrayOf(Buffer)", "vim_get_buffers",
5005 			QList<QString>()
5006 						, false)
5007 		<< Function("Buffer", "vim_get_current_buffer",
5008 			QList<QString>()
5009 						, false)
5010 		<< Function("void", "vim_set_current_buffer",
5011 			QList<QString>()
5012 						<< QString("Buffer")
5013 						, false)
5014 		<< Function("ArrayOf(Window)", "vim_get_windows",
5015 			QList<QString>()
5016 						, false)
5017 		<< Function("Window", "vim_get_current_window",
5018 			QList<QString>()
5019 						, false)
5020 		<< Function("void", "vim_set_current_window",
5021 			QList<QString>()
5022 						<< QString("Window")
5023 						, false)
5024 		<< Function("ArrayOf(Tabpage)", "vim_get_tabpages",
5025 			QList<QString>()
5026 						, false)
5027 		<< Function("Tabpage", "vim_get_current_tabpage",
5028 			QList<QString>()
5029 						, false)
5030 		<< Function("void", "vim_set_current_tabpage",
5031 			QList<QString>()
5032 						<< QString("Tabpage")
5033 						, false)
5034 		<< Function("void", "vim_subscribe",
5035 			QList<QString>()
5036 						<< QString("String")
5037 						, false)
5038 		<< Function("void", "vim_unsubscribe",
5039 			QList<QString>()
5040 						<< QString("String")
5041 						, false)
5042 		<< Function("Integer", "vim_name_to_color",
5043 			QList<QString>()
5044 						<< QString("String")
5045 						, false)
5046 		<< Function("Dictionary", "vim_get_color_map",
5047 			QList<QString>()
5048 						, false)
5049 		<< Function("Buffer", "window_get_buffer",
5050 			QList<QString>()
5051 						<< QString("Window")
5052 						, false)
5053 		<< Function("ArrayOf(Integer, 2)", "window_get_cursor",
5054 			QList<QString>()
5055 						<< QString("Window")
5056 						, false)
5057 		<< Function("void", "window_set_cursor",
5058 			QList<QString>()
5059 						<< QString("Window")
5060 						<< QString("ArrayOf(Integer, 2)")
5061 						, false)
5062 		<< Function("Integer", "window_get_height",
5063 			QList<QString>()
5064 						<< QString("Window")
5065 						, false)
5066 		<< Function("void", "window_set_height",
5067 			QList<QString>()
5068 						<< QString("Window")
5069 						<< QString("Integer")
5070 						, false)
5071 		<< Function("Integer", "window_get_width",
5072 			QList<QString>()
5073 						<< QString("Window")
5074 						, false)
5075 		<< Function("void", "window_set_width",
5076 			QList<QString>()
5077 						<< QString("Window")
5078 						<< QString("Integer")
5079 						, false)
5080 		<< Function("Object", "window_get_var",
5081 			QList<QString>()
5082 						<< QString("Window")
5083 						<< QString("String")
5084 						, false)
5085 		<< Function("Object", "window_get_option",
5086 			QList<QString>()
5087 						<< QString("Window")
5088 						<< QString("String")
5089 						, false)
5090 		<< Function("void", "window_set_option",
5091 			QList<QString>()
5092 						<< QString("Window")
5093 						<< QString("String")
5094 						<< QString("Object")
5095 						, false)
5096 		<< Function("ArrayOf(Integer, 2)", "window_get_position",
5097 			QList<QString>()
5098 						<< QString("Window")
5099 						, false)
5100 		<< Function("Tabpage", "window_get_tabpage",
5101 			QList<QString>()
5102 						<< QString("Window")
5103 						, false)
5104 		<< Function("Boolean", "window_is_valid",
5105 			QList<QString>()
5106 						<< QString("Window")
5107 						, false)
5108 		;
5109 
5110 
5111 	QList<Function> supported;
5112 	foreach(const QVariant& val, ftable) {
5113 		auto f = Function::fromVariant(val);
5114 		if (!f.isValid()) {
5115 			qDebug() << "Invalid function in metadata" << f;
5116 			continue;
5117 		}
5118 		supported.append(f);
5119 
5120 		if (!required.contains(f)) {
5121 			qDebug() << "Unknown function(api 5)" << f;
5122 		}
5123 	}
5124 
5125 	bool ok = true;
5126 	foreach(const Function& f, required) {
5127 		if (!supported.contains(f)) {
5128 			qDebug() << "- instance DOES NOT support API5:" << f;
5129 			ok = false;
5130 		}
5131 	}
5132 	return ok;
5133 }
5134 
5135 } // Namespace