vertigo_cli/watch/
watch_opts.rs1use clap::Args;
2
3use crate::build::{BuildOpts, BuildOptsInner};
4use crate::commons::models::CommonOpts;
5use crate::serve::ServeOptsInner;
6use crate::ServeOpts;
7
8
9#[derive(Args, Debug, Clone)]
10pub struct WatchOpts {
11 #[clap(flatten)]
12 pub common: CommonOpts,
13 #[clap(flatten)]
14 pub build: BuildOptsInner,
15 #[clap(flatten)]
16 pub serve: ServeOptsInner,
17
18 #[arg(long, default_value_t = {5555})]
19 pub port_watch: u16,
20 #[arg(long)]
22 pub add_watch_path: Vec<String>,
23}
24
25impl WatchOpts {
26 pub fn to_build_opts(&self) -> BuildOpts {
27 BuildOpts {
28 common: self.common.clone(),
29 inner: self.build.clone()
30 }
31 }
32
33 pub fn to_serve_opts(&self) -> (ServeOpts, u16) {
34 (
35 ServeOpts {
36 common: self.common.clone(),
37 inner: self.serve.clone()
38 },
39 self.port_watch,
40 )
41 }
42}