MCPcopy Create free account
hub / github.com/diillson/chatcli / FormatVersionInfo

Function FormatVersionInfo

version/version.go:302–336  ·  view source on GitHub ↗

FormatVersionInfo retorna uma string formatada com as informações de versão

(info VersionInfo, latest string, hasUpdate bool, checkErr error)

Source from the content-addressed store, hash-verified

300
301// FormatVersionInfo retorna uma string formatada com as informações de versão
302func FormatVersionInfo(info VersionInfo, latest string, hasUpdate bool, checkErr error) string {
303 var result strings.Builder
304
305 // Cabeçalho
306 result.WriteString("\n" + ansiColor("Informações da Versão do ChatCLI", "1;92") + "\n") // Bold + Lime
307 result.WriteString(ansiColor("Aqui está um resumo da versão atual, build e status de atualizações.", ansiGray) + "\n")
308
309 // --- Versão Atual ---
310 result.WriteString("\n " + ansiColor("Versão Atual", ansiLime) + "\n")
311 result.WriteString(fmt.Sprintf(" %s %s\n", ansiColor("Versão:", ansiCyan), ansiColor(displayValue(info.Version), ansiGray)))
312 result.WriteString(fmt.Sprintf(" %s %s\n", ansiColor("Commit Hash:", ansiCyan), ansiColor(displayValue(info.CommitHash), ansiGray)))
313 result.WriteString(fmt.Sprintf(" %s %s\n", ansiColor("Data de Build:", ansiCyan), ansiColor(displayValue(info.BuildDate), ansiGray)))
314
315 // --- Atualizações ---
316 result.WriteString("\n " + ansiColor("Status de Atualizações", ansiLime) + "\n")
317 if checkErr != nil {
318 result.WriteString(fmt.Sprintf(" %s %s\n", ansiColor("Erro na Verificação:", ansiCyan), ansiColor(fmt.Sprintf("Não foi possível verificar: %v", checkErr), ansiYellow)))
319 } else {
320 result.WriteString(fmt.Sprintf(" %s %s\n", ansiColor("Versão Mais Recente:", ansiCyan), ansiColor(latest, ansiGray)))
321 if hasUpdate {
322 result.WriteString(fmt.Sprintf(" %s %s\n", ansiColor("Atualização:", ansiCyan), ansiColor("Disponível! Atualize para a versão mais recente.", ansiGreen)))
323 } else {
324 result.WriteString(fmt.Sprintf(" %s %s\n", ansiColor("Atualização:", ansiCyan), ansiColor("Você está na versão mais recente.", ansiGreen)))
325 }
326 }
327
328 // --- Dica de Atualização ---
329 result.WriteString("\n " + ansiColor("Como Atualizar", ansiLime) + "\n")
330 result.WriteString(fmt.Sprintf(" %s %s\n", ansiColor("Homebrew:", ansiCyan), ansiColor("brew upgrade chatcli", ansiGray)))
331 result.WriteString(fmt.Sprintf(" %s %s\n", ansiColor("Go Install:", ansiCyan), ansiColor("go install github.com/diillson/chatcli@latest", ansiGray)))
332 result.WriteString(fmt.Sprintf(" %s %s\n", ansiColor("Dica:", ansiCyan), ansiColor("Instale via Homebrew: brew tap diillson/chatcli && brew install chatcli", ansiGray)))
333
334 result.WriteString("\n") // Espaço final
335 return result.String()
336}
337
338// GetBuildInfo é o wrapper exportado
339func GetBuildInfo() (string, string, string) {

Callers 4

printVersionInfoFunction · 0.92
handleVersionCommandMethod · 0.92
versionTextMethod · 0.92
TestFormatVersionInfoFunction · 0.85

Calls 3

ansiColorFunction · 0.85
displayValueFunction · 0.85
StringMethod · 0.45

Tested by 1

TestFormatVersionInfoFunction · 0.68