Skip to main content

entrenar/config/cli/research/
cite.rs

1//! Citation command arguments
2
3use clap::Parser;
4use std::path::PathBuf;
5
6use super::super::types::CitationFormat;
7
8/// Arguments for cite command
9#[derive(Parser, Debug, Clone, PartialEq)]
10pub struct CiteArgs {
11    /// Path to artifact YAML file
12    #[arg(value_name = "ARTIFACT")]
13    pub artifact: PathBuf,
14
15    /// Publication year
16    #[arg(long)]
17    pub year: u16,
18
19    /// Output format
20    #[arg(short, long, default_value = "bibtex")]
21    pub format: CitationFormat,
22
23    /// Output file (stdout if not specified)
24    #[arg(short, long)]
25    pub output: Option<PathBuf>,
26
27    /// Journal name
28    #[arg(long)]
29    pub journal: Option<String>,
30
31    /// Volume number
32    #[arg(long)]
33    pub volume: Option<String>,
34
35    /// Page range
36    #[arg(long)]
37    pub pages: Option<String>,
38
39    /// URL
40    #[arg(long)]
41    pub url: Option<String>,
42}