use std::time::Duration;
pub(crate) const CI_PASSED: &str = "🟢";
pub(crate) const CI_FAILED: &str = "🔴";
pub(crate) const CI_CANCELLED: &str = "🌑";
pub(crate) const CI_SKIPPED: &str = "⚪";
pub(crate) const IN_SYNC: &str = "☑️";
pub(crate) const NO_REMOTE_SYNC: &str = "──";
pub(crate) const SYNC_UP: &str = "↑";
pub(crate) const SYNC_DOWN: &str = "↓";
pub(crate) const LINT_PASSED: &str = "🟢";
pub(crate) const LINT_FAILED: &str = "🔴";
pub(crate) const LINT_STALE: &str = "⚫";
pub(crate) const LINT_NO_LOG: &str = " ";
pub(crate) const GIT_LOCAL: &str = "📁";
pub(crate) const GIT_CLONE: &str = "👯";
pub(crate) const GIT_FORK: &str = "🔱";
pub(crate) const WORKTREE: &str = "🌲";
pub(crate) const GIT_STATUS_CLEAN: &str = "✨";
pub(crate) const GIT_STATUS_UNTRACKED: &str = "🆕";
pub(crate) const GIT_STATUS_MODIFIED: &str = "🟠";
pub(crate) const GH_TIMEOUT: Duration = Duration::from_secs(5);
pub(crate) const CI_CACHE_DIR: &str = "ci";
pub(crate) const LINTS_CACHE_DIR: &str = "lint-runs";
pub(crate) const CARGO_CONFIG: &str = "config";
pub(crate) const CARGO_CONFIG_TOML: &str = "config.toml";
pub(crate) const CARGO_LOCK: &str = "Cargo.lock";
pub(crate) const CARGO_TOML: &str = "Cargo.toml";
pub(crate) const DOT_CARGO_DIR: &str = ".cargo";
pub(crate) const GIT_DIR: &str = ".git";
pub(crate) const GIT_REMOTE_SUFFIX: &str = ".git";
pub(crate) const RUST_TOOLCHAIN: &str = "rust-toolchain";
pub(crate) const RUST_TOOLCHAIN_TOML: &str = "rust-toolchain.toml";
pub(crate) const TARGET_DIR: &str = "target";
pub(crate) const NO_MORE_RUNS_MARKER: &str = ".no_more_runs";
pub(crate) const SCAN_DISK_CONCURRENCY: usize = 6;
pub(crate) const SCAN_METADATA_CONCURRENCY: usize = 4;
pub(crate) const CARGO_METADATA_TIMEOUT: Duration = Duration::from_secs(10);
pub(crate) const GITHUB_API_BASE: &str = "https://api.github.com";
pub(crate) const GITHUB_GRAPHQL_URL: &str = "https://api.github.com/graphql";
pub(crate) const CRATES_IO_API_BASE: &str = "https://crates.io/api/v1";
pub(crate) const CRATES_IO_USER_AGENT: &str = "cargo-port";
pub(crate) const SERVICE_RETRY_SECS: u64 = 1;
pub(crate) const SERVICE_UNAVAILABLE_GRACE: Duration = Duration::from_secs(3);
pub(crate) const DEBOUNCE_DURATION: Duration = Duration::from_millis(500);
pub(crate) const MAX_WAIT: Duration = Duration::from_secs(1);
pub(crate) const NEW_PROJECT_DEBOUNCE: Duration = Duration::from_secs(2);
pub(crate) const POLL_INTERVAL: Duration = Duration::from_millis(500);
pub(crate) const WATCHER_DISK_CONCURRENCY: usize = 2;
pub(crate) const WATCHER_GIT_CONCURRENCY: usize = 2;
pub(crate) const LINTS_LATEST_JSON: &str = "latest.json";
pub(crate) const LINTS_HISTORY_JSONL: &str = "history.jsonl";
pub(crate) const STALE_TIMEOUT: Duration = Duration::from_mins(30);
pub(crate) const APP_NAME: &str = "cargo-port";
pub(crate) const CONFIG_FILE: &str = "config.toml";
pub(crate) const KEYMAP_FILE: &str = "keymap.toml";