mirror of
https://github.com/noib3/nvim-oxi.git
synced 2025-08-04 19:08:31 +00:00
Update CreateAugroupOpts
on nightly
This commit is contained in:
parent
af3558aa97
commit
21994a2b75
2 changed files with 31 additions and 15 deletions
|
@ -1,10 +1,25 @@
|
|||
/// Options passed to [`create_augroup()`](crate::create_augroup).
|
||||
#[cfg(feature = "neovim-nightly")] // Only on Nightly.
|
||||
#[derive(Clone, Debug, Default, macros::OptsBuilder)]
|
||||
#[repr(C)]
|
||||
pub struct CreateAugroupOpts {
|
||||
#[builder(mask)]
|
||||
mask: u64,
|
||||
|
||||
/// Whether to clear existing commands if the group already exists.
|
||||
#[builder(argtype = "bool")]
|
||||
clear: types::Boolean,
|
||||
}
|
||||
|
||||
/// Options passed to [`create_augroup()`](crate::create_augroup).
|
||||
#[cfg(not(feature = "neovim-nightly"))] // On 0.9 and 0.10.
|
||||
#[derive(Clone, Debug, Default)]
|
||||
#[repr(C)]
|
||||
pub struct CreateAugroupOpts {
|
||||
clear: types::Object,
|
||||
}
|
||||
|
||||
#[cfg(not(feature = "neovim-nightly"))] // On 0.9 and 0.10.
|
||||
impl CreateAugroupOpts {
|
||||
#[inline(always)]
|
||||
pub fn builder() -> CreateAugroupOptsBuilder {
|
||||
|
@ -12,9 +27,11 @@ impl CreateAugroupOpts {
|
|||
}
|
||||
}
|
||||
|
||||
#[cfg(not(feature = "neovim-nightly"))] // On 0.9 and 0.10.
|
||||
#[derive(Clone, Default)]
|
||||
pub struct CreateAugroupOptsBuilder(CreateAugroupOpts);
|
||||
|
||||
#[cfg(not(feature = "neovim-nightly"))] // On 0.9 and 0.10.
|
||||
impl CreateAugroupOptsBuilder {
|
||||
/// Whether to clear existing commands if the group already exists.
|
||||
#[inline]
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
use all_asserts::*;
|
||||
use nvim_oxi as oxi;
|
||||
use nvim_oxi::api::{self, opts::*, Buffer};
|
||||
|
||||
#[oxi::test]
|
||||
#[nvim_oxi::test]
|
||||
fn clear_autocmds_current_buf() {
|
||||
let opts = ClearAutocmdsOpts::builder().buffer(0.into()).build();
|
||||
assert_eq!(Ok(()), api::clear_autocmds(&opts));
|
||||
|
@ -11,7 +10,7 @@ fn clear_autocmds_current_buf() {
|
|||
assert_eq!(Ok(()), api::clear_autocmds(&opts));
|
||||
}
|
||||
|
||||
#[oxi::test]
|
||||
#[nvim_oxi::test]
|
||||
fn clear_autocmds_events() {
|
||||
let opts = ClearAutocmdsOpts::builder()
|
||||
.events(["BufFilePre", "BufFilePost"])
|
||||
|
@ -29,7 +28,7 @@ fn clear_autocmds_events() {
|
|||
assert_eq!(Ok(()), api::clear_autocmds(&opts));
|
||||
}
|
||||
|
||||
#[oxi::test]
|
||||
#[nvim_oxi::test]
|
||||
fn clear_autocmds_buffer_n_patterns() {
|
||||
let opts = ClearAutocmdsOpts::builder()
|
||||
.buffer(0.into())
|
||||
|
@ -42,7 +41,7 @@ fn clear_autocmds_buffer_n_patterns() {
|
|||
);
|
||||
}
|
||||
|
||||
#[oxi::test]
|
||||
#[nvim_oxi::test]
|
||||
fn create_augroup() {
|
||||
let opts = CreateAugroupOpts::builder().build();
|
||||
let id = api::create_augroup("Foo", &opts).expect("create_augroup failed");
|
||||
|
@ -53,19 +52,19 @@ fn create_augroup() {
|
|||
assert_eq!(Ok(id), got);
|
||||
}
|
||||
|
||||
#[oxi::test]
|
||||
#[nvim_oxi::test]
|
||||
fn create_autocmd() {
|
||||
let opts = CreateAutocmdOpts::builder()
|
||||
.buffer(0.into())
|
||||
.desc("Does nothing, in the current buffer")
|
||||
.callback(|_args| Ok::<_, oxi::Error>(false))
|
||||
.callback(|_args| Ok::<_, nvim_oxi::Error>(false))
|
||||
.build();
|
||||
|
||||
let id = api::create_autocmd(["VimEnter"], &opts);
|
||||
assert!(id.is_ok(), "{id:?}");
|
||||
}
|
||||
|
||||
#[oxi::test]
|
||||
#[nvim_oxi::test]
|
||||
fn create_autocmd_buffer_n_patterns() {
|
||||
let opts = CreateAutocmdOpts::builder()
|
||||
.command("echo 'hi there'")
|
||||
|
@ -77,7 +76,7 @@ fn create_autocmd_buffer_n_patterns() {
|
|||
assert!(id.is_err(), "{id:?}");
|
||||
}
|
||||
|
||||
#[oxi::test]
|
||||
#[nvim_oxi::test]
|
||||
fn exec_autocmds() {
|
||||
use std::cell::RefCell;
|
||||
use std::rc::Rc;
|
||||
|
@ -90,7 +89,7 @@ fn exec_autocmds() {
|
|||
.callback(move |_args| {
|
||||
let mut i = cloned.borrow_mut();
|
||||
*i += 1;
|
||||
Ok::<_, oxi::Error>(false)
|
||||
Ok::<_, nvim_oxi::Error>(false)
|
||||
})
|
||||
.buffer(Buffer::current())
|
||||
.once(true)
|
||||
|
@ -111,31 +110,31 @@ fn exec_autocmds() {
|
|||
assert_eq!(1, *i.try_borrow().unwrap());
|
||||
}
|
||||
|
||||
#[oxi::test]
|
||||
#[nvim_oxi::test]
|
||||
fn get_autocmds() {
|
||||
let autocmds =
|
||||
api::get_autocmds(&Default::default()).expect("couldn't get autocmds");
|
||||
assert_lt!(0, autocmds.collect::<Vec<_>>().len());
|
||||
}
|
||||
|
||||
#[oxi::test]
|
||||
#[nvim_oxi::test]
|
||||
fn set_del_augroup_by_id() {
|
||||
let id = api::create_augroup("Foo", &Default::default())
|
||||
.expect("create_augroup failed");
|
||||
assert_eq!(Ok(()), api::del_augroup_by_id(id));
|
||||
}
|
||||
|
||||
#[oxi::test]
|
||||
#[nvim_oxi::test]
|
||||
fn set_del_augroup_by_name() {
|
||||
let _ = api::create_augroup("Foo", &Default::default())
|
||||
.expect("create_augroup failed");
|
||||
assert_eq!(Ok(()), api::del_augroup_by_name("Foo"));
|
||||
}
|
||||
|
||||
#[oxi::test]
|
||||
#[nvim_oxi::test]
|
||||
fn set_exec_del_autocmd() {
|
||||
let opts = CreateAutocmdOpts::builder()
|
||||
.callback(|_args| Ok::<_, oxi::Error>(false))
|
||||
.callback(|_args| Ok::<_, nvim_oxi::Error>(false))
|
||||
.build();
|
||||
|
||||
let id = api::create_autocmd(["BufAdd", "BufDelete"], &opts)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue