mirror of
https://github.com/denisidoro/navi
synced 2024-11-21 19:13:07 +00:00
Add build feature to disable repo management
Having a command to install cheatsheets from repositories on github is amazing and makes `navi` very easy to setup and get started. The repo contents provide the "meat" of `navi`. A one-liner can load a bunch of useful cheatsheets for a whole host of open source commands. However, in locked down environments, where a high level of control of what is executed needs to be imposed, having the capability to download and use "arbitrary code from the internet" can be more harmful than good. Here you would likely want to manage all cheathsheets for `navi` carefully yourself. Possibly reviewing each cheathsheet individually. This CL provides a build feature that disables the whole `repo` sub-command tree to support that use-case.
This commit is contained in:
parent
f86f9dd72e
commit
b5b79b4bf2
3 changed files with 6 additions and 1 deletions
|
@ -13,6 +13,7 @@ license = "Apache-2.0"
|
|||
|
||||
[features]
|
||||
disable-command-execution = []
|
||||
disable-repo-management = []
|
||||
|
||||
[badges]
|
||||
travis-ci = { repository = "denisidoro/navi", branch = "master" }
|
||||
|
|
|
@ -153,6 +153,7 @@ pub enum Command {
|
|||
args: Vec<String>,
|
||||
},
|
||||
/// Manages cheatsheet repositories
|
||||
#[cfg(not(feature = "disable-repo-management"))]
|
||||
Repo {
|
||||
#[clap(subcommand)]
|
||||
cmd: RepoCommand,
|
||||
|
|
|
@ -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())
|
||||
|
|
Loading…
Reference in a new issue