diff options
author | Ellie Huxtable <e@elm.sh> | 2021-02-14 13:28:01 +0000 |
---|---|---|
committer | Ellie Huxtable <e@elm.sh> | 2021-02-14 13:28:01 +0000 |
commit | d128297e67c49b4142e8535241c65efcc0ed640e (patch) | |
tree | 10ea1626126c4c8a569f12e72f137886ff48f44c /src | |
parent | 4fbd43dfe1c1f30329e23c5a477d1c476d6e3c94 (diff) |
Make clippy annoying asf + add server
Diffstat (limited to 'src')
-rw-r--r-- | src/command/mod.rs | 1 | ||||
-rw-r--r-- | src/command/server.rs | 16 | ||||
-rw-r--r-- | src/main.rs | 15 | ||||
-rw-r--r-- | src/server/mod.rs | 1 | ||||
-rw-r--r-- | src/server/server.rs | 8 |
5 files changed, 38 insertions, 3 deletions
diff --git a/src/command/mod.rs b/src/command/mod.rs index c61d2280..5c36146a 100644 --- a/src/command/mod.rs +++ b/src/command/mod.rs @@ -1,2 +1,3 @@ pub mod history; pub mod import; +pub mod server; diff --git a/src/command/server.rs b/src/command/server.rs new file mode 100644 index 00000000..aee64c07 --- /dev/null +++ b/src/command/server.rs @@ -0,0 +1,16 @@ +use eyre::Result; +use structopt::StructOpt; + +use crate::server::server; + +#[derive(StructOpt)] +pub enum ServerCmd { + Start { command: Vec<String> }, +} + +impl ServerCmd { + pub fn run(&self) -> Result<()> { + server::launch(); + Ok(()) + } +} diff --git a/src/main.rs b/src/main.rs index 835ebc86..adcced91 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,3 +1,7 @@ +#![feature(proc_macro_hygiene)] +#![feature(decl_macro)] +#![warn(clippy::pedantic)] + use std::path::PathBuf; use directories::ProjectDirs; @@ -8,12 +12,16 @@ use uuid::Uuid; #[macro_use] extern crate log; -use command::{history::HistoryCmd, import::ImportCmd}; +#[macro_use] +extern crate rocket; + +use command::{history::HistoryCmd, import::ImportCmd, server::ServerCmd}; use local::database::SqliteDatabase; use local::history::History; mod command; mod local; +mod server; #[derive(StructOpt)] #[structopt( @@ -41,7 +49,7 @@ enum AtuinCmd { Import(ImportCmd), #[structopt(about = "start an atuin server")] - Server, + Server(ServerCmd), #[structopt(about = "generates a UUID")] Uuid, @@ -71,11 +79,12 @@ impl Atuin { match self.atuin { AtuinCmd::History(history) => history.run(&mut db), AtuinCmd::Import(import) => import.run(&mut db), + AtuinCmd::Server(server) => server.run(), + AtuinCmd::Uuid => { println!("{}", Uuid::new_v4().to_simple().to_string()); Ok(()) } - _ => Ok(()), } } } diff --git a/src/server/mod.rs b/src/server/mod.rs new file mode 100644 index 00000000..74f47ad3 --- /dev/null +++ b/src/server/mod.rs @@ -0,0 +1 @@ +pub mod server; diff --git a/src/server/server.rs b/src/server/server.rs new file mode 100644 index 00000000..82acbe21 --- /dev/null +++ b/src/server/server.rs @@ -0,0 +1,8 @@ +#[get("/")] +fn index() -> &'static str { + "Hello, world!" +} + +pub fn launch() { + rocket::ignite().mount("/", routes![index]).launch(); +} |