Skip to content

Commit 2e7b651

Browse files
Travis Davisoknozor
authored andcommitted
feat: add pre&post hook to get command
1 parent 337874e commit 2e7b651

File tree

2 files changed

+13
-7
lines changed

2 files changed

+13
-7
lines changed

src/bin/bombadil.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ where
9797
.settings(subcommand_settings)
9898
.about("Get metadata about dots, hooks, path, profiles, or vars")
9999
.arg(Arg::with_name("value")
100-
.possible_values(&["dots", "hooks", "path", "profiles", "vars", "secrets"])
100+
.possible_values(&["dots", "prehooks", "posthooks", "path", "profiles", "vars", "secrets"])
101101
.default_value("dots")
102102
.takes_value(true)
103103
.help("Metadata to get"))
@@ -202,7 +202,8 @@ fn main() {
202202
let get_subcommand = matches.subcommand_matches(GET).unwrap();
203203
let metadata_type = match get_subcommand.value_of("value").unwrap() {
204204
"dots" => MetadataType::Dots,
205-
"hooks" => MetadataType::Hooks,
205+
"prehooks" => MetadataType::Prehooks,
206+
"posthooks" => MetadataType::Posthooks,
206207
"path" => MetadataType::Path,
207208
"profiles" => MetadataType::Profiles,
208209
"vars" => MetadataType::Vars,

src/lib.rs

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -366,7 +366,8 @@ impl Bombadil {
366366
)
367367
})
368368
.collect(),
369-
MetadataType::Hooks => self.posthooks.iter().map(|h| h.command.clone()).collect(),
369+
MetadataType::Prehooks => self.prehooks.iter().map(|h| h.command.clone()).collect(),
370+
MetadataType::Posthooks => self.posthooks.iter().map(|h| h.command.clone()).collect(),
370371
MetadataType::Path => vec![self.path.display().to_string()],
371372
MetadataType::Profiles => {
372373
let mut profiles = vec!["default".to_string()];
@@ -435,7 +436,8 @@ pub(crate) fn unlink(path: &Path) -> Result<()> {
435436

436437
pub enum MetadataType {
437438
Dots,
438-
Hooks,
439+
Prehooks,
440+
Posthooks,
439441
Path,
440442
Profiles,
441443
Vars,
@@ -790,7 +792,8 @@ mod tests {
790792

791793
// Act
792794
bombadil.print_metadata(MetadataType::Dots);
793-
bombadil.print_metadata(MetadataType::Hooks);
795+
bombadil.print_metadata(MetadataType::Prehooks);
796+
bombadil.print_metadata(MetadataType::Posthooks);
794797
bombadil.print_metadata(MetadataType::Path);
795798
bombadil.print_metadata(MetadataType::Profiles);
796799
bombadil.print_metadata(MetadataType::Vars);
@@ -853,7 +856,8 @@ mod tests {
853856
"profile_one".to_string(),
854857
Profile {
855858
dots: dots_profile_one,
856-
hooks: vec![],
859+
prehooks: vec![],
860+
posthooks: vec![],
857861
vars: vec![],
858862
},
859863
);
@@ -862,7 +866,8 @@ mod tests {
862866
"profile_two".to_string(),
863867
Profile {
864868
dots: dots_profile_two,
865-
hooks: vec![],
869+
prehooks: vec![],
870+
posthooks: vec![],
866871
vars: vec![],
867872
},
868873
);

0 commit comments

Comments
 (0)