Compare commits
2 commits
25af468680
...
20aefb99ed
| Author | SHA1 | Date | |
|---|---|---|---|
| 20aefb99ed | |||
| c6b9ffa81b |
6 changed files with 9 additions and 46 deletions
|
|
@ -119,7 +119,6 @@ impl Into<NixideResult<()>> for &ErrorContext {
|
||||||
},
|
},
|
||||||
|
|
||||||
sys::NixErr::Unknown => NixError::Unknown,
|
sys::NixErr::Unknown => NixError::Unknown,
|
||||||
err => NixError::Undocumented(err),
|
|
||||||
};
|
};
|
||||||
|
|
||||||
Err(new_nixide_error!(NixError, inner, err, msg))
|
Err(new_nixide_error!(NixError, inner, err, msg))
|
||||||
|
|
|
||||||
|
|
@ -86,7 +86,7 @@ pub(crate) use new_nixide_error;
|
||||||
macro_rules! retrace_nixide_error {
|
macro_rules! retrace_nixide_error {
|
||||||
($x:expr) => {{ crate::errors::new_nixide_error!($x.err) }};
|
($x:expr) => {{ crate::errors::new_nixide_error!($x.err) }};
|
||||||
}
|
}
|
||||||
pub(crate) use retrace_nixide_error;
|
// pub(crate) use retrace_nixide_error;
|
||||||
|
|
||||||
impl std::error::Error for NixideError {}
|
impl std::error::Error for NixideError {}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,6 @@ mod context;
|
||||||
mod nix_error;
|
mod nix_error;
|
||||||
|
|
||||||
pub(crate) use context::ErrorContext;
|
pub(crate) use context::ErrorContext;
|
||||||
pub(crate) use error::{new_nixide_error, retrace_nixide_error};
|
pub(crate) use error::new_nixide_error;
|
||||||
pub use error::{NixideError, NixideResult};
|
pub use error::{NixideError, NixideResult};
|
||||||
pub use nix_error::NixError;
|
pub use nix_error::NixError;
|
||||||
|
|
|
||||||
|
|
@ -15,6 +15,7 @@ use crate::{NixideResult, Store};
|
||||||
///
|
///
|
||||||
/// This provides the main interface for evaluating Nix expressions
|
/// This provides the main interface for evaluating Nix expressions
|
||||||
/// and creating values.
|
/// and creating values.
|
||||||
|
#[derive(Clone)]
|
||||||
pub struct EvalState {
|
pub struct EvalState {
|
||||||
inner: Rc<RefCell<NonNull<sys::EvalState>>>,
|
inner: Rc<RefCell<NonNull<sys::EvalState>>>,
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -106,8 +106,8 @@ impl EvalStateBuilder {
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn set_lookup_path<P: AsRef<str>>(self, paths: Vec<P>) -> NixideResult<Self> {
|
pub fn set_lookup_path<P: AsRef<str>>(self, paths: Vec<P>) -> NixideResult<Self> {
|
||||||
let paths_len = paths.len();
|
// let paths_len = paths.len();
|
||||||
let paths_capacity = paths.capacity();
|
// let paths_capacity = paths.capacity();
|
||||||
|
|
||||||
// XXX: TODO: use the `AsCArray` trait instead
|
// XXX: TODO: use the `AsCArray` trait instead
|
||||||
let mut ptrs: Vec<*const c_char> = paths
|
let mut ptrs: Vec<*const c_char> = paths
|
||||||
|
|
|
||||||
|
|
@ -1,46 +1,9 @@
|
||||||
use crate::errors::ErrorContext;
|
use crate::errors::ErrorContext;
|
||||||
use crate::sys;
|
use crate::sys;
|
||||||
|
use crate::util::wrap;
|
||||||
use crate::util::wrappers::AsInnerPtr as _;
|
use crate::util::wrappers::AsInnerPtr as _;
|
||||||
use crate::util::{panic_issue_call_failed, wrap};
|
|
||||||
|
|
||||||
/// Verbosity level
|
pub use sys::NixVerbosity;
|
||||||
///
|
|
||||||
/// # NOTE
|
|
||||||
///
|
|
||||||
/// This should be kept in sync with the C++ implementation (nix::Verbosity)
|
|
||||||
///
|
|
||||||
#[derive(Debug, Clone, Copy)]
|
|
||||||
pub enum NixVerbosity {
|
|
||||||
Error,
|
|
||||||
Warn,
|
|
||||||
Notice,
|
|
||||||
Info,
|
|
||||||
Talkative,
|
|
||||||
Chatty,
|
|
||||||
Debug,
|
|
||||||
Vomit,
|
|
||||||
}
|
|
||||||
|
|
||||||
impl From<sys::NixVerbosity> for NixVerbosity {
|
|
||||||
fn from(level: sys::NixVerbosity) -> NixVerbosity {
|
|
||||||
match level {
|
|
||||||
sys::NixVerbosity::Error => NixVerbosity::Error,
|
|
||||||
sys::NixVerbosity::Warn => NixVerbosity::Warn,
|
|
||||||
sys::NixVerbosity::Notice => NixVerbosity::Notice,
|
|
||||||
sys::NixVerbosity::Info => NixVerbosity::Info,
|
|
||||||
sys::NixVerbosity::Talkative => NixVerbosity::Talkative,
|
|
||||||
sys::NixVerbosity::Chatty => NixVerbosity::Chatty,
|
|
||||||
sys::NixVerbosity::Debug => NixVerbosity::Debug,
|
|
||||||
sys::NixVerbosity::Vomit => NixVerbosity::Vomit,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
impl Into<sys::NixVerbosity> for NixVerbosity {
|
|
||||||
fn into(self) -> sys::NixVerbosity {
|
|
||||||
self as sys::NixVerbosity
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Sets the verbosity level.
|
/// Sets the verbosity level.
|
||||||
///
|
///
|
||||||
|
|
@ -67,7 +30,7 @@ impl Into<sys::NixVerbosity> for NixVerbosity {
|
||||||
///
|
///
|
||||||
pub fn set_verbosity(level: NixVerbosity) {
|
pub fn set_verbosity(level: NixVerbosity) {
|
||||||
wrap::nix_fn!(|ctx: &ErrorContext| unsafe {
|
wrap::nix_fn!(|ctx: &ErrorContext| unsafe {
|
||||||
sys::nix_set_verbosity(ctx.as_ptr(), level.into());
|
sys::nix_set_verbosity(ctx.as_ptr(), level);
|
||||||
})
|
})
|
||||||
.unwrap_or_else(|err| panic_issue_call_failed!("{}", err))
|
.unwrap()
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue