fix: create the file passed on the command line when it is missing

A path that did not exist was silently ignored: plotzilla
new-script.fountain opened an untitled document instead of a new
script saved to that file on the first save.
This commit is contained in:
Kharec committed 2026-10-15 17:57:24 +02:00
1 parent b0bcb812b1
commit 6622203506
3 files changed
+9 -4

No files matched your search

+6 -1
View File
@@ -89,13 +89,18 @@ func (a *App) beforeClose(ctx context.Context) bool {
func (a *App) NewDocument() *screenplay.Document { return screenplay.New() }
// InitialFile returns the script passed on the command line, if any.
// InitialFile returns the script passed on the command line, if any. A
// path that does not exist yet opens a new script, written there on the
// first save: `plotzilla new-script.fountain` creates the file.
func (a *App) InitialFile() (*OpenResult, error) {
if a.initialPath == "" {
return nil, nil
}
path := a.initialPath
a.initialPath = ""
if _, err := os.Stat(path); errors.Is(err, os.ErrNotExist) {
return &OpenResult{Path: path, Document: screenplay.New()}, nil
}
return a.load(path)
}