@@ -22,6 +22,7 @@ impl Dot {
2222 & self ,
2323 vars : & Variables ,
2424 auto_ignored : Vec < PathBuf > ,
25+ profiles : & [ String ] ,
2526 ) -> Result < LinkResult > {
2627 let source = & self . source ( ) ?;
2728 let target = & self . build_copy_path ( ) ;
@@ -47,7 +48,7 @@ impl Dot {
4748 vars. resolve_ref ( ) ;
4849
4950 // Recursively copy dotfile to .dots directory
50- self . traverse_and_copy ( source, target, ignored_paths. as_slice ( ) , & vars)
51+ self . traverse_and_copy ( source, target, ignored_paths. as_slice ( ) , & vars, profiles )
5152 }
5253
5354 fn load_local_vars ( source : & Path ) -> Variables {
@@ -74,6 +75,7 @@ impl Dot {
7475 target : & PathBuf ,
7576 ignored : & [ PathBuf ] ,
7677 vars : & Variables ,
78+ profiles : & [ String ] ,
7779 ) -> Result < LinkResult > {
7880 if ignored. contains ( source) {
7981 return Ok ( LinkResult :: Ignored ) ;
@@ -82,7 +84,7 @@ impl Dot {
8284 // Single file : inject vars and write to .dots/
8385 if source. is_file ( ) {
8486 fs:: create_dir_all ( target. parent ( ) . unwrap ( ) ) ?;
85- match vars. to_dot ( source) {
87+ match vars. to_dot ( source, profiles ) {
8688 Ok ( content) if target. exists ( ) => self . update ( source, target, content) ,
8789 Ok ( content) => self . create ( source, target, content) ,
8890 Err ( _) if target. exists ( ) => {
@@ -107,6 +109,7 @@ impl Dot {
107109 & target. join ( entry_name) ,
108110 ignored,
109111 vars,
112+ & [ ] ,
110113 ) ;
111114
112115 match result {
@@ -356,6 +359,7 @@ mod tests {
356359 & PathBuf :: from ( "dotfiles_with_multiple_nested_dir/.dots/dir" ) ,
357360 & vec ! [ ] ,
358361 & Variables :: default ( ) ,
362+ & [ ] ,
359363 ) ?;
360364
361365 run_cmd ! ( tree -a; ) ?;
@@ -389,6 +393,7 @@ mod tests {
389393 & PathBuf :: from ( "dotfiles_non_utf8/.dots/ferris.png" ) ,
390394 & vec ! [ ] ,
391395 & Variables :: default ( ) ,
396+ & [ ] ,
392397 ) ?;
393398
394399 run_cmd ! ( tree -a; ) ?;
@@ -428,6 +433,7 @@ mod tests {
428433 PathBuf :: from( "source_dot/file.md" ) ,
429434 ] ,
430435 & Variables :: default ( ) ,
436+ & [ ] ,
431437 ) ?;
432438
433439 // Assert
@@ -489,7 +495,7 @@ mod tests {
489495 vars : Dot :: default_vars ( ) ,
490496 } ;
491497
492- dot. install ( & Variables :: default ( ) , vec ! [ ] ) ?;
498+ dot. install ( & Variables :: default ( ) , vec ! [ ] , & [ ] ) ?;
493499
494500 assert_that ! ( PathBuf :: from( ".dots" ) ) . exists ( ) ;
495501 assert_that ! ( PathBuf :: from( ".dots/source_dot" ) ) . exists ( ) ;
@@ -514,7 +520,7 @@ mod tests {
514520 vars. insert ( "name" , "Tom Bombadil" ) ;
515521
516522 // Act
517- dot. install ( & vars, vec ! [ ] ) ?;
523+ dot. install ( & vars, vec ! [ ] , & [ ] ) ?;
518524 let dot = PathBuf :: from ( ".dots/dotfiles/dot" ) ;
519525
520526 // Assert
@@ -551,7 +557,7 @@ mod tests {
551557 vars : PathBuf :: from ( "my_vars.toml" ) ,
552558 } ;
553559
554- dot. install ( & Variables :: default ( ) , vec ! [ ] ) ?;
560+ dot. install ( & Variables :: default ( ) , vec ! [ ] , & [ ] ) ?;
555561
556562 let content = fs:: read_to_string ( ".dots/dir/template" ) ?;
557563 assert_that ! ( content) . is_equal_to ( & "Hello Tom\n " . to_string ( ) ) ;
@@ -582,7 +588,7 @@ mod tests {
582588 } ;
583589
584590 // Arrange
585- dot. install ( & Variables :: default ( ) , vec ! [ ] ) ?;
591+ dot. install ( & Variables :: default ( ) , vec ! [ ] , & [ ] ) ?;
586592
587593 // Assert
588594 let content = fs:: read_to_string ( PathBuf :: from (
0 commit comments