Add 'rojo doc' command

This commit is contained in:
Lucien Greathouse
2020-03-12 16:02:19 -07:00
parent 2a31937b81
commit 255bf439d3
6 changed files with 45 additions and 1 deletions

View File

@@ -11,6 +11,7 @@ fn run(subcommand: Subcommand) -> Result<(), Box<dyn Error>> {
Subcommand::Serve(serve_options) => cli::serve(serve_options)?,
Subcommand::Build(build_options) => cli::build(build_options)?,
Subcommand::Upload(upload_options) => cli::upload(upload_options)?,
Subcommand::Doc => cli::doc()?,
}
Ok(())

26
src/cli/doc.rs Normal file
View File

@@ -0,0 +1,26 @@
use opener::{open, OpenError};
use snafu::Snafu;
#[derive(Debug, Snafu)]
pub struct DocError(Error);
#[derive(Debug, Snafu)]
enum Error {
Open { source: OpenError },
}
impl From<OpenError> for Error {
fn from(source: OpenError) -> Self {
Error::Open { source }
}
}
pub fn doc() -> Result<(), DocError> {
doc_inner()?;
Ok(())
}
fn doc_inner() -> Result<(), Error> {
open("https://rojo.space/docs")?;
Ok(())
}

View File

@@ -1,6 +1,7 @@
//! Defines Rojo's CLI through structopt types.
mod build;
mod doc;
mod init;
mod serve;
mod upload;
@@ -17,6 +18,7 @@ use std::{
use structopt::StructOpt;
pub use self::build::*;
pub use self::doc::*;
pub use self::init::*;
pub use self::serve::*;
pub use self::upload::*;
@@ -48,6 +50,9 @@ pub enum Subcommand {
/// Generates a place or model file out of the project and uploads it to Roblox.
Upload(UploadCommand),
/// Open Rojo's documentation in your browser.
Doc,
}
/// Initializes a new Rojo project.