From afe26b8c16aef79b41ebe3272b1b06ff498ba258 Mon Sep 17 00:00:00 2001 From: Lucien Greathouse Date: Fri, 21 May 2021 12:44:58 -0400 Subject: [PATCH] Modernize the doc subcommand --- src/bin.rs | 2 +- src/cli/doc.rs | 14 +++++++++++--- src/cli/mod.rs | 6 ++---- 3 files changed, 14 insertions(+), 8 deletions(-) diff --git a/src/bin.rs b/src/bin.rs index 020cca34..afa7e100 100644 --- a/src/bin.rs +++ b/src/bin.rs @@ -12,7 +12,7 @@ fn run(global: GlobalOptions, subcommand: Subcommand) -> anyhow::Result<()> { Subcommand::Build(build_options) => cli::build(build_options)?, Subcommand::Upload(upload_options) => cli::upload(upload_options)?, Subcommand::FmtProject(subcommand) => subcommand.run()?, - Subcommand::Doc => cli::doc()?, + Subcommand::Doc(subcommand) => subcommand.run()?, Subcommand::Plugin(plugin_options) => cli::plugin(plugin_options)?, } diff --git a/src/cli/doc.rs b/src/cli/doc.rs index 3de2b052..9a344997 100644 --- a/src/cli/doc.rs +++ b/src/cli/doc.rs @@ -1,4 +1,12 @@ -pub fn doc() -> Result<(), anyhow::Error> { - opener::open("https://rojo.space/docs")?; - Ok(()) +use structopt::StructOpt; + +/// Open Rojo's documentation in your browser. +#[derive(Debug, StructOpt)] +pub struct DocCommand {} + +impl DocCommand { + pub fn run(self) -> anyhow::Result<()> { + opener::open("https://rojo.space/docs")?; + Ok(()) + } } diff --git a/src/cli/mod.rs b/src/cli/mod.rs index c9e32bda..43455c4c 100644 --- a/src/cli/mod.rs +++ b/src/cli/mod.rs @@ -22,7 +22,7 @@ use structopt::StructOpt; use thiserror::Error; pub use self::build::*; -pub use self::doc::*; +pub use self::doc::DocCommand; pub use self::fmt_project::FmtProjectCommand; pub use self::init::{InitCommand, InitKind}; pub use self::plugin::*; @@ -114,9 +114,7 @@ pub enum Subcommand { Upload(UploadCommand), FmtProject(FmtProjectCommand), - - /// Open Rojo's documentation in your browser. - Doc, + Doc(DocCommand), /// Manages Rojo's Roblox Studio plugin. Plugin(PluginCommand),