Documentation
¶
Overview ¶
Package config provides utilities for loading and managing configuration settings for the application.
Configuration is loaded from an embedded default configuration file. merged with a user configuration file located in the user's config directory.
Index ¶
Constants ¶
const (
// Default indicates that a path-based option should use its default location.
Default = "default"
)
Variables ¶
This section is empty.
Functions ¶
func UserConfigPath ¶
UserConfigPath returns the user config path (for example: ~/.config/pgxcli/config.toml).
Types ¶
type Config ¶
type Config struct {
Main MainConfig `mapstructure:"main" toml:"main"`
Table TableConfig `mapstructure:"table" toml:"table"`
}
Config represents the top-level application configuration.
func GetDefaultConfig ¶
GetDefaultConfig returns the default configuration embedded in the binary.
type MainConfig ¶
type MainConfig struct {
Prompt string `mapstructure:"prompt" toml:"prompt"`
Style SyntaxHighlightStyle `mapstructure:"style" toml:"style"`
HistoryFile string `mapstructure:"history_file" toml:"history_file"`
LogFile string `mapstructure:"log_file" toml:"log_file"`
Pager string `mapstructure:"pager" toml:"pager"`
OnError OnErrorAction `mapstructure:"on_error" toml:"on_error"`
}
MainConfig contains general CLI and session settings.
type OnErrorAction ¶
type OnErrorAction string
OnErrorAction controls multi-statement behavior after a statement fails.
const ( // OnErrorResume continues executing remaining statements after an error. OnErrorResume OnErrorAction = "RESUME" // OnErrorStop stops execution immediately when a statement fails. OnErrorStop OnErrorAction = "STOP" )
type SyntaxHighlightStyle ¶
type SyntaxHighlightStyle string
const ( SyntaxStyleDefault SyntaxHighlightStyle = "default" SyntaxStyleABAP SyntaxHighlightStyle = "abap" SyntaxStyleAlgol SyntaxHighlightStyle = "algol" SyntaxStyleAlgolNU SyntaxHighlightStyle = "algol_nu" SyntaxStyleArduino SyntaxHighlightStyle = "arduino" SyntaxStyleAshen SyntaxHighlightStyle = "ashen" SyntaxStyleAuraThemeDark SyntaxHighlightStyle = "aura-theme-dark" SyntaxStyleAuraThemeDarkSoft SyntaxHighlightStyle = "aura-theme-dark-soft" SyntaxStyleAutumn SyntaxHighlightStyle = "autumn" SyntaxStyleAverage SyntaxHighlightStyle = "average" SyntaxStyleBase16Snazzy SyntaxHighlightStyle = "base16-snazzy" SyntaxStyleBorland SyntaxHighlightStyle = "borland" SyntaxStyleBW SyntaxHighlightStyle = "bw" SyntaxStyleCatppuccinFrappe SyntaxHighlightStyle = "catppuccin-frappe" SyntaxStyleCatppuccinLatte SyntaxHighlightStyle = "catppuccin-latte" SyntaxStyleCatppuccinMacchiato SyntaxHighlightStyle = "catppuccin-macchiato" SyntaxStyleCatppuccinMocha SyntaxHighlightStyle = "catppuccin-mocha" SyntaxStyleColorful SyntaxHighlightStyle = "colorful" SyntaxStyleDoomOne SyntaxHighlightStyle = "doom-one" SyntaxStyleDoomOne2 SyntaxHighlightStyle = "doom-one2" SyntaxStyleDracula SyntaxHighlightStyle = "dracula" SyntaxStyleEmacs SyntaxHighlightStyle = "emacs" SyntaxStyleEvergarden SyntaxHighlightStyle = "evergarden" SyntaxStyleFriendly SyntaxHighlightStyle = "friendly" SyntaxStyleFruity SyntaxHighlightStyle = "fruity" SyntaxStyleGitHub SyntaxHighlightStyle = "github" SyntaxStyleGitHubDark SyntaxHighlightStyle = "github-dark" SyntaxStyleGruvbox SyntaxHighlightStyle = "gruvbox" SyntaxStyleGruvboxLight SyntaxHighlightStyle = "gruvbox-light" SyntaxStyleHRHighContrast SyntaxHighlightStyle = "hr_high_contrast" SyntaxStyleHRDark SyntaxHighlightStyle = "hrdark" SyntaxStyleIgor SyntaxHighlightStyle = "igor" SyntaxStyleKanagawaDragon SyntaxHighlightStyle = "kanagawa-dragon" SyntaxStyleKanagawaLotus SyntaxHighlightStyle = "kanagawa-lotus" SyntaxStyleKanagawaWave SyntaxHighlightStyle = "kanagawa-wave" SyntaxStyleLovelace SyntaxHighlightStyle = "lovelace" SyntaxStyleManni SyntaxHighlightStyle = "manni" SyntaxStyleModusOperandi SyntaxHighlightStyle = "modus-operandi" SyntaxStyleModusVivendi SyntaxHighlightStyle = "modus-vivendi" SyntaxStyleMonokai SyntaxHighlightStyle = "monokai" SyntaxStyleMonokaiLight SyntaxHighlightStyle = "monokailight" SyntaxStyleMurphy SyntaxHighlightStyle = "murphy" SyntaxStyleNative SyntaxHighlightStyle = "native" SyntaxStyleNord SyntaxHighlightStyle = "nord" SyntaxStyleNordic SyntaxHighlightStyle = "nordic" SyntaxStyleOnedark SyntaxHighlightStyle = "onedark" SyntaxStyleOneSEnterprise SyntaxHighlightStyle = "onesenterprise" SyntaxStyleParaisoDark SyntaxHighlightStyle = "paraiso-dark" SyntaxStyleParaisoLight SyntaxHighlightStyle = "paraiso-light" SyntaxStylePastie SyntaxHighlightStyle = "pastie" SyntaxStylePerldoc SyntaxHighlightStyle = "perldoc" SyntaxStylePygments SyntaxHighlightStyle = "pygments" SyntaxStyleRainbowDash SyntaxHighlightStyle = "rainbow_dash" SyntaxStyleRosePine SyntaxHighlightStyle = "rose-pine" SyntaxStyleRosePineDawn SyntaxHighlightStyle = "rose-pine-dawn" SyntaxStyleRosePineMoon SyntaxHighlightStyle = "rose-pine-moon" SyntaxStyleRPGLE SyntaxHighlightStyle = "RPGLE" SyntaxStyleRrt SyntaxHighlightStyle = "rrt" SyntaxStyleSolarizedDark SyntaxHighlightStyle = "solarized-dark" SyntaxStyleSolarizedDark256 SyntaxHighlightStyle = "solarized-dark256" SyntaxStyleSolarizedLight SyntaxHighlightStyle = "solarized-light" SyntaxStyleSwapoff SyntaxHighlightStyle = "swapoff" SyntaxStyleTango SyntaxHighlightStyle = "tango" SyntaxStyleTokyoNightDay SyntaxHighlightStyle = "tokyonight-day" SyntaxStyleTokyoNightMoon SyntaxHighlightStyle = "tokyonight-moon" SyntaxStyleTokyoNightNight SyntaxHighlightStyle = "tokyonight-night" SyntaxStyleTokyoNightStorm SyntaxHighlightStyle = "tokyonight-storm" SyntaxStyleTrac SyntaxHighlightStyle = "trac" SyntaxStyleVim SyntaxHighlightStyle = "vim" SyntaxStyleVS SyntaxHighlightStyle = "vs" SyntaxStyleVulcan SyntaxHighlightStyle = "vulcan" SyntaxStyleWitchhazel SyntaxHighlightStyle = "witchhazel" SyntaxStyleXcode SyntaxHighlightStyle = "xcode" SyntaxStyleXcodeDark SyntaxHighlightStyle = "xcode-dark" )
type TableColor ¶
type TableColor string
const ( FgDefault TableColor = "default" // default is cyan for header, white for column and caption FgBlack TableColor = "black" FgRed TableColor = "red" FgGreen TableColor = "green" FgYellow TableColor = "yellow" FgBlue TableColor = "blue" FgMagenta TableColor = "magenta" FgCyan TableColor = "cyan" FgWhite TableColor = "white" FgHiBlack TableColor = "black+" FgHiRed TableColor = "red+" FgHiGreen TableColor = "green+" FgHiYellow TableColor = "yellow+" FgHiBlue TableColor = "blue+" FgHiMagenta TableColor = "magenta+" FgHiCyan TableColor = "cyan+" FgHiWhite TableColor = "white+" )
type TableColorConfig ¶
type TableColorConfig struct {
Header TableColor `mapstructure:"header" toml:"header"`
Column TableColor `mapstructure:"column" toml:"column"`
Caption TableColor `mapstructure:"caption" toml:"caption"`
}
TableColorConfig contains color settings for table elements.
type TableConfig ¶
type TableConfig struct {
Style TableStyle `mapstructure:"style" toml:"style"`
Color TableColorConfig `mapstructure:"color" toml:"color"`
}
TableConfig contains output table rendering settings.
type TableStyle ¶
type TableStyle string
const ( StyleNone TableStyle = "none" StyleASCII TableStyle = "ascii" StyleLight TableStyle = "light" StyleHeavy TableStyle = "heavy" StyleDouble TableStyle = "double" StyleDoubleLong TableStyle = "double_long" StyleLightHeavy TableStyle = "light_heavy" StyleHeavyLight TableStyle = "heavy_light" StyleLightDouble TableStyle = "light_double" StyleDoubleLight TableStyle = "double_light" StyleRounded TableStyle = "rounded" StyleMarkdown TableStyle = "markdown" StyleGraphical TableStyle = "graphical" StyleMerger TableStyle = "merger" StyleDefault TableStyle = "default" StyleDotted TableStyle = "dotted" StyleArrow TableStyle = "arrow" StyleStarry TableStyle = "starry" StyleHearts TableStyle = "hearts" StyleCircuit TableStyle = "circuit" StyleNature TableStyle = "nature" StyleArtistic TableStyle = "artistic" Style8Bit TableStyle = "8bit" StyleChaos TableStyle = "chaos" StyleDots TableStyle = "dots" StyleBlocks TableStyle = "blocks" StyleZen TableStyle = "zen" StyleVintage TableStyle = "vintage" StyleSketch TableStyle = "sketch" StyleArrowDouble TableStyle = "arrow_double" StyleCelestial TableStyle = "celestial" StyleCyber TableStyle = "cyber" StyleRunic TableStyle = "runic" StyleIndustrial TableStyle = "industrial" StyleInk TableStyle = "ink" StyleArcade TableStyle = "arcade" StyleBlossom TableStyle = "blossom" StyleFrosted TableStyle = "frosted" StyleMosaic TableStyle = "mosaic" StyleUFO TableStyle = "ufo" StyleSteampunk TableStyle = "steampunk" StyleGalaxy TableStyle = "galaxy" StyleJazz TableStyle = "jazz" StylePuzzle TableStyle = "puzzle" StyleHypno TableStyle = "hypno" )