Documentation
¶
Index ¶
- Constants
- Variables
- func GetDefaultStyle(atmosConfig schema.AtmosConfiguration) ([]byte, error)
- func GetHelpStyle() ([]byte, error)
- func RenderCodeBlock(renderer *lipgloss.Renderer, content string, terminalWidth int) string
- func SplitMarkdownContent(content string) []string
- type CodeblockStyle
- type Option
- type Renderer
- func (r *Renderer) Render(content string) (string, error)
- func (r *Renderer) RenderAscii(content string) (string, error)
- func (r *Renderer) RenderAsciiWithoutWordWrap(content string) (string, error)
- func (r *Renderer) RenderError(title, details, suggestion string) (string, error)
- func (r *Renderer) RenderErrorf(content string, args ...interface{}) (string, error)
- func (r *Renderer) RenderSuccess(title, details string) (string, error)
- func (r *Renderer) RenderWithoutWordWrap(content string) (string, error)
- func (r *Renderer) RenderWorkflow(content string) (string, error)
Constants ¶
const ( DefaultLightGray = "#e7e5e4" // Light gray for primary text. DefaultMidGray = "#57534e" // Mid gray for secondary text. DefaultDarkGray = "#030014" // Very dark gray (not used for backgrounds). DefaultCodeBackground = "#2F2E36" // Medium gray for code block backgrounds (from Fang) - RGB(47,46,54). DefaultCodeBgANSI256 = "236" // ANSI256 color 236 = RGB(48,48,48) - closest to #2F2E36. DefaultPurple = "#9B51E0" // Purple accent (existing Atmos purple). DefaultWhite = "#FFFFFF" // White for emphasis. )
Default color constants for code blocks.
Variables ¶
var ( White = "#FFFFFF" Purple = "#9B51E0" Blue = "#00A3E0" Gray = "#4A5568" Green = "#48BB78" Yellow = "#ECC94B" Red = "#F56565" LightBlue = "#4299E1" BlueLight = "#63B3ED" GrayLight = "#718096" GrayMid = "#A0AEC0" GrayDark = "#2D3748" GrayBorder = "#CBD5E0" OffWhite = "#F7FAFC" DarkSlate = "#1A202C" GreenLight = "#68D391" YellowLight = "#F6E05E" RedLight = "#FC8181" )
Base colors used throughout the application.
var Colors = struct { Primary lipgloss.AdaptiveColor Secondary lipgloss.AdaptiveColor Success lipgloss.AdaptiveColor Warning lipgloss.AdaptiveColor Error lipgloss.AdaptiveColor Info lipgloss.AdaptiveColor Subtle lipgloss.AdaptiveColor HeaderBg lipgloss.AdaptiveColor Border lipgloss.AdaptiveColor Background lipgloss.AdaptiveColor }{ Primary: lipgloss.AdaptiveColor{Light: Blue, Dark: Blue}, Secondary: lipgloss.AdaptiveColor{Light: Gray, Dark: GrayMid}, Success: lipgloss.AdaptiveColor{Light: Green, Dark: GreenLight}, Warning: lipgloss.AdaptiveColor{Light: Yellow, Dark: YellowLight}, Error: lipgloss.AdaptiveColor{Light: Red, Dark: RedLight}, Info: lipgloss.AdaptiveColor{Light: LightBlue, Dark: BlueLight}, Subtle: lipgloss.AdaptiveColor{Light: GrayLight, Dark: GrayMid}, HeaderBg: lipgloss.AdaptiveColor{Light: GrayDark, Dark: Gray}, Border: lipgloss.AdaptiveColor{Light: GrayBorder, Dark: Gray}, Background: lipgloss.AdaptiveColor{Light: OffWhite, Dark: DarkSlate}, }
Colors defines the color scheme for markdown rendering.
Functions ¶
func GetDefaultStyle ¶
func GetDefaultStyle(atmosConfig schema.AtmosConfiguration) ([]byte, error)
GetDefaultStyle returns the markdown style configuration from atmos.yaml settings or falls back to built-in defaults if not configured.
func GetHelpStyle ¶ added in v1.200.0
GetHelpStyle returns a markdown style configuration optimized for command help text. This uses the Cloud Posse color scheme (grayscale + purple accent) with transparent backgrounds.
func RenderCodeBlock ¶ added in v1.200.0
RenderCodeBlock renders a code block with Fang-style syntax highlighting. This avoids nested backgrounds by doing custom parsing instead of using Glamour. It follows Fang's approach: style content first, measure it, then apply background.
func SplitMarkdownContent ¶
SplitMarkdownContent splits markdown content into details and suggestion parts.
Types ¶
type CodeblockStyle ¶ added in v1.200.0
type CodeblockStyle struct {
Base lipgloss.Style
Text lipgloss.Style
Comment lipgloss.Style
Program lipgloss.Style
Flag lipgloss.Style
Arg lipgloss.Style
}
CodeblockStyle defines the styling for code blocks in help text.
func NewCodeblockStyle ¶ added in v1.200.0
func NewCodeblockStyle(renderer *lipgloss.Renderer) CodeblockStyle
NewCodeblockStyle creates a new code block style with Cloud Posse colors. Uses the provided renderer to ensure correct color profile. Following Fang's approach: ALL styles have the SAME background to avoid nested backgrounds.
type Renderer ¶
type Renderer struct {
// contains filtered or unexported fields
}
Renderer is a markdown renderer using Glamour.
func NewHelpRenderer ¶ added in v1.200.0
func NewHelpRenderer(atmosConfig *schema.AtmosConfiguration, opts ...Option) (*Renderer, error)
NewHelpRenderer creates a new Markdown renderer specifically for command help text. This uses the Cloud Posse color scheme (grayscale + purple) with transparent backgrounds.
func NewRenderer ¶
func NewRenderer(atmosConfig schema.AtmosConfiguration, opts ...Option) (*Renderer, error)
NewRenderer creates a new Markdown renderer with the given options.
func NewTerminalMarkdownRenderer ¶ added in v1.162.0
func NewTerminalMarkdownRenderer(atmosConfig schema.AtmosConfiguration) (*Renderer, error)
func (*Renderer) RenderAscii ¶ added in v1.162.0
func (*Renderer) RenderAsciiWithoutWordWrap ¶ added in v1.165.0
func (*Renderer) RenderError ¶
RenderError renders an error message with specific styling.
func (*Renderer) RenderErrorf ¶ added in v1.162.0
RenderErrorf renders an error message with specific styling.
func (*Renderer) RenderSuccess ¶
RenderSuccess renders a success message with specific styling.