package projects import "github.com/pterm/pterm" func (p *Project) GetGitInfo() string { repo := p.GetRepo() if repo == nil { return "No Repo" } var str string str += "\n" + pterm.LightRed("Project: ") + pterm.Bold.Sprint(p.Name) + "\n" head, _ := repo.Head() branch := head.Name().String()[11:] b, _ := repo.Branch(branch) if b != nil { str += pterm.LightCyan("Branch: ") + pterm.Bold.Sprint(b.Name) + "\n" } else { str += pterm.LightCyan("NEW Branch: ") + pterm.Bold.Sprint(branch) + "\n" } commit, _ := repo.CommitObject(head.Hash()) str += "\n" + commit.String() str += pterm.LightMagenta("Git: ") + pterm.Bold.Sprint(p.HTTPURLToRepo) + "\n" if remotes, _ := repo.Remotes(); len(remotes) > 0 { str += pterm.LightBlue("Remote: ") + pterm.Bold.Sprint(remotes[0].Config().URLs[0]) } return pterm.DefaultBox. WithLeftPadding(5).WithRightPadding(5). WithBoxStyle(&pterm.Style{pterm.FgLightBlue}). WithTitle(pterm.Bold.Sprint(pterm.LightGreen("Project Git Status"))). Sprint(str) }