@@ -17,20 +17,24 @@ use color_eyre::Report;
1717fn main ( ) -> Result < ( ) , Report > {
1818 color_eyre:: install ( ) ?;
1919
20- let utsname = nix:: sys:: utsname:: uname ( ) ?;
21- let fields = Fields {
22- user_info : get_username_and_hostname ( & utsname) ,
23- os_name : get_os_pretty_name ( ) ?,
24- kernel_version : get_system_info ( & utsname) ?,
25- shell : get_shell ( ) ,
26- desktop : get_desktop_info ( ) ,
27- uptime : get_current ( ) ?,
28- memory_usage : get_memory_usage ( ) ?,
29- storage : get_root_disk_usage ( ) ?,
30- colors : print_dots ( ) ,
31- } ;
32-
33- print_system_info ( & fields) ;
20+ let args: Vec < String > = std:: env:: args ( ) . collect ( ) ;
21+ if args. len ( ) > 1 && args[ 1 ] == "--version" {
22+ println ! ( "Microfetch {}" , env!( "CARGO_PKG_VERSION" ) ) ;
23+ } else {
24+ let utsname = nix:: sys:: utsname:: uname ( ) ?;
25+ let fields = Fields {
26+ user_info : get_username_and_hostname ( & utsname) ,
27+ os_name : get_os_pretty_name ( ) ?,
28+ kernel_version : get_system_info ( & utsname) ?,
29+ shell : get_shell ( ) ,
30+ desktop : get_desktop_info ( ) ,
31+ uptime : get_current ( ) ?,
32+ memory_usage : get_memory_usage ( ) ?,
33+ storage : get_root_disk_usage ( ) ?,
34+ colors : print_dots ( ) ,
35+ } ;
36+ print_system_info ( & fields) ;
37+ }
3438
3539 Ok ( ( ) )
3640}
0 commit comments