diff --git a/src/cli/cmds/import.ts b/src/cli/cmds/import.ts index 8fe2e9817..67c48f9a7 100644 --- a/src/cli/cmds/import.ts +++ b/src/cli/cmds/import.ts @@ -7,7 +7,7 @@ import { parseImports } from '../../util'; const config = readConfigSync(); const DEFAULT_OUTDIR = 'imports'; -const LANGUAGES = ['typescript', 'python', 'java', 'go']; +const LANGUAGES = ['dotnet', 'typescript', 'python', 'java', 'go']; class Command implements yargs.CommandModule { public readonly command = 'import [SPEC]'; diff --git a/src/import/base.ts b/src/import/base.ts index e2069508a..62f5d9de7 100644 --- a/src/import/base.ts +++ b/src/import/base.ts @@ -145,6 +145,15 @@ export abstract class ImportBase { }; } + // csharp! + if (options.targetLanguage === Language.DOTNET) { + const csharpName = module.name.replace(/\//g, '.').replace(/-/g, '_').replace(/(?:^|_)([a-z])/g, (_, char) => char.toUpperCase()); + opts.csharp = { + outdir: outdir, + namespace: `Imports.${moduleNamePrefix ? moduleNamePrefix + '.' + csharpName : csharpName}`, + }; + } + await srcmak.srcmak(staging, opts); }); }