rsnvim 0.1.2

A Rust RPC interface for Neovim
Documentation
use rmpv::Value;

use crate::api::*;
use crate::error::Error;
use crate::value_vec;

/// The below implementations are autogenerated using the Neovim API
impl Tabpage {
    /// Since: 1
    pub fn list_wins(&mut self) -> Result<Vec<Window>, Error> {
        let mut session = self.session.lock().unwrap();
        let ret = session.call("nvim_tabpage_list_wins", value_vec!(self.data))?;
        Ok(ret
            .as_array()
            .unwrap()
            .iter()
            .map(|x| Window {
                data: x.clone(),
                session: self.session.clone(),
            })
            .collect())
    }

    /// Since: 1
    pub fn get_var(&mut self, name: String) -> Result<Value, Error> {
        let mut session = self.session.lock().unwrap();
        let ret = session.call("nvim_tabpage_get_var", value_vec!(self.data, name))?;
        Ok(ret.to_owned())
    }

    /// Since: 1
    pub fn set_var(&mut self, name: String, value: Value) -> Result<(), Error> {
        let mut session = self.session.lock().unwrap();
        session.call("nvim_tabpage_set_var", value_vec!(self.data, name, value))?;
        Ok(())
    }

    /// Since: 1
    pub fn del_var(&mut self, name: String) -> Result<(), Error> {
        let mut session = self.session.lock().unwrap();
        session.call("nvim_tabpage_del_var", value_vec!(self.data, name))?;
        Ok(())
    }

    /// Since: 1
    pub fn get_win(&mut self) -> Result<Window, Error> {
        let mut session = self.session.lock().unwrap();
        let ret = session.call("nvim_tabpage_get_win", value_vec!(self.data))?;
        Ok(Window {
            data: ret.clone(),
            session: self.session.clone(),
        })
    }

    /// Since: 1
    pub fn get_number(&mut self) -> Result<i64, Error> {
        let mut session = self.session.lock().unwrap();
        let ret = session.call("nvim_tabpage_get_number", value_vec!(self.data))?;
        Ok(ret.as_i64().unwrap())
    }

    /// Since: 1
    pub fn is_valid(&mut self) -> Result<bool, Error> {
        let mut session = self.session.lock().unwrap();
        let ret = session.call("nvim_tabpage_is_valid", value_vec!(self.data))?;
        Ok(ret.as_bool().unwrap())
    }
}