pub mod arity;
pub mod scan;
use crate::context::AppContext;
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct PermissionAsk {
pub kind: PermissionKind,
pub patterns: Vec<String>,
pub always: Vec<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub enum PermissionKind {
#[serde(rename = "external_directory")]
ExternalDirectory,
#[serde(rename = "bash")]
Bash,
}
pub fn scan(command: &str, ctx: &AppContext) -> Vec<PermissionAsk> {
scan::scan(command, ctx)
}