diff --git a/cli/src/args.rs b/cli/src/args.rs index 05b79619..800ad719 100644 --- a/cli/src/args.rs +++ b/cli/src/args.rs @@ -12,6 +12,7 @@ pub enum AvailableLanguage { Go, #[cfg(feature = "python")] Python, + CSharp, } #[derive(clap::Parser)] @@ -49,6 +50,10 @@ pub struct Args { #[arg(long)] pub scala_package: Option, + /// CSharp namespace + #[arg(long)] + pub csharp_namespace: Option, + /// Scala serializer module name #[arg(long)] pub scala_module_name: Option, diff --git a/cli/src/main.rs b/cli/src/main.rs index ca087418..dc96d992 100644 --- a/cli/src/main.rs +++ b/cli/src/main.rs @@ -27,7 +27,7 @@ use typeshare_core::language::Go; use typeshare_core::language::Python; use typeshare_core::{ context::ParseContext, - language::{CrateName, Kotlin, Language, Scala, SupportedLanguage, Swift, TypeScript}, + language::{CSharp, CrateName, Kotlin, Language, Scala, SupportedLanguage, Swift, TypeScript}, parser::ParsedData, reconcile::reconcile_aliases, }; @@ -95,6 +95,7 @@ fn generate_types(config_file: Option<&Path>, options: &Args) -> anyhow::Result< args::AvailableLanguage::Go => SupportedLanguage::Go, #[cfg(feature = "python")] args::AvailableLanguage::Python => SupportedLanguage::Python, + args::AvailableLanguage::CSharp => SupportedLanguage::CSharp, }, }; @@ -268,7 +269,7 @@ fn override_configuration(mut config: Config, options: &Args) -> anyhow::Result< config.scala.module_name = scala_module_name.to_string(); } - if let Some(csharp_namespace) = options.value_of(ARG_CSHARP_NAMESPACE) { + if let Some(csharp_namespace) = options.csharp_namespace.as_ref() { config.csharp.namespace = csharp_namespace.to_string(); }