@@ -22,32 +22,41 @@ fn main() -> io::Result<()> {
2222 let user_has_read_write_access = mode & 0o600 ;
2323 let group_has_read_access = mode & 0o040 ;
2424 let others_have_exec_access = mode & 0o001 ;
25+ let mut mode_count = 0 ;
2526 if user_has_write_access == 128 {
2627 print ! ( "{}" , color:: Fg ( color:: Red ) ) ;
2728 print ! ( "w" ) ;
2829 print ! ( "{}" , color:: Fg ( color:: White ) ) ;
2930 print ! ( "-" ) ;
31+ mode_count += 2 ;
3032 }
3133 if user_has_read_write_access == 384 {
3234 print ! ( "{}" , color:: Fg ( color:: Blue ) ) ;
3335 print ! ( "rw" ) ;
3436 print ! ( "{}" , color:: Fg ( color:: White ) ) ;
3537 print ! ( "-" ) ;
38+ mode_count += 3 ;
3639 }
3740 if group_has_read_access == 32 {
3841 print ! ( "{}" , color:: Fg ( color:: Red ) ) ;
3942 print ! ( "xa" ) ;
4043 print ! ( "{}" , color:: Fg ( color:: White ) ) ;
4144 print ! ( "-" ) ;
45+ mode_count += 3 ;
4246 }
4347 if others_have_exec_access == 1 {
4448 print ! ( "{}" , color:: Fg ( color:: Yellow ) ) ;
4549 print ! ( "xw" ) ;
4650 print ! ( "{}" , color:: Fg ( color:: White ) ) ;
4751 print ! ( "-" ) ;
52+ mode_count += 3 ;
4853 }
4954 print ! ( "{}" , color:: Fg ( color:: White ) ) ;
5055 print ! ( "-@" ) ;
56+ mode_count += 2 ;
57+ for _ in 0 ..( 13 - mode_count) {
58+ print ! ( " " )
59+ }
5160 print ! ( "{}" , color:: Fg ( color:: Green ) ) ;
5261 if fs:: metadata ( & e) ?. size ( ) > 1000 {
5362 let mut first = fs:: metadata ( & e) ?. size ( ) / 1000 ;
@@ -61,7 +70,12 @@ fn main() -> io::Result<()> {
6170 print ! ( "{}" , color:: Fg ( color:: Yellow ) ) ;
6271 print ! ( "k" ) ;
6372 } else {
64- print ! ( " {:?}" , fs:: metadata( & e) ?. size( ) ) ;
73+ let res = format ! ( " {:?}" , fs:: metadata( & e) ?. size( ) ) ;
74+ let length = 5 - res. len ( ) ;
75+ for _ in 0 ..length {
76+ print ! ( " " ) ;
77+ }
78+ print ! ( "{}" , res) ;
6579 }
6680
6781 if let Ok ( time) = e. metadata ( ) ?. created ( ) {
@@ -82,9 +96,11 @@ fn main() -> io::Result<()> {
8296
8397 print ! ( "{}" , color:: Fg ( color:: White ) ) ;
8498 if e. metadata ( ) ?. is_dir ( ) {
85- println ! ( "{}/" , & e. display( ) . to_string( ) [ 2 ..] ) ;
99+ print ! ( "{}" , color:: Fg ( color:: LightBlue ) ) ;
100+ println ! ( "{}/" , & e. file_name( ) . unwrap( ) . to_str( ) . unwrap( ) ) ;
86101 } else {
87- println ! ( "{}" , & e. display( ) . to_string( ) [ 2 ..] ) ;
102+ print ! ( "{}" , color:: Fg ( color:: LightGreen ) ) ;
103+ println ! ( "{}" , & e. file_name( ) . unwrap( ) . to_str( ) . unwrap( ) ) ;
88104 }
89105 }
90106 Ok ( ( ) )
0 commit comments