diff options
| author | Paul Buetow <paul@buetow.org> | 2024-09-21 14:03:45 +0300 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2024-09-21 14:03:45 +0300 |
| commit | dff4d455e07d639b82a0bed814f41d0656e9b6d0 (patch) | |
| tree | 56289a6fd80a00a9724992ab9cb8b3d7215ebedf /internal/client/tui/compose.go | |
| parent | 780ade3dc066afb8a43be824373414f3d316ebd6 (diff) | |
cleanup
Diffstat (limited to 'internal/client/tui/compose.go')
| -rw-r--r-- | internal/client/tui/compose.go | 64 |
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) -} |
