diff --git a/cmd/auth/profiles.go b/cmd/auth/profiles.go index 465d45bf..d3b167b7 100644 --- a/cmd/auth/profiles.go +++ b/cmd/auth/profiles.go @@ -99,8 +99,8 @@ var profilesCmd = &cobra.Command{ Short: "Lists profiles from ~/.databrickscfg", Annotations: map[string]string{ "template": cmdio.Heredoc(` - {{white "Name"}} {{white "Host"}} {{white "Valid"}} - {{range .Profiles}}{{.Name | green}} {{.Host|white}} {{bool .Valid}} + {{header "Name"}} {{header "Host"}} {{header "Valid"}} + {{range .Profiles}}{{.Name | green}} {{.Host|cyan}} {{bool .Valid}} {{end}}`), }, RunE: func(cmd *cobra.Command, args []string) error { diff --git a/cmd/workspace/catalogs/overrides.go b/cmd/workspace/catalogs/overrides.go index 574c9577..5b8cffea 100644 --- a/cmd/workspace/catalogs/overrides.go +++ b/cmd/workspace/catalogs/overrides.go @@ -4,7 +4,7 @@ import "github.com/databricks/cli/libs/cmdio" func init() { listCmd.Annotations["template"] = cmdio.Heredoc(` - {{white "Name"}} {{white "Type"}} {{white "Comment"}} + {{header "Name"}} {{header "Type"}} {{header "Comment"}} {{range .}}{{.Name|green}} {{blue "%s" .CatalogType}} {{.Comment}} {{end}}`) } diff --git a/cmd/workspace/clusters/overrides.go b/cmd/workspace/clusters/overrides.go index f98ac592..1e881895 100644 --- a/cmd/workspace/clusters/overrides.go +++ b/cmd/workspace/clusters/overrides.go @@ -4,8 +4,8 @@ import "github.com/databricks/cli/libs/cmdio" func init() { listCmd.Annotations["template"] = cmdio.Heredoc(` - {{white "ID"}} {{white "Name"}} {{white "State"}} - {{range .}}{{.ClusterId | green}} {{.ClusterName|white}} {{if eq .State "RUNNING"}}{{green "%s" .State}}{{else if eq .State "TERMINATED"}}{{red "%s" .State}}{{else}}{{blue "%s" .State}}{{end}} + {{header "ID"}} {{header "Name"}} {{header "State"}} + {{range .}}{{.ClusterId | green}} {{.ClusterName | cyan}} {{if eq .State "RUNNING"}}{{green "%s" .State}}{{else if eq .State "TERMINATED"}}{{red "%s" .State}}{{else}}{{blue "%s" .State}}{{end}} {{end}}`) listNodeTypesCmd.Annotations["template"] = cmdio.Heredoc(` diff --git a/cmd/workspace/dashboards/overrides.go b/cmd/workspace/dashboards/overrides.go index 87bc14e4..ba7e42ec 100644 --- a/cmd/workspace/dashboards/overrides.go +++ b/cmd/workspace/dashboards/overrides.go @@ -4,7 +4,7 @@ import "github.com/databricks/cli/libs/cmdio" func init() { listCmd.Annotations["template"] = cmdio.Heredoc(` - {{white "ID"}} {{white "Name"}} + {{header "ID"}} {{header "Name"}} {{range .}}{{.Id|green}} {{.Name}} {{end}}`) } diff --git a/cmd/workspace/external-locations/overrides.go b/cmd/workspace/external-locations/overrides.go index 7afd7da0..7efd193d 100644 --- a/cmd/workspace/external-locations/overrides.go +++ b/cmd/workspace/external-locations/overrides.go @@ -4,7 +4,7 @@ import "github.com/databricks/cli/libs/cmdio" func init() { listCmd.Annotations["template"] = cmdio.Heredoc(` - {{white "Name"}} {{white "Credential"}} {{white "URL"}} - {{range .}}{{.Name|green}} {{.CredentialName|blue}} {{.Url}} + {{header "Name"}} {{header "Credential"}} {{header "URL"}} + {{range .}}{{.Name|green}} {{.CredentialName|cyan}} {{.Url}} {{end}}`) } diff --git a/cmd/workspace/jobs/overrides.go b/cmd/workspace/jobs/overrides.go index 103176cb..93512c84 100644 --- a/cmd/workspace/jobs/overrides.go +++ b/cmd/workspace/jobs/overrides.go @@ -8,7 +8,7 @@ func init() { {{end}}`) listRunsCmd.Annotations["template"] = cmdio.Heredoc(` - {{"Job ID"|white}} {{"Run ID"|white}} {{"Result State"|white}} URL - {{range .}}{{green "%d" .JobId}} {{blue "%d" .RunId}} {{if eq .State.ResultState "SUCCESS"}}{{"SUCCESS"|green}}{{else}}{{red "%s" .State.ResultState}}{{end}} {{.RunPageUrl}} + {{header "Job ID"}} {{header "Run ID"}} {{header "Result State"}} URL + {{range .}}{{green "%d" .JobId}} {{cyan "%d" .RunId}} {{if eq .State.ResultState "SUCCESS"}}{{"SUCCESS"|green}}{{else}}{{red "%s" .State.ResultState}}{{end}} {{.RunPageUrl}} {{end}}`) } diff --git a/cmd/workspace/metastores/overrides.go b/cmd/workspace/metastores/overrides.go index d53675d0..9d1c23ac 100644 --- a/cmd/workspace/metastores/overrides.go +++ b/cmd/workspace/metastores/overrides.go @@ -4,7 +4,7 @@ import "github.com/databricks/cli/libs/cmdio" func init() { listCmd.Annotations["template"] = cmdio.Heredoc(` - {{white "ID"}} {{white "Name"}} {{white "Region"}} - {{range .}}{{.MetastoreId|green}} {{.Name|white}} {{.Region}} + {{header "ID"}} {{header "Name"}} {{"Region"}} + {{range .}}{{.MetastoreId|green}} {{.Name|cyan}} {{.Region}} {{end}}`) } diff --git a/cmd/workspace/queries/overrides.go b/cmd/workspace/queries/overrides.go index cc22ffae..86f47388 100644 --- a/cmd/workspace/queries/overrides.go +++ b/cmd/workspace/queries/overrides.go @@ -5,7 +5,7 @@ import "github.com/databricks/cli/libs/cmdio" func init() { // TODO: figure out colored/non-colored headers and colspan shifts listCmd.Annotations["template"] = cmdio.Heredoc(` - {{white "ID"}} {{white "Name"}} {{white "Author"}} - {{range .}}{{.Id|green}} {{.Name|white}} {{.User.Email|white}} + {{header "ID"}} {{header "Name"}} {{header "Author"}} + {{range .}}{{.Id|green}} {{.Name|cyan}} {{.User.Email|cyan}} {{end}}`) } diff --git a/cmd/workspace/query-history/overrides.go b/cmd/workspace/query-history/overrides.go index 11f0d9c8..7e702069 100644 --- a/cmd/workspace/query-history/overrides.go +++ b/cmd/workspace/query-history/overrides.go @@ -5,6 +5,6 @@ import "github.com/databricks/cli/libs/cmdio" func init() { // TODO: figure out the right format listCmd.Annotations["template"] = cmdio.Heredoc(` - {{range .}}{{.UserName}} {{white "%s" .Status}} {{.QueryText}} + {{range .}}{{.UserName}} {{cyan "%s" .Status}} {{.QueryText}} {{end}}`) } diff --git a/cmd/workspace/schemas/overrides.go b/cmd/workspace/schemas/overrides.go index fbf4bebc..4ff8bf12 100644 --- a/cmd/workspace/schemas/overrides.go +++ b/cmd/workspace/schemas/overrides.go @@ -4,7 +4,7 @@ import "github.com/databricks/cli/libs/cmdio" func init() { listCmd.Annotations["template"] = cmdio.Heredoc(` - {{white "Full Name"}} {{white "Owner"}} {{white "Comment"}} - {{range .}}{{.FullName|green}} {{.Owner|white}} {{.Comment}} + {{header "Full Name"}} {{header "Owner"}} {{header "Comment"}} + {{range .}}{{.FullName|green}} {{.Owner|cyan}} {{.Comment}} {{end}}`) } diff --git a/cmd/workspace/secrets/overrides.go b/cmd/workspace/secrets/overrides.go index e3ab714f..d46284bf 100644 --- a/cmd/workspace/secrets/overrides.go +++ b/cmd/workspace/secrets/overrides.go @@ -10,7 +10,7 @@ import ( func init() { listScopesCmd.Annotations["template"] = cmdio.Heredoc(` - {{white "Scope"}} {{white "Backend Type"}} + {{header "Scope"}} {{header "Backend Type"}} {{range .}}{{.Name|green}} {{.BackendType}} {{end}}`) diff --git a/cmd/workspace/storage-credentials/overrides.go b/cmd/workspace/storage-credentials/overrides.go index e9643d39..8bce9ffa 100644 --- a/cmd/workspace/storage-credentials/overrides.go +++ b/cmd/workspace/storage-credentials/overrides.go @@ -4,7 +4,7 @@ import "github.com/databricks/cli/libs/cmdio" func init() { listCmd.Annotations["template"] = cmdio.Heredoc(` - {{white "ID"}} {{white "Name"}} {{white "Credentials"}} - {{range .}}{{.Id|green}} {{.Name|white}} {{if .AwsIamRole}}{{.AwsIamRole.RoleArn}}{{end}}{{if .AzureServicePrincipal}}{{.AzureServicePrincipal.ApplicationId}}{{end}}{{if .GcpServiceAccountKey}}{{.Email}}{{end}} + {{header "ID"}} {{header "Name"}} {{header "Credentials"}} + {{range .}}{{.Id|green}} {{.Name|cyan}} {{if .AwsIamRole}}{{.AwsIamRole.RoleArn}}{{end}}{{if .AzureServicePrincipal}}{{.AzureServicePrincipal.ApplicationId}}{{end}}{{if .GcpServiceAccountKey}}{{.Email}}{{end}} {{end}}`) } diff --git a/cmd/workspace/tables/overrides.go b/cmd/workspace/tables/overrides.go index 128821c2..ed9c86ed 100644 --- a/cmd/workspace/tables/overrides.go +++ b/cmd/workspace/tables/overrides.go @@ -4,7 +4,7 @@ import "github.com/databricks/cli/libs/cmdio" func init() { listCmd.Annotations["template"] = cmdio.Heredoc(` - {{white "Full Name"}} {{white "Table Type"}} + {{header "Full Name"}} {{header "Table Type"}} {{range .}}{{.FullName|green}} {{blue "%s" .TableType}} {{end}}`) } diff --git a/cmd/workspace/token-management/overrides.go b/cmd/workspace/token-management/overrides.go index ea3bbaf9..2070e2a2 100644 --- a/cmd/workspace/token-management/overrides.go +++ b/cmd/workspace/token-management/overrides.go @@ -4,7 +4,7 @@ import "github.com/databricks/cli/libs/cmdio" func init() { listCmd.Annotations["template"] = cmdio.Heredoc(` - {{white "ID"}} {{white "Created By"}} {{white "Comment"}} - {{range .}}{{.TokenId|green}} {{.CreatedByUsername|white}} {{.Comment|white}} + {{header "ID"}} {{header "Created By"}} {{header "Comment"}} + {{range .}}{{.TokenId|green}} {{.CreatedByUsername|cyan}} {{.Comment|cyan}} {{end}}`) } diff --git a/cmd/workspace/tokens/overrides.go b/cmd/workspace/tokens/overrides.go index 8d9ba41f..b5673c0e 100644 --- a/cmd/workspace/tokens/overrides.go +++ b/cmd/workspace/tokens/overrides.go @@ -4,7 +4,7 @@ import "github.com/databricks/cli/libs/cmdio" func init() { listCmd.Annotations["template"] = cmdio.Heredoc(` - {{white "ID"}} {{white "Expiry time"}} {{white "Comment"}} - {{range .}}{{.TokenId|green}} {{white "%d" .ExpiryTime}} {{.Comment|white}} + {{header "ID"}} {{header "Expiry time"}} {{header "Comment"}} + {{range .}}{{.TokenId|green}} {{cyan "%d" .ExpiryTime}} {{.Comment|cyan}} {{end}}`) } diff --git a/cmd/workspace/warehouses/overrides.go b/cmd/workspace/warehouses/overrides.go index 5f772330..82319d6f 100644 --- a/cmd/workspace/warehouses/overrides.go +++ b/cmd/workspace/warehouses/overrides.go @@ -4,7 +4,7 @@ import "github.com/databricks/cli/libs/cmdio" func init() { listCmd.Annotations["template"] = cmdio.Heredoc(` - {{white "ID"}} {{white "Name"}} {{white "Size"}} {{white "State"}} - {{range .}}{{.Id|green}} {{.Name|white}} {{.ClusterSize|white}} {{if eq .State "RUNNING"}}{{"RUNNING"|green}}{{else if eq .State "STOPPED"}}{{"STOPPED"|red}}{{else}}{{blue "%s" .State}}{{end}} + {{header "ID"}} {{header "Name"}} {{header "Size"}} {{header "State"}} + {{range .}}{{.Id|green}} {{.Name|cyan}} {{.ClusterSize|cyan}} {{if eq .State "RUNNING"}}{{"RUNNING"|green}}{{else if eq .State "STOPPED"}}{{"STOPPED"|red}}{{else}}{{blue "%s" .State}}{{end}} {{end}}`) } diff --git a/cmd/workspace/workspace/overrides.go b/cmd/workspace/workspace/overrides.go index 61186890..0a00ba25 100644 --- a/cmd/workspace/workspace/overrides.go +++ b/cmd/workspace/workspace/overrides.go @@ -5,7 +5,7 @@ import "github.com/databricks/cli/libs/cmdio" func init() { listReq.Path = "/" listCmd.Annotations["template"] = cmdio.Heredoc(` - {{white "ID"}} {{white "Type"}} {{white "Language"}} {{white "Path"}} - {{range .}}{{green "%d" .ObjectId}} {{blue "%s" .ObjectType}} {{cyan "%s" .Language}} {{.Path|white}} + {{header "ID"}} {{header "Type"}} {{header "Language"}} {{header "Path"}} + {{range .}}{{green "%d" .ObjectId}} {{blue "%s" .ObjectType}} {{cyan "%s" .Language}} {{.Path|cyan}} {{end}}`) } diff --git a/libs/cmdio/render.go b/libs/cmdio/render.go index 8aff2b8d..4ffd563f 100644 --- a/libs/cmdio/render.go +++ b/libs/cmdio/render.go @@ -58,8 +58,7 @@ func renderTemplate(w io.Writer, tmpl string, v any) error { // we render colored output if stdout is TTY, otherwise we render text. // in the future we'll check if we can explicitly check for stderr being // a TTY - "black": color.BlackString, - "white": color.WhiteString, + "header": color.BlueString, "red": color.RedString, "green": color.GreenString, "blue": color.BlueString, @@ -107,8 +106,9 @@ func fancyJSON(v any) ([]byte, error) { f.FalseColor = color.New(color.FgRed) f.NumberColor = color.New(color.FgCyan) f.NullColor = color.New(color.FgMagenta) - f.FieldColor = color.New(color.FgWhite, color.Bold) - f.FieldQuoteColor = color.New(color.FgWhite) + f.ObjectColor = color.New(color.Reset) + f.CommaColor = color.New(color.Reset) + f.ColonColor = color.New(color.Reset) return jsoncolor.MarshalIndentWithFormatter(v, "", " ", f) }