aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/arg_util.rs8
-rw-r--r--src/args.rs85
-rw-r--r--var/shell-complete.rs5
3 files changed, 54 insertions, 44 deletions
diff --git a/src/arg_util.rs b/src/arg_util.rs
index 439a594..3a4c001 100644
--- a/src/arg_util.rs
+++ b/src/arg_util.rs
@@ -33,7 +33,10 @@ macro_rules! tr {
}
macro_rules! Command {
- ( $name:ident, [ $( $(#[$doc:meta])* $var:ident$(($inner:ty))? => $exec:expr, ) *] ) => {
+ ( $(#[$docs:meta])* $name:ident, [
+ $( $(#[$doc:meta])* $var:ident$(($inner:ty))? => $exec:expr, ) *
+ ] ) => {
+ $(#[$docs])*
#[derive(Debug, PartialEq, structopt::StructOpt)]
pub enum $name {
$(
@@ -63,7 +66,8 @@ macro_rules! Command {
// TODO: Right now we hard code the derives we create. We may want to
// make this set configurable.
macro_rules! Enum {
- ( $name:ident, [ $( $var:ident => $str:expr, ) *] ) => {
+ ( $(#[$docs:meta])* $name:ident, [ $( $var:ident => $str:expr, ) *] ) => {
+ $(#[$docs])*
#[derive(Clone, Copy, Debug, PartialEq)]
pub enum $name {
$(
diff --git a/src/args.rs b/src/args.rs
index 20392a8..91b340c 100644
--- a/src/args.rs
+++ b/src/args.rs
@@ -31,12 +31,13 @@ pub struct Args {
pub cmd: Command,
}
-/// The available Nitrokey models.
-#[allow(unused_doc_comments)]
-Enum! {DeviceModel, [
- Pro => "pro",
- Storage => "storage",
-]}
+Enum! {
+ /// The available Nitrokey models.
+ DeviceModel, [
+ Pro => "pro",
+ Storage => "storage",
+ ]
+}
impl DeviceModel {
pub fn as_user_facing_str(&self) -> &str {
@@ -56,32 +57,33 @@ impl From<DeviceModel> for nitrokey::Model {
}
}
-/// A top-level command for nitrocli.
-#[allow(unused_doc_comments)]
-Command! {Command, [
- /// Reads or writes the device configuration
- Config(ConfigArgs) => |ctx, args: ConfigArgs| args.subcmd.execute(ctx),
- /// Interacts with the device's encrypted volume
- Encrypted(EncryptedArgs) => |ctx, args: EncryptedArgs| args.subcmd.execute(ctx),
- /// Interacts with the device's hidden volume
- Hidden(HiddenArgs) => |ctx, args: HiddenArgs| args.subcmd.execute(ctx),
- /// Lists the attached Nitrokey devices
- List(ListArgs) => |ctx, args: ListArgs| crate::commands::list(ctx, args.no_connect),
- /// Locks the connected Nitrokey device
- Lock => crate::commands::lock,
- /// Accesses one-time passwords
- Otp(OtpArgs) => |ctx, args: OtpArgs| args.subcmd.execute(ctx),
- /// Manages the Nitrokey PINs
- Pin(PinArgs) => |ctx, args: PinArgs| args.subcmd.execute(ctx),
- /// Accesses the password safe
- Pws(PwsArgs) => |ctx, args: PwsArgs| args.subcmd.execute(ctx),
- /// Performs a factory reset
- Reset => crate::commands::reset,
- /// Prints the status of the connected Nitrokey device
- Status => crate::commands::status,
- /// Interacts with the device's unencrypted volume
- Unencrypted(UnencryptedArgs) => |ctx, args: UnencryptedArgs| args.subcmd.execute(ctx),
-]}
+Command! {
+ /// A top-level command for nitrocli.
+ Command, [
+ /// Reads or writes the device configuration
+ Config(ConfigArgs) => |ctx, args: ConfigArgs| args.subcmd.execute(ctx),
+ /// Interacts with the device's encrypted volume
+ Encrypted(EncryptedArgs) => |ctx, args: EncryptedArgs| args.subcmd.execute(ctx),
+ /// Interacts with the device's hidden volume
+ Hidden(HiddenArgs) => |ctx, args: HiddenArgs| args.subcmd.execute(ctx),
+ /// Lists the attached Nitrokey devices
+ List(ListArgs) => |ctx, args: ListArgs| crate::commands::list(ctx, args.no_connect),
+ /// Locks the connected Nitrokey device
+ Lock => crate::commands::lock,
+ /// Accesses one-time passwords
+ Otp(OtpArgs) => |ctx, args: OtpArgs| args.subcmd.execute(ctx),
+ /// Manages the Nitrokey PINs
+ Pin(PinArgs) => |ctx, args: PinArgs| args.subcmd.execute(ctx),
+ /// Accesses the password safe
+ Pws(PwsArgs) => |ctx, args: PwsArgs| args.subcmd.execute(ctx),
+ /// Performs a factory reset
+ Reset => crate::commands::reset,
+ /// Prints the status of the connected Nitrokey device
+ Status => crate::commands::status,
+ /// Interacts with the device's unencrypted volume
+ Unencrypted(UnencryptedArgs) => |ctx, args: UnencryptedArgs| args.subcmd.execute(ctx),
+ ]
+}
#[derive(Debug, PartialEq, structopt::StructOpt)]
pub struct ConfigArgs {
@@ -326,15 +328,16 @@ Command! {PinCommand, [
Unblock => crate::commands::pin_unblock,
]}
-/// PIN type requested from pinentry.
-///
-/// The available PIN types correspond to the PIN types used by the Nitrokey devices: user and
-/// admin.
-#[allow(unused_doc_comments)]
-Enum! {PinType, [
- Admin => "admin",
- User => "user",
-]}
+Enum! {
+ /// PIN type requested from pinentry.
+ ///
+ /// The available PIN types correspond to the PIN types used by the
+ /// Nitrokey devices: user and admin.
+ PinType, [
+ Admin => "admin",
+ User => "user",
+ ]
+}
#[derive(Debug, PartialEq, structopt::StructOpt)]
pub struct PinSetArgs {
diff --git a/var/shell-complete.rs b/var/shell-complete.rs
index 4793ed3..a6f476d 100644
--- a/var/shell-complete.rs
+++ b/var/shell-complete.rs
@@ -28,7 +28,10 @@ mod nitrocli {
// We only need a stripped down version of the `Command` macro.
macro_rules! Command {
- ( $name:ident, [ $( $(#[$doc:meta])* $var:ident$(($inner:ty))? => $exec:expr, ) *] ) => {
+ ( $(#[$docs:meta])* $name:ident, [
+ $( $(#[$doc:meta])* $var:ident$(($inner:ty))? => $exec:expr, ) *
+ ] ) => {
+ $(#[$docs])*
#[derive(Debug, PartialEq, structopt::StructOpt)]
pub enum $name {
$(