@@ -22,6 +22,10 @@ use crate::legacy_config::LegacyConfig;
2222fn main ( ) -> Result < ( ) , Error > {
2323 let mut args = std:: env:: args ( ) . skip ( 1 ) ;
2424 match args. next ( ) . as_ref ( ) . map ( |s| & s[ ..] ) {
25+ Some ( "version" ) | Some ( "-V" ) | Some ( "--version" ) => {
26+ println ! ( "bpb {}" , env!( "CARGO_PKG_VERSION" ) ) ;
27+ Ok ( ( ) )
28+ }
2529 Some ( "init" ) => {
2630 if let Some ( userid) = args. next ( ) {
2731 generate_keypair ( userid)
@@ -79,7 +83,7 @@ fn main() -> Result<(), Error> {
7983 bail ! ( "Must specify a hex string to sign, e.g.: `bpb sign-hex 1234abcd`" )
8084 }
8185 }
82- Some ( "--help" ) => print_help_message ( ) ,
86+ Some ( "--help" ) | Some ( "-h" ) | Some ( "help" ) => print_help_message ( ) ,
8387 Some ( arg) if gpg_sign_arg ( arg) => verify_commit ( ) ,
8488 None => {
8589 print_help_message ( ) ?;
@@ -100,11 +104,15 @@ fn gpg_sign_arg(arg: &str) -> bool {
100104}
101105
102106fn print_help_message ( ) -> Result < ( ) , Error > {
103- println ! ( "bpb: boats's personal barricade" ) ;
107+ println ! (
108+ "bpb: boats's personal barricade; version {}" ,
109+ env!( "CARGO_PKG_VERSION" )
110+ ) ;
104111 println ! ( ) ;
105112 println ! ( "A program for signing git commits." ) ;
106113 println ! ( ) ;
107114 println ! ( "Arguments:" ) ;
115+ println ! ( " version: Print the version of bpb." ) ;
108116 println ! ( " init <userid>: Generate a keypair and store in the keychain." ) ;
109117 println ! ( " import <key>: Import a key from the command line." ) ;
110118 println ! ( " print: Print public key in OpenPGP format." ) ;
0 commit comments