rsincronlib/
lib.rs

1pub mod config;
2pub mod events;
3pub mod parser;
4pub mod state;
5pub mod watch;
6
7use lazy_static::lazy_static;
8use std::{io, path::PathBuf};
9use tracing_subscriber::EnvFilter;
10
11use serde::{Deserialize, Serialize};
12use xdg::BaseDirectories;
13
14lazy_static! {
15    pub static ref XDG: BaseDirectories =
16        BaseDirectories::new().expect("failed to get XDG env vars: are they set?");
17    pub static ref SOCKET: Result<PathBuf, io::Error> = XDG.place_runtime_file("rsincron.socket");
18}
19
20#[derive(Serialize, Deserialize)]
21pub enum SocketMessage {
22    UpdateWatches,
23}
24
25pub fn with_logging() {
26    tracing_subscriber::fmt()
27        .with_writer(io::stderr)
28        .with_env_filter(EnvFilter::from_default_env())
29        .init();
30}