diff --git a/Cargo.toml b/Cargo.toml index aacd0f4..ecdf330 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -13,6 +13,7 @@ license = "Apache-2.0" [features] disable-command-execution = [] +disable-repo-management = [] [badges] travis-ci = { repository = "denisidoro/navi", branch = "master" } diff --git a/src/config/cli.rs b/src/config/cli.rs index eb5d53a..3a62aca 100644 --- a/src/config/cli.rs +++ b/src/config/cli.rs @@ -153,6 +153,7 @@ pub enum Command { args: Vec, }, /// Manages cheatsheet repositories + #[cfg(not(feature = "disable-repo-management"))] Repo { #[clap(subcommand)] cmd: RepoCommand, diff --git a/src/handler/mod.rs b/src/handler/mod.rs index 4678810..d43db58 100644 --- a/src/handler/mod.rs +++ b/src/handler/mod.rs @@ -8,7 +8,9 @@ pub mod repo_add; pub mod repo_browse; pub mod shell; -use crate::config::Command::{Fn, Info, Preview, PreviewVar, PreviewVarStdin, Repo, Widget}; +#[cfg(not(feature = "disable-repo-management"))] +use crate::config::Command::Repo; +use crate::config::Command::{Fn, Info, Preview, PreviewVar, PreviewVarStdin, Widget}; use crate::config::{RepoCommand, CONFIG}; use crate::handler; use anyhow::Context; @@ -38,6 +40,7 @@ pub fn handle() -> Result<()> { handler::info::main(info).with_context(|| format!("Failed to fetch info `{:#?}`", info)) } + #[cfg(not(feature = "disable-repo-management"))] Repo { cmd } => match cmd { RepoCommand::Add { uri } => { handler::repo_add::main(uri.clone())