@@ -9,7 +9,7 @@ use yazi_fs::{File, FilesOp, path::expand_url};
99use yazi_macro:: { act, err, render, succ} ;
1010use yazi_parser:: mgr:: CdOpt ;
1111use yazi_proxy:: { CmpProxy , InputProxy , MgrProxy } ;
12- use yazi_shared:: { Debounce , data:: Data , errors:: InputError , url:: { AsUrl , UrlBuf , UrlLike } } ;
12+ use yazi_shared:: { Debounce , data:: Data , errors:: InputError , url:: { UrlBuf , UrlLike } } ;
1313use yazi_vfs:: VfsFile ;
1414
1515use crate :: { Actor , Ctx } ;
@@ -33,18 +33,8 @@ impl Actor for Cd {
3333 }
3434
3535 // Take parent to history
36- if let Some ( rep) = tab. parent . take ( ) {
37- tab. history . insert ( rep. url . to_owned ( ) , rep) ;
38- }
39-
40- // Backstack
41- if opt. source . big_jump ( ) {
42- if tab. current . url . is_regular ( ) {
43- tab. backstack . push ( tab. current . url . as_url ( ) ) ;
44- }
45- if opt. target . is_regular ( ) {
46- tab. backstack . push ( opt. target . as_url ( ) ) ;
47- }
36+ if let Some ( t) = tab. parent . take ( ) {
37+ tab. history . insert ( t. url . to_owned ( ) , t) ;
4838 }
4939
5040 // Current
@@ -58,10 +48,12 @@ impl Actor for Cd {
5848 }
5949
6050 err ! ( Pubsub :: pub_after_cd( tab. id, tab. cwd( ) ) ) ;
51+ act ! ( mgr: displace, cx) ?;
6152 act ! ( mgr: hidden, cx) ?;
6253 act ! ( mgr: sort, cx) ?;
6354 act ! ( mgr: hover, cx) ?;
6455 act ! ( mgr: refresh, cx) ?;
56+ act ! ( mgr: stash, cx, opt) . ok ( ) ;
6557 succ ! ( render!( ) ) ;
6658 }
6759}
0 commit comments