use crate::{msgpack::Message, Neovim};
use rmpv::Value;
pub struct Command {
cmd: String,
range: Option<(usize, usize)>,
count: Option<usize>,
reg: Option<String>,
bang: bool,
args: Vec<String>,
addr: Option<String>,
nargs: Option<String>,
nextcmd: Option<String>,
magic: Option<Vec<(String, bool)>>,
mods: Option<Vec<()>>,
}
impl Command {
pub fn new(cmd: impl Into<String>) -> Self {
Self {
cmd: cmd.into(),
range: None,
count: None,
reg: None,
bang: false,
args: Vec::new(),
addr: None,
nargs: None,
nextcmd: None,
magic: None,
mods: None,
}
}
pub fn arg(&mut self, arg: impl Into<String>) -> &mut Self {
self
}
pub fn bang(&mut self, enabled: bool) -> &mut Self {
self
}
}
impl Neovim {
pub async fn perform(&self) {}
}