31 lines
930 B
C#
31 lines
930 B
C#
using System.CommandLine;
|
|
using MycroForge.Core;
|
|
using MycroForge.Core.Contract;
|
|
|
|
namespace MycroForge.CLI.Commands;
|
|
|
|
public partial class MycroForge
|
|
{
|
|
public partial class Plugin
|
|
{
|
|
public class Init : Command, ISubCommandOf<Plugin>
|
|
{
|
|
private static readonly Argument<string> NameArgument =
|
|
new(name: "name", description: "The name of your project");
|
|
|
|
private readonly ProjectContext _context;
|
|
|
|
public Init(ProjectContext context) : base("init", "Initialize a basic plugin project")
|
|
{
|
|
_context = context;
|
|
AddArgument(NameArgument);
|
|
this.SetHandler(ExecuteAsync, NameArgument);
|
|
}
|
|
|
|
private async Task ExecuteAsync(string name)
|
|
{
|
|
await _context.Bash($"dotnet new m4gp -n {name}");
|
|
}
|
|
}
|
|
}
|
|
} |