on main help sign in
fix: make hyper and copilot link styled on ui (#1872)
7c96457Andrey Nering
internal/agent/agent.go+4−2
@@ -38,6 +38,7 @@ import (
38 "github.com/charmbracelet/crush/internal/permission"
38 "github.com/charmbracelet/crush/internal/permission"
39 "github.com/charmbracelet/crush/internal/session"
39 "github.com/charmbracelet/crush/internal/session"
40 "github.com/charmbracelet/crush/internal/stringext"
40 "github.com/charmbracelet/crush/internal/stringext"
41+ "github.com/charmbracelet/x/exp/charmtone"
41)
42)
42
43
43const (
44const (
@@ -473,18 +474,19 @@ func (a *sessionAgent) Run(ctx context.Context, call SessionAgentCall) (*fantasy
473 var fantasyErr *fantasy.Error
474 var fantasyErr *fantasy.Error
474 var providerErr *fantasy.ProviderError
475 var providerErr *fantasy.ProviderError
475 const defaultTitle = "Provider Error"
476 const defaultTitle = "Provider Error"
477+ linkStyle := lipgloss.NewStyle().Foreground(charmtone.Guac).Underline(true)
476 if isCancelErr {
478 if isCancelErr {
477 currentAssistant.AddFinish(message.FinishReasonCanceled, "User canceled request", "")
479 currentAssistant.AddFinish(message.FinishReasonCanceled, "User canceled request", "")
478 } else if isPermissionErr {
480 } else if isPermissionErr {
479 currentAssistant.AddFinish(message.FinishReasonPermissionDenied, "User denied permission", "")
481 currentAssistant.AddFinish(message.FinishReasonPermissionDenied, "User denied permission", "")
480 } else if errors.Is(err, hyper.ErrNoCredits) {
482 } else if errors.Is(err, hyper.ErrNoCredits) {
481 url := hyper.BaseURL()
483 url := hyper.BaseURL()
482− link := lipgloss.NewStyle().Hyperlink(url, "id=hyper").Render(url)
484+ link := linkStyle.Hyperlink(url, "id=hyper").Render(url)
483 currentAssistant.AddFinish(message.FinishReasonError, "No credits", "You're out of credits. Add more at "+link)
485 currentAssistant.AddFinish(message.FinishReasonError, "No credits", "You're out of credits. Add more at "+link)
484 } else if errors.As(err, &providerErr) {
486 } else if errors.As(err, &providerErr) {
485 if providerErr.Message == "The requested model is not supported." {
487 if providerErr.Message == "The requested model is not supported." {
486 url := "https://github.com/settings/copilot/features"
488 url := "https://github.com/settings/copilot/features"
487− link := lipgloss.NewStyle().Hyperlink(url, "id=hyper").Render(url)
489+ link := linkStyle.Hyperlink(url, "id=copilot").Render(url)
488 currentAssistant.AddFinish(
490 currentAssistant.AddFinish(
489 message.FinishReasonError,
491 message.FinishReasonError,
490 "Copilot model not enabled",
492 "Copilot model not enabled",