#![doc = include_str!("../README.md")]
#![warn(missing_docs)]
#![deny(clippy::unwrap_used)]
#![deny(clippy::expect_used)]
#![deny(unsafe_code)]
#[macro_use]
extern crate lazy_static;
#[macro_use]
extern crate doc_comment;
#[macro_use]
extern crate paste;
pub use hyprland_macros::*;
pub mod shared;
#[cfg(feature = "data")]
pub mod data;
#[cfg(feature = "listener")]
pub mod event_listener;
#[cfg(feature = "dispatch")]
pub mod dispatch;
#[cfg(feature = "ctl")]
pub mod ctl;
#[cfg(feature = "keyword")]
pub mod keyword;
#[cfg(feature = "config")]
pub mod config;
pub mod prelude {
pub use crate::shared::{HyprData, HyprDataActive, HyprDataActiveOptional, HyprDataVec};
pub use hyprland_macros::async_closure;
}
pub(crate) mod unix_async {
#[cfg(feature = "async-net")]
pub use async_net::unix::UnixStream;
#[cfg(feature = "async-std")]
pub use async_std::{
io::{ReadExt, WriteExt},
os::unix::net::UnixStream,
};
#[cfg(feature = "async-net")]
pub use futures_lite::io::{AsyncReadExt, AsyncWriteExt};
#[cfg(feature = "tokio")]
pub use tokio::{
io::{AsyncReadExt, AsyncWriteExt},
net::UnixStream,
};
}
pub type Result<T> = std::result::Result<T, shared::HyprError>;