nvim_api/ffi/
vimscript.rs1use nvim_types::{
2 Array,
3 Boolean,
4 Dictionary,
5 Error,
6 NonOwning,
7 Object,
8 String,
9};
10
11extern "C" {
12 pub(crate) fn nvim_call_dict_function(
14 dict: NonOwning<Object>,
15 r#fn: NonOwning<String>,
16 args: NonOwning<Array>,
17 err: *mut Error,
18 ) -> Object;
19
20 pub(crate) fn nvim_call_function(
22 r#fn: NonOwning<String>,
23 args: NonOwning<Array>,
24 err: *mut Error,
25 ) -> Object;
26
27 #[cfg(any(feature = "neovim-0-8", feature = "neovim-nightly"))]
29 pub(crate) fn nvim_cmd(
30 channel_id: u64,
31 cmd: *const crate::types::KeyDict_cmd,
32 opts: *const crate::opts::KeyDict_cmd_opts,
33 err: *mut Error,
34 ) -> String;
35
36 pub(crate) fn nvim_command(command: NonOwning<String>, err: *mut Error);
38
39 pub(crate) fn nvim_eval(
41 expr: NonOwning<String>,
42 err: *mut Error,
43 ) -> Object;
44
45 pub(crate) fn nvim_exec(
47 channel_id: u64,
48 src: NonOwning<String>,
49 output: Boolean,
50 error: *mut Error,
51 ) -> String;
52
53 #[cfg(any(feature = "neovim-0-8", feature = "neovim-nightly"))]
55 pub(crate) fn nvim_parse_cmd(
56 src: NonOwning<String>,
57 opts: NonOwning<Dictionary>,
58 error: *mut Error,
59 ) -> Dictionary;
60
61 pub fn nvim_parse_expression(
63 expr: NonOwning<String>,
64 flags: NonOwning<String>,
65 highlight: bool,
66 err: *mut Error,
67 ) -> Dictionary;
68}