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

     1  // Copyright (c) Mondoo, Inc.
     2  // SPDX-License-Identifier: BUSL-1.1
     3  
     4  package theme
     5  
     6  import (
     7  	"strings"
     8  
     9  	prompt "github.com/c-bata/go-prompt"
    10  	"github.com/muesli/termenv"
    11  	"go.mondoo.com/cnquery/cli/printer"
    12  	"go.mondoo.com/cnquery/cli/theme/colors"
    13  )
    14  
    15  // OperatingSystemTheme for windows shell
    16  var OperatingSystemTheme = &Theme{
    17  	Colors: colors.DefaultColorTheme,
    18  	// NOTE: windows cmd does not render purple well
    19  	PromptColors: PromptColors{
    20  		PrefixTextColor:              prompt.Fuchsia,
    21  		PreviewSuggestionTextColor:   prompt.Fuchsia,
    22  		PreviewSuggestionBGColor:     prompt.DefaultColor,
    23  		SuggestionTextColor:          prompt.Black,
    24  		SuggestionBGColor:            prompt.White,
    25  		SelectedSuggestionTextColor:  prompt.White,
    26  		SelectedSuggestionBGColor:    prompt.Fuchsia,
    27  		DescriptionTextColor:         prompt.DefaultColor,
    28  		DescriptionBGColor:           prompt.Fuchsia,
    29  		SelectedDescriptionTextColor: prompt.Fuchsia,
    30  		SelectedDescriptionBGColor:   prompt.White,
    31  		ScrollbarBGColor:             prompt.Fuchsia,
    32  		ScrollbarThumbColor:          prompt.White,
    33  	},
    34  	List: func(items ...string) string {
    35  		var w strings.Builder
    36  		for i := range items {
    37  			w.WriteString("- " + items[i] + "\n")
    38  		}
    39  		res := w.String()
    40  		return res[0 : len(res)-1]
    41  	},
    42  	Landing: termenv.String("cnquery™\n" + logo + "\n").Foreground(colors.DefaultColorTheme.Primary).String(),
    43  	Welcome: "cnquery™\n" + logo + " interactive shell\n",
    44  	// NOTE: this is important to be short for windows, otherwise the auto-complete will make strange be jumps
    45  	// ENSURE YOU TEST A CHANGE BEFORE COMMIT ON WINDOWS
    46  	Prefix:        "> ",
    47  	PolicyPrinter: printer.DefaultPrinter,
    48  }