go.mondoo.com/cnquery@v0.0.0-20231005093811-59568235f6ea/cli/theme/os_colors.go (about)

     1  // Copyright (c) Mondoo, Inc.
     2  // SPDX-License-Identifier: BUSL-1.1
     3  
     4  //go:build !windows
     5  
     6  package theme
     7  
     8  import (
     9  	"strings"
    10  
    11  	prompt "github.com/c-bata/go-prompt"
    12  	"github.com/muesli/termenv"
    13  	"go.mondoo.com/cnquery/cli/printer"
    14  	"go.mondoo.com/cnquery/cli/theme/colors"
    15  )
    16  
    17  // OperatingSystemTheme for unix shell
    18  var OperatingSystemTheme = &Theme{
    19  	Colors: colors.DefaultColorTheme,
    20  	PromptColors: PromptColors{
    21  		PrefixTextColor:              prompt.Purple,
    22  		PreviewSuggestionTextColor:   prompt.Blue,
    23  		PreviewSuggestionBGColor:     prompt.DefaultColor,
    24  		SuggestionTextColor:          prompt.DefaultColor,
    25  		SuggestionBGColor:            prompt.DarkGray,
    26  		SelectedSuggestionTextColor:  prompt.White,
    27  		SelectedSuggestionBGColor:    prompt.Purple,
    28  		DescriptionTextColor:         prompt.DefaultColor,
    29  		DescriptionBGColor:           prompt.Purple,
    30  		SelectedDescriptionTextColor: prompt.DefaultColor,
    31  		SelectedDescriptionBGColor:   prompt.Fuchsia,
    32  		ScrollbarBGColor:             prompt.Fuchsia,
    33  		ScrollbarThumbColor:          prompt.DefaultColor,
    34  	},
    35  	List: func(items ...string) string {
    36  		var w strings.Builder
    37  		for i := range items {
    38  			w.WriteString("- " + items[i] + "\n")
    39  		}
    40  		res := w.String()
    41  		return res[0 : len(res)-1]
    42  	},
    43  	Landing:       termenv.String(logo).Foreground(colors.DefaultColorTheme.Primary).String(),
    44  	Welcome:       logo + " interactive shell\n",
    45  	Prefix:        "cnquery> ",
    46  	PolicyPrinter: printer.DefaultPrinter,
    47  }