1
0
mirror of https://github.com/jesseduffield/lazygit.git synced 2025-03-31 22:22:14 +02:00

pkg/gui: Add support for 'notification' popups

Add a new 'Notification()' method to 'IPopupHandler' that makes it easier to
show a modal info message to the user. This is simply a convenience wrapper
around 'Ask()', so the popup can be closed using both 'Enter' and 'ESC'.
This commit is contained in:
Moritz Haase 2022-03-24 11:19:08 +01:00 committed by Jesse Duffield
parent ac406f57ff
commit 9bccc20888
2 changed files with 13 additions and 1 deletions

View File

@ -85,6 +85,10 @@ func (self *RealPopupHandler) ErrorMsg(message string) error {
})
}
func (self *RealPopupHandler) Alert(title string, message string) error {
return self.Ask(types.AskOpts{Title: title, Prompt: message})
}
func (self *RealPopupHandler) Ask(opts types.AskOpts) error {
self.Lock()
self.index++
@ -147,7 +151,7 @@ func (self *RealPopupHandler) WithLoaderPanel(message string, f func() error) er
}
// returns the content that has currently been typed into the prompt. Useful for
// asyncronously updating the suggestions list under the prompt.
// asynchronously updating the suggestions list under the prompt.
func (self *RealPopupHandler) GetPromptInput() string {
return self.getPromptInputFn()
}
@ -168,6 +172,10 @@ func (self *TestPopupHandler) ErrorMsg(message string) error {
return self.OnErrorMsg(message)
}
func (self *TestPopupHandler) Alert(title string, message string) error {
panic("not yet implemented")
}
func (self *TestPopupHandler) Ask(opts types.AskOpts) error {
return self.OnAsk(opts)
}

View File

@ -50,6 +50,10 @@ type IGuiCommon interface {
type IPopupHandler interface {
ErrorMsg(message string) error
Error(err error) error
// Shows a notification popup with the given title and message to the user.
//
// This is a convenience wrapper around Ask(), thus the popup can be closed using both 'Enter' and 'ESC'.
Alert(title string, message string) error
Ask(opts AskOpts) error
Prompt(opts PromptOpts) error
WithLoaderPanel(message string, f func() error) error