diff options
author | Koni Marti <koni.marti@gmail.com> | 2023-11-24 16:03:01 +0100 |
---|---|---|
committer | Robin Jarry <robin@jarry.cc> | 2023-12-30 15:42:09 +0100 |
commit | f98382d1dfc8970d3006fcc2175dd514bf7e07d0 (patch) | |
tree | 506a085a962d6d83ac223a2ad43e98a27afcc0f9 /commands | |
parent | 07c1cefcf62dbd094b6f97061c469264ee089898 (diff) | |
download | aerc-f98382d1dfc8970d3006fcc2175dd514bf7e07d0.tar.gz |
patch/init: add init sub-cmd
Implement the :patch init command to initialize a new project.
Signed-off-by: Koni Marti <koni.marti@gmail.com>
Acked-by: Robin Jarry <robin@jarry.cc>
Diffstat (limited to 'commands')
-rw-r--r-- | commands/patch/init.go | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/commands/patch/init.go b/commands/patch/init.go new file mode 100644 index 00000000..328fcd9f --- /dev/null +++ b/commands/patch/init.go @@ -0,0 +1,36 @@ +package patch + +import ( + "fmt" + "os" + "path/filepath" + + "git.sr.ht/~rjarry/aerc/lib/pama" +) + +type Init struct { + Force bool `opt:"-f"` + Name string `opt:"name" required:"false"` +} + +func init() { + register(Init{}) +} + +func (Init) Aliases() []string { + return []string{"init"} +} + +func (i Init) Execute(args []string) error { + cwd, err := os.Getwd() + if err != nil { + return fmt.Errorf("Could not get current directory: %w", err) + } + + name := i.Name + if name == "" { + name = filepath.Base(cwd) + } + + return pama.New().Init(name, cwd, i.Force) +} |