@@ -5,7 +5,7 @@ use yazi_fs::{CWD, path::expand_url, provider};
55use yazi_macro:: { act, render, succ} ;
66use yazi_parser:: cmp:: { CmpItem , ShowOpt , TriggerOpt } ;
77use yazi_proxy:: CmpProxy ;
8- use yazi_shared:: { OsStrSplit , event:: Data , natsort, url:: { Url , UrnBuf } } ;
8+ use yazi_shared:: { OsStrSplit , event:: Data , natsort, url:: { UrlBuf , UrnBuf } } ;
99
1010use crate :: { Actor , Ctx } ;
1111
@@ -66,8 +66,8 @@ impl Actor for Trigger {
6666}
6767
6868impl Trigger {
69- fn split_url ( s : & str ) -> Option < ( Url , UrnBuf ) > {
70- let ( scheme, path, ..) = Url :: parse ( s. as_bytes ( ) ) . ok ( ) ?;
69+ fn split_url ( s : & str ) -> Option < ( UrlBuf , UrnBuf ) > {
70+ let ( scheme, path, ..) = UrlBuf :: parse ( s. as_bytes ( ) ) . ok ( ) ?;
7171
7272 if !scheme. is_virtual ( ) && path. as_os_str ( ) == "~" {
7373 return None ; // We don't autocomplete a `~`, but `~/`
@@ -79,8 +79,8 @@ impl Trigger {
7979 const SEP : char = std:: path:: MAIN_SEPARATOR ;
8080
8181 Some ( match path. as_os_str ( ) . rsplit_once ( SEP ) {
82- Some ( ( p, c) ) if p. is_empty ( ) => ( Url { loc : MAIN_SEPARATOR_STR . into ( ) , scheme } , c. into ( ) ) ,
83- Some ( ( p, c) ) => ( expand_url ( Url { loc : p. into ( ) , scheme } ) , c. into ( ) ) ,
82+ Some ( ( p, c) ) if p. is_empty ( ) => ( UrlBuf { loc : MAIN_SEPARATOR_STR . into ( ) , scheme } , c. into ( ) ) ,
83+ Some ( ( p, c) ) => ( expand_url ( UrlBuf { loc : p. into ( ) , scheme } ) , c. into ( ) ) ,
8484 None => ( CWD . load ( ) . as_ref ( ) . clone ( ) , path. into ( ) ) ,
8585 } )
8686 }
@@ -95,7 +95,7 @@ mod tests {
9595 fn compare ( s : & str , parent : & str , child : & str ) {
9696 let ( mut p, c) = Trigger :: split_url ( s) . unwrap ( ) ;
9797 if let Some ( u) = p. strip_prefix ( yazi_fs:: CWD . load ( ) . as_ref ( ) ) {
98- p = Url :: from ( & * * u) ;
98+ p = UrlBuf :: from ( & * * u) ;
9999 }
100100 assert_eq ! ( ( p, c. as_urn( ) ) , ( parent. parse( ) . unwrap( ) , Urn :: new( child) ) ) ;
101101 }
0 commit comments