summaryrefslogtreecommitdiff
path: root/internal/client/tui/compose.go
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2024-09-21 14:03:45 +0300
committerPaul Buetow <paul@buetow.org>2024-09-21 14:03:45 +0300
commitdff4d455e07d639b82a0bed814f41d0656e9b6d0 (patch)
tree56289a6fd80a00a9724992ab9cb8b3d7215ebedf /internal/client/tui/compose.go
parent780ade3dc066afb8a43be824373414f3d316ebd6 (diff)
cleanup
Diffstat (limited to 'internal/client/tui/compose.go')
-rw-r--r--internal/client/tui/compose.go64
1 files changed, 0 insertions, 64 deletions
diff --git a/internal/client/tui/compose.go b/internal/client/tui/compose.go
deleted file mode 100644
index 61883f8..0000000
--- a/internal/client/tui/compose.go
+++ /dev/null
@@ -1,64 +0,0 @@
-package tui
-
-import (
- "context"
- "fmt"
- "log"
- "os"
- "os/exec"
- "time"
-
- config "codeberg.org/snonux/gos/internal/config/client"
- tea "github.com/charmbracelet/bubbletea"
-)
-
-type composePostAction int
-
-const (
- noPostAction composePostAction = iota
- queueAfterCompose
- submitAfterCompose
-)
-
-func composeActionCmd(ctx context.Context, conf config.ClientConfig, postAction composePostAction) tea.Cmd {
- err := ensureDirectoryExists(conf.DataDir)
- composeFile := fmt.Sprintf("%s/%s", conf.DataDir, conf.ComposeFile)
- log.Println("Composing", composeFile)
-
- return openEditorCmd(conf.Editor, composeFile, func() error {
- if err != nil {
- return err
- }
-
- switch postAction {
- case submitAfterCompose:
- return submitEntry(ctx, conf, composeFile)
- case queueAfterCompose:
- timestamp := time.Now().Format("20060102-150405")
- queuedFile := fmt.Sprintf("%s/queued-%s.txt", conf.DataDir, timestamp)
- return os.Rename(composeFile, queuedFile)
- }
-
- return nil
- })
-}
-
-func openEditorCmd(editor, filePath string, cb func() error) tea.Cmd {
- return tea.ExecProcess(exec.Command(editor, filePath), func(err error) tea.Msg {
- return finishedMsg{
- cb: cb,
- err: err,
- }
- })
-}
-
-func ensureDirectoryExists(dir string) error {
- info, err := os.Stat(dir)
- if err != nil && os.IsNotExist(err) {
- return os.MkdirAll(dir, os.ModePerm)
- }
- if info.IsDir() {
- return nil
- }
- return fmt.Errorf("path %s is not a directory", dir)
-}