mirror of
https://github.com/jesseduffield/lazygit.git
synced 2025-08-07 22:02:56 +03:00
Split createAllViews
Split it so createAllViews instanciates the views, and sets those properties that are independent of the user config, and configureViewProperties which sets those things that do depend on the user config. For now we call the second right after the first, but later we'll call configureViewProperties after reloading the user config.
This commit is contained in:
@@ -679,6 +679,8 @@ func (gui *Gui) Run(startArgs appTypes.StartArgs) error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
gui.configureViewProperties()
|
||||||
|
|
||||||
// onNewRepo must be called after g.SetManager because SetManager deletes keybindings
|
// onNewRepo must be called after g.SetManager because SetManager deletes keybindings
|
||||||
if err := gui.onNewRepo(startArgs, context.NO_CONTEXT); err != nil {
|
if err := gui.onNewRepo(startArgs, context.NO_CONTEXT); err != nil {
|
||||||
return err
|
return err
|
||||||
|
@@ -73,26 +73,12 @@ func (gui *Gui) orderedViewNameMappings() []viewNameMapping {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (gui *Gui) createAllViews() error {
|
func (gui *Gui) createAllViews() error {
|
||||||
frameRunes := []rune{'─', '│', '┌', '┐', '└', '┘'}
|
|
||||||
switch gui.c.UserConfig.Gui.Border {
|
|
||||||
case "double":
|
|
||||||
frameRunes = []rune{'═', '║', '╔', '╗', '╚', '╝'}
|
|
||||||
case "rounded":
|
|
||||||
frameRunes = []rune{'─', '│', '╭', '╮', '╰', '╯'}
|
|
||||||
case "hidden":
|
|
||||||
frameRunes = []rune{' ', ' ', ' ', ' ', ' ', ' '}
|
|
||||||
}
|
|
||||||
|
|
||||||
var err error
|
var err error
|
||||||
for _, mapping := range gui.orderedViewNameMappings() {
|
for _, mapping := range gui.orderedViewNameMappings() {
|
||||||
*mapping.viewPtr, err = gui.prepareView(mapping.name)
|
*mapping.viewPtr, err = gui.prepareView(mapping.name)
|
||||||
if err != nil && !gocui.IsUnknownView(err) {
|
if err != nil && !gocui.IsUnknownView(err) {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
(*mapping.viewPtr).FrameRunes = frameRunes
|
|
||||||
(*mapping.viewPtr).FgColor = theme.GocuiDefaultTextColor
|
|
||||||
(*mapping.viewPtr).SelBgColor = theme.GocuiSelectedLineBgColor
|
|
||||||
(*mapping.viewPtr).InactiveViewSelBgColor = theme.GocuiInactiveViewSelectedLineBgColor
|
|
||||||
}
|
}
|
||||||
|
|
||||||
gui.Views.Options.Frame = false
|
gui.Views.Options.Frame = false
|
||||||
@@ -131,7 +117,6 @@ func (gui *Gui) createAllViews() error {
|
|||||||
view.Title = gui.c.Tr.DiffTitle
|
view.Title = gui.c.Tr.DiffTitle
|
||||||
view.Wrap = true
|
view.Wrap = true
|
||||||
view.IgnoreCarriageReturns = true
|
view.IgnoreCarriageReturns = true
|
||||||
view.CanScrollPastBottom = gui.c.UserConfig.Gui.ScrollPastBottom
|
|
||||||
}
|
}
|
||||||
|
|
||||||
gui.Views.Staging.Title = gui.c.Tr.UnstagedChanges
|
gui.Views.Staging.Title = gui.c.Tr.UnstagedChanges
|
||||||
@@ -166,11 +151,8 @@ func (gui *Gui) createAllViews() error {
|
|||||||
|
|
||||||
gui.Views.CommitDescription.Visible = false
|
gui.Views.CommitDescription.Visible = false
|
||||||
gui.Views.CommitDescription.Title = gui.c.Tr.CommitDescriptionTitle
|
gui.Views.CommitDescription.Title = gui.c.Tr.CommitDescriptionTitle
|
||||||
gui.Views.CommitDescription.FgColor = theme.GocuiDefaultTextColor
|
|
||||||
gui.Views.CommitDescription.Editable = true
|
gui.Views.CommitDescription.Editable = true
|
||||||
gui.Views.CommitDescription.Editor = gocui.EditorFunc(gui.commitDescriptionEditor)
|
gui.Views.CommitDescription.Editor = gocui.EditorFunc(gui.commitDescriptionEditor)
|
||||||
gui.Views.CommitDescription.TextArea.AutoWrap = gui.c.UserConfig.Git.Commit.AutoWrapCommitMessage
|
|
||||||
gui.Views.CommitDescription.TextArea.AutoWrapWidth = gui.c.UserConfig.Git.Commit.AutoWrapWidth
|
|
||||||
|
|
||||||
gui.Views.Confirmation.Visible = false
|
gui.Views.Confirmation.Visible = false
|
||||||
gui.Views.Confirmation.Editor = gocui.EditorFunc(gui.promptEditor)
|
gui.Views.Confirmation.Editor = gocui.EditorFunc(gui.promptEditor)
|
||||||
@@ -192,6 +174,37 @@ func (gui *Gui) createAllViews() error {
|
|||||||
gui.Views.Snake.Title = gui.c.Tr.SnakeTitle
|
gui.Views.Snake.Title = gui.c.Tr.SnakeTitle
|
||||||
gui.Views.Snake.FgColor = gocui.ColorGreen
|
gui.Views.Snake.FgColor = gocui.ColorGreen
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (gui *Gui) configureViewProperties() {
|
||||||
|
frameRunes := []rune{'─', '│', '┌', '┐', '└', '┘'}
|
||||||
|
switch gui.c.UserConfig.Gui.Border {
|
||||||
|
case "double":
|
||||||
|
frameRunes = []rune{'═', '║', '╔', '╗', '╚', '╝'}
|
||||||
|
case "rounded":
|
||||||
|
frameRunes = []rune{'─', '│', '╭', '╮', '╰', '╯'}
|
||||||
|
case "hidden":
|
||||||
|
frameRunes = []rune{' ', ' ', ' ', ' ', ' ', ' '}
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, mapping := range gui.orderedViewNameMappings() {
|
||||||
|
(*mapping.viewPtr).FrameRunes = frameRunes
|
||||||
|
(*mapping.viewPtr).BgColor = gui.g.BgColor
|
||||||
|
(*mapping.viewPtr).FgColor = theme.GocuiDefaultTextColor
|
||||||
|
(*mapping.viewPtr).SelBgColor = theme.GocuiSelectedLineBgColor
|
||||||
|
(*mapping.viewPtr).SelFgColor = gui.g.SelFgColor
|
||||||
|
(*mapping.viewPtr).InactiveViewSelBgColor = theme.GocuiInactiveViewSelectedLineBgColor
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, view := range []*gocui.View{gui.Views.Main, gui.Views.Secondary, gui.Views.Staging, gui.Views.StagingSecondary, gui.Views.PatchBuilding, gui.Views.PatchBuildingSecondary, gui.Views.MergeConflicts} {
|
||||||
|
view.CanScrollPastBottom = gui.c.UserConfig.Gui.ScrollPastBottom
|
||||||
|
}
|
||||||
|
|
||||||
|
gui.Views.CommitDescription.FgColor = theme.GocuiDefaultTextColor
|
||||||
|
gui.Views.CommitDescription.TextArea.AutoWrap = gui.c.UserConfig.Git.Commit.AutoWrapCommitMessage
|
||||||
|
gui.Views.CommitDescription.TextArea.AutoWrapWidth = gui.c.UserConfig.Git.Commit.AutoWrapWidth
|
||||||
|
|
||||||
if gui.c.UserConfig.Gui.ShowPanelJumps {
|
if gui.c.UserConfig.Gui.ShowPanelJumps {
|
||||||
jumpBindings := gui.c.UserConfig.Keybinding.Universal.JumpToBlock
|
jumpBindings := gui.c.UserConfig.Keybinding.Universal.JumpToBlock
|
||||||
jumpLabels := lo.Map(jumpBindings, func(binding string, _ int) string {
|
jumpLabels := lo.Map(jumpBindings, func(binding string, _ int) string {
|
||||||
@@ -212,7 +225,20 @@ func (gui *Gui) createAllViews() error {
|
|||||||
gui.Views.ReflogCommits.TitlePrefix = jumpLabels[3]
|
gui.Views.ReflogCommits.TitlePrefix = jumpLabels[3]
|
||||||
|
|
||||||
gui.Views.Stash.TitlePrefix = jumpLabels[4]
|
gui.Views.Stash.TitlePrefix = jumpLabels[4]
|
||||||
}
|
} else {
|
||||||
|
gui.Views.Status.TitlePrefix = ""
|
||||||
|
|
||||||
return nil
|
gui.Views.Files.TitlePrefix = ""
|
||||||
|
gui.Views.Worktrees.TitlePrefix = ""
|
||||||
|
gui.Views.Submodules.TitlePrefix = ""
|
||||||
|
|
||||||
|
gui.Views.Branches.TitlePrefix = ""
|
||||||
|
gui.Views.Remotes.TitlePrefix = ""
|
||||||
|
gui.Views.Tags.TitlePrefix = ""
|
||||||
|
|
||||||
|
gui.Views.Commits.TitlePrefix = ""
|
||||||
|
gui.Views.ReflogCommits.TitlePrefix = ""
|
||||||
|
|
||||||
|
gui.Views.Stash.TitlePrefix = ""
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user