@@ -22,17 +22,16 @@ pub enum Error {
2222 Xdr ( #[ from] xdr:: Error ) ,
2323}
2424
25- pub const XDG_DATA_HOME : & str = "XDG_DATA_HOME" ;
26-
2725pub fn project_dir ( ) -> Result < directories:: ProjectDirs , Error > {
28- std:: env:: var ( XDG_DATA_HOME )
29- . map_or_else (
30- |_| ProjectDirs :: from ( "org" , "stellar" , "stellar-cli" ) ,
31- |data_home| {
32- ProjectDirs :: from_path ( std:: path:: PathBuf :: from ( data_home) . join ( "stellar-cli" ) )
33- } ,
34- )
35- . ok_or ( Error :: FailedToFindProjectDirs )
26+ let dir = if let Ok ( data_home) = std:: env:: var ( "STELLAR_DATA_HOME" ) {
27+ ProjectDirs :: from_path ( std:: path:: PathBuf :: from ( data_home) )
28+ } else if let Ok ( data_home) = std:: env:: var ( "XDG_DATA_HOME" ) {
29+ ProjectDirs :: from_path ( std:: path:: PathBuf :: from ( data_home) . join ( "stellar-cli" ) )
30+ } else {
31+ ProjectDirs :: from ( "org" , "stellar" , "stellar-cli" )
32+ } ;
33+
34+ dir. ok_or ( Error :: FailedToFindProjectDirs )
3635}
3736
3837#[ allow( clippy:: module_name_repetitions) ]
@@ -203,7 +202,7 @@ mod test {
203202 #[ test]
204203 fn test_write_read ( ) {
205204 let t = assert_fs:: TempDir :: new ( ) . unwrap ( ) ;
206- std:: env:: set_var ( XDG_DATA_HOME , t. path ( ) . to_str ( ) . unwrap ( ) ) ;
205+ std:: env:: set_var ( " XDG_DATA_HOME" , t. path ( ) . to_str ( ) . unwrap ( ) ) ;
207206 let rpc_uri = Url :: from_str ( "http://localhost:8000" ) . unwrap ( ) ;
208207 let sim = SimulateTransactionResponse :: default ( ) ;
209208 let original_action: Action = sim. into ( ) ;
0 commit comments