mirror of
https://github.com/anotherhadi/spilltea.git
synced 2026-07-06 20:42:33 +02:00
Add fatal error when port is already in use
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
This commit is contained in:
+16
-2
@@ -137,17 +137,31 @@ func main() {
|
||||
}
|
||||
broker := intercept.NewBroker()
|
||||
m := appUI.New(broker, project.Name, project.Path)
|
||||
if _, err := tea.NewProgram(m).Run(); err != nil {
|
||||
final, err := tea.NewProgram(m).Run()
|
||||
if err != nil {
|
||||
fmt.Fprintf(os.Stderr, "tui: %v\n", err)
|
||||
os.Exit(1)
|
||||
}
|
||||
if app, ok := final.(appUI.Model); ok {
|
||||
if ferr := app.FatalErr(); ferr != nil {
|
||||
fmt.Fprintf(os.Stderr, "error: %v\n", ferr)
|
||||
os.Exit(1)
|
||||
}
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
// Run home + app in a single program to avoid a blank flash on transition.
|
||||
root := rootModel{home: homeUI.New(projectDir)}
|
||||
if _, err := tea.NewProgram(root).Run(); err != nil {
|
||||
final, err := tea.NewProgram(root).Run()
|
||||
if err != nil {
|
||||
fmt.Fprintf(os.Stderr, "tui: %v\n", err)
|
||||
os.Exit(1)
|
||||
}
|
||||
if r, ok := final.(rootModel); ok {
|
||||
if ferr := r.FatalErr(); ferr != nil {
|
||||
fmt.Fprintf(os.Stderr, "error: %v\n", ferr)
|
||||
os.Exit(1)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -58,3 +58,12 @@ func (m rootModel) View() tea.View {
|
||||
}
|
||||
return m.home.View()
|
||||
}
|
||||
|
||||
func (m rootModel) FatalErr() error {
|
||||
if m.state == rootStateApp {
|
||||
if app, ok := m.app.(appUI.Model); ok {
|
||||
return app.FatalErr()
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user