mirror of
https://github.com/BurntSushi/ripgrep.git
synced 2024-12-12 19:18:24 +02:00
fdd8510fdd
The top-level listing was just getting a bit too long for my taste. So put all of the code in one directory and shrink the large top-level mess to a small top-level mess. NOTE: This commit only contains renames. The subsequent commit will actually make ripgrep build again. We do it this way with the naive hope that this will make it easier for git history to track the renames. Sigh.
75 lines
2.0 KiB
Rust
75 lines
2.0 KiB
Rust
use std::sync::atomic::{AtomicBool, Ordering};
|
|
|
|
static MESSAGES: AtomicBool = AtomicBool::new(false);
|
|
static IGNORE_MESSAGES: AtomicBool = AtomicBool::new(false);
|
|
static ERRORED: AtomicBool = AtomicBool::new(false);
|
|
|
|
/// Emit a non-fatal error message, unless messages were disabled.
|
|
#[macro_export]
|
|
macro_rules! message {
|
|
($($tt:tt)*) => {
|
|
if crate::messages::messages() {
|
|
eprintln!($($tt)*);
|
|
}
|
|
}
|
|
}
|
|
|
|
/// Like message, but sets ripgrep's "errored" flag, which controls the exit
|
|
/// status.
|
|
#[macro_export]
|
|
macro_rules! err_message {
|
|
($($tt:tt)*) => {
|
|
crate::messages::set_errored();
|
|
message!($($tt)*);
|
|
}
|
|
}
|
|
|
|
/// Emit a non-fatal ignore-related error message (like a parse error), unless
|
|
/// ignore-messages were disabled.
|
|
#[macro_export]
|
|
macro_rules! ignore_message {
|
|
($($tt:tt)*) => {
|
|
if crate::messages::messages() && crate::messages::ignore_messages() {
|
|
eprintln!($($tt)*);
|
|
}
|
|
}
|
|
}
|
|
|
|
/// Returns true if and only if messages should be shown.
|
|
pub fn messages() -> bool {
|
|
MESSAGES.load(Ordering::SeqCst)
|
|
}
|
|
|
|
/// Set whether messages should be shown or not.
|
|
///
|
|
/// By default, they are not shown.
|
|
pub fn set_messages(yes: bool) {
|
|
MESSAGES.store(yes, Ordering::SeqCst)
|
|
}
|
|
|
|
/// Returns true if and only if "ignore" related messages should be shown.
|
|
pub fn ignore_messages() -> bool {
|
|
IGNORE_MESSAGES.load(Ordering::SeqCst)
|
|
}
|
|
|
|
/// Set whether "ignore" related messages should be shown or not.
|
|
///
|
|
/// By default, they are not shown.
|
|
///
|
|
/// Note that this is overridden if `messages` is disabled. Namely, if
|
|
/// `messages` is disabled, then "ignore" messages are never shown, regardless
|
|
/// of this setting.
|
|
pub fn set_ignore_messages(yes: bool) {
|
|
IGNORE_MESSAGES.store(yes, Ordering::SeqCst)
|
|
}
|
|
|
|
/// Returns true if and only if ripgrep came across a non-fatal error.
|
|
pub fn errored() -> bool {
|
|
ERRORED.load(Ordering::SeqCst)
|
|
}
|
|
|
|
/// Indicate that ripgrep has come across a non-fatal error.
|
|
pub fn set_errored() {
|
|
ERRORED.store(true, Ordering::SeqCst);
|
|
}
|