{ "$schema": "http://json-schema.org/draft-07/schema", "$id": "http://example.com/example.json", "type": "object", "title": "The Oh My Posh theme definition", "description": "https://ohmyposh.dev/docs/configuration/overview", "definitions": { "color": { "anyOf": [ { "$ref": "#/definitions/color_string" }, { "$ref": "#/definitions/palette_reference" } ] }, "color_string": { "type": "string", "pattern": "^(#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})|black|red|green|yellow|blue|magenta|cyan|white|default|darkGray|lightRed|lightGreen|lightYellow|lightBlue|lightMagenta|lightCyan|lightWhite|transparent|parentBackground|parentForeground|background|foreground)$", "title": "Color string", "description": "https://ohmyposh.dev/docs/configuration/colors", "format": "color" }, "palette_reference": { "type": "string", "pattern": "^p:.*$", "title": "Palette reference", "description": "https://ohmyposh.dev/docs/configuration/colors#palette" }, "color_templates": { "type": "array", "title": "Templates to define a color", "description": "https://ohmyposh.dev/docs/configuration/colors#color-templates", "default": [], "items": { "$ref": "#/definitions/segment/properties/template" } }, "fetch_version": { "type": "boolean", "title": "Fetch Version", "description": "Fetch the version number", "default": true }, "http_timeout": { "type": "integer", "title": "Http request timeout", "description": "Timeout value to use for http request", "default": 20 }, "display_mode": { "type": "string", "title": "Display Mode", "description": "Determines whether the segment is displayed always or only if a file matching the extensions are present in the current folder", "enum": ["always", "files", "environment", "context"], "default": "context" }, "missing_command_text": { "type": "string", "title": "Missing command text", "description": "The string to display when the command is not available", "default": "" }, "extra_prompt": { "type": "object", "default": {}, "properties": { "template": { "type": "string", "title": "Prompt Template" }, "foreground": { "$ref": "#/definitions/color" }, "foreground_templates": { "$ref": "#/definitions/color_templates" }, "background": { "$ref": "#/definitions/color" }, "background_templates": { "$ref": "#/definitions/color_templates" } } }, "block": { "type": "object", "description": "https://ohmyposh.dev/docs/configuration/block", "allOf": [ { "if": { "properties": { "type": { "const": "prompt" } } }, "then": { "required": ["type", "alignment", "segments"], "title": "Prompt definition, contains 1 or more segments to render" } }, { "if": { "properties": { "type": { "const": "rprompt" } } }, "then": { "required": ["type", "segments"], "title": "RPrompt definition, contains 1 or more segments to render to the right of the cursor" } } ], "properties": { "type": { "type": "string", "title": "Block type", "description": "https://ohmyposh.dev/docs/configuration/block#type", "enum": ["prompt", "rprompt"], "default": "prompt" }, "alignment": { "type": "string", "title": "Block alignment", "description": "https://ohmyposh.dev/docs/configuration/block#alignment", "enum": ["left", "right"], "default": "left" }, "newline": { "type": "boolean", "title": "Newline", "description": "https://ohmyposh.dev/docs/configuration/block#newline", "default": false }, "vertical_offset": { "type": "integer", "title": "Block vertical offset", "description": "https://ohmyposh.dev/docs/configuration/block#vertical-offset" }, "horizontal-offset": { "type": "integer", "title": "Block vertical offset", "description": "https://ohmyposh.dev/docs/configuration/block#horizontal-offset" }, "segments": { "type": "array", "title": "Segments list, prompt elements to display based on context", "description": "https://ohmyposh.dev/docs/configuration/block#segments", "default": [], "items": { "$ref": "#/definitions/segment" } } } }, "segment": { "type": "object", "title": "A segment", "description": "https://ohmyposh.dev/docs/configuration/segment", "default": {}, "required": ["type", "style"], "properties": { "type": { "type": "string", "title": "Segment Type", "description": "https://ohmyposh.dev/docs/configuration/segment#type", "enum": [ "session", "path", "git", "exit", "python", "root", "time", "text", "command", "battery", "spotify", "shell", "node", "os", "az", "kubectl", "dotnet", "terraform", "go", "julia", "ruby", "ytm", "executiontime", "aws", "java", "poshgit", "azfunc", "crystal", "dart", "rust", "owm", "sysinfo", "strava", "angular", "php", "wakatime", "wifi", "winreg", "plastic", "ipify", "haskell", "ui5tooling", "kotlin", "swift", "npm", "project", "r", "cds", "cf", "cftarget" ] }, "style": { "type": "string", "title": "Segment Style", "description": "https://ohmyposh.dev/docs/configuration/segment#style", "enum": ["powerline", "plain", "diamond", "accordion"] }, "foreground": { "$ref": "#/definitions/color" }, "foreground_templates": { "$ref": "#/definitions/color_templates" }, "background": { "$ref": "#/definitions/color" }, "background_templates": { "$ref": "#/definitions/color_templates" }, "template": { "type": "string", "title": "Template text", "description": "https://ohmyposh.dev/docs/configuration/templates", "default": "" }, "properties": { "type": "object", "title": "Segment Properties, used to change behavior/displaying", "description": "https://ohmyposh.dev/docs/configuration/segment#properties", "default": {}, "properties": { "include_folders": { "type": "array", "title": "If specified, segment will only render in these folders", "description": "https://ohmyposh.dev/docs/configuration/segment#include--exclude-folders", "default": [], "items": { "type": "string" } }, "exclude_folders": { "type": "array", "title": "Exclude rendering in these folders", "description": "https://ohmyposh.dev/docs/configuration/segment#include--exclude-folders", "default": [], "items": { "type": "string" } }, "ignore_folders": { "type": "array", "title": "Deprecated - please use `exclude_folders` instead", "description": "https://ohmyposh.dev/docs/configuration/segment#include--exclude-folders", "default": [], "items": { "type": "string" }, "deprecated": true } } } }, "allOf": [ { "if": { "properties": { "type": { "const": "project" } } }, "then": { "title": "Project Segment", "description": "https://ohmyposh.dev/docs/project" } }, { "if": { "properties": { "type": { "const": "npm" } } }, "then": { "title": "NPM Segment", "description": "https://ohmyposh.dev/docs/npm" } }, { "if": { "properties": { "style": { "const": "powerline" } } }, "then": { "properties": { "powerline_symbol": { "type": "string", "title": "Powerline Symbol", "description": "https://ohmyposh.dev/docs/configuration/segment#powerline-symbol", "default": "\uE0B0" }, "invert_powerline": { "type": "boolean", "title": "Flip the Powerline symbol vertically", "description": "https://ohmyposh.dev/docs/configuration/segment#invert-powerline", "default": false } } } }, { "if": { "properties": { "style": { "const": "diamond" } } }, "then": { "properties": { "leading_diamond": { "type": "string", "title": "Leading diamond", "description": "https://ohmyposh.dev/docs/configuration/segment#leading-diamond", "default": "" }, "trailing_diamond": { "type": "string", "title": "Trailing diamond", "description": "https://ohmyposh.dev/docs/configuration/segment#trailing-diamond", "default": "" } } } }, { "if": { "properties": { "type": { "const": "az" } } }, "then": { "title": "Azure Segment", "description": "https://ohmyposh.dev/docs/az", "properties": { "properties": { "properties": { "source": { "type": "string", "title": "Source", "description": "https://ohmyposh.dev/docs/az#properties", "default": "first_match", "enum": [ "first_match", "cli", "pwsh" ] } } } } } }, { "if": { "properties": { "type": { "const": "battery" } } }, "then": { "title": "Battery Segment", "description": "https://ohmyposh.dev/docs/battery", "properties": { "properties": { "properties": { "display_error": { "type": "boolean", "title": "Display Error", "description": "Show the error context when failing to retrieve the battery information", "default": false }, "charging_icon": { "type": "string", "title": "Charging Icon", "description": "Text/icon to display on the left when charging", "default": "" }, "discharging_icon": { "type": "string", "title": "discharging Dcon", "description": "Text/icon to display on the left when discharging", "default": "" }, "charged_icon": { "type": "string", "title": "Charged Icon", "description": "Text/icon to display on the left when fully charged", "default": "" } } } } } }, { "if": { "properties": { "type": { "const": "command" } } }, "then": { "title": "Command Segment", "description": "https://ohmyposh.dev/docs/command", "properties": { "properties": { "properties": { "shell": { "type": "string", "title": "Shell", "description": "The shell in which to run the command in. Uses shell -c command under the hood", "default": "bash" }, "command": { "type": "string", "title": "Command", "description": "the command(s) to run", "default": "echo no command specified" } } } } } }, { "if": { "properties": { "type": { "const": "dotnet" } } }, "then": { "title": "Dotnet Segment", "description": "https://ohmyposh.dev/docs/dotnet", "properties": { "properties": { "properties": { "fetch_version": { "$ref": "#/definitions/fetch_version" }, "display_mode": { "$ref": "#/definitions/display_mode" }, "missing_command_text": { "$ref": "#/definitions/missing_command_text" } } } } } }, { "if": { "properties": { "type": { "const": "exit" } } }, "then": { "title": "Exit Segment", "description": "https://ohmyposh.dev/docs/exit", "properties": { "properties": { "properties": { "always_enabled": { "type": "boolean", "title": "Always Enabled", "description": "Always show the status", "default": false } } } } } }, { "if": { "properties": { "type": { "const": "git" } } }, "then": { "title": "Git Segment", "description": "https://ohmyposh.dev/docs/git", "properties": { "properties": { "properties": { "fetch_status": { "type": "boolean", "title": "Display Status", "description": "Display the local changes or not", "default": true }, "fetch_stash_count": { "type": "boolean", "title": "Display Stash Count", "description": "Display the stash count or not", "default": false }, "fetch_worktree_count": { "type": "boolean", "title": "Display Worktree Count", "description": "Display the worktree count or not", "default": false }, "fetch_upstream_icon": { "type": "boolean", "title": "Display Upstream Icon", "description": "Display upstream icon or not", "default": false }, "branch_icon": { "type": "string", "title": "Branch Icon", "description": "The icon to use in front of the git branch name", "default": "\uE0A0 " }, "branch_identical_icon": { "type": "string", "title": "Branch Identical Icon", "description": "The icon to display when remote and local are identical", "default": "\u2261" }, "branch_ahead_icon": { "type": "string", "title": "Branch Ahead Icon", "description": "The icon to display when the local branch is ahead of its remote", "default": "\u2191" }, "branch_behind_icon": { "type": "string", "title": "Branch Behind Icon", "description": "The icon to display when the local branch is behind its remote", "default": "\u2193" }, "branch_gone_icon": { "type": "string", "title": "Branch Gone Icon", "description": "The icon to display when there's no remote branch", "default": "\u2262" }, "commit_icon": { "type": "string", "title": "Commit Icon", "description": "Icon/text to display before the commit context (detached HEAD)", "default": "\uF417" }, "tag_icon": { "type": "string", "title": "Tag Icon", "description": "Icon/text to display before the tag context", "default": "\uF412" }, "rebase_icon": { "type": "string", "title": "Rebase Icon", "description": "Icon/text to display before the context when in a rebase", "default": "\uE728" }, "cherry_pick_icon": { "type": "string", "title": "Cherry-pick Icon", "description": "Icon/text to display before the context when doing a cherry-pick", "default": "\uE29B" }, "revert_icon": { "type": "string", "title": "Revert Icon", "description": "Icon/text to display before the context when doing a revert", "default": "\uF0E2" }, "merge_icon": { "type": "string", "title": "Merge Icon", "description": "Icon/text to display before the merge context", "default": "\uE727" }, "no_commits_icon": { "type": "string", "title": "No Commits Icon", "description": "Icon/text to display when there are no commits in the repo", "default": "\uF594" }, "github_icon": { "type": "string", "title": "Github Icon", "description": "Icon/text to display when the upstream is Github", "default": "\uF408" }, "gitlab_icon": { "type": "string", "title": "Gitlab Icon", "description": "Icon/text to display when the upstream is Gitlab", "default": "\uF296" }, "bitbucket_icon": { "type": "string", "title": "Bitbucket Icon", "description": "Icon/text to display when the upstream is Bitbucket", "default": "\uF171" }, "azure_devops_icon": { "type": "string", "title": "Azure DevOps Icon", "description": "Icon/text to display when the upstream is Azure DevOps", "default": "\uFD03" }, "git_icon": { "type": "string", "title": "Git Icon", "description": "Icon/text to display when the upstream is not known/mapped", "default": "\uE5FB" }, "branch_max_length": { "type": "integer", "title": "Branch max length", "description": "the max length for the displayed branch name where 0 implies full length", "default": 0 }, "untracked_modes": { "type": "object", "title": "Untracked files mode", "description": "Set the untracked files mode for a repository", "default": {} } } } } } }, { "if": { "properties": { "type": { "const": "go" } } }, "then": { "title": "Golang Segment", "description": "https://ohmyposh.dev/docs/golang", "properties": { "properties": { "properties": { "fetch_version": { "$ref": "#/definitions/fetch_version" }, "parse_mod_file": { "type": "boolean", "title": "Parse go.mod file", "description": "Parse go.mod file instead of calling out to go to improve performance.", "default": false }, "display_mode": { "$ref": "#/definitions/display_mode" }, "missing_command_text": { "$ref": "#/definitions/missing_command_text" } } } } } }, { "if": { "properties": { "type": { "const": "dart" } } }, "then": { "title": "Dart Segment", "description": "https://ohmyposh.dev/docs/dart", "properties": { "properties": { "properties": { "fetch_version": { "$ref": "#/definitions/fetch_version" }, "display_mode": { "$ref": "#/definitions/display_mode" }, "missing_command_text": { "$ref": "#/definitions/missing_command_text" } } } } } }, { "if": { "properties": { "type": { "const": "crystal" } } }, "then": { "title": "Crystal Segment", "description": "https://ohmyposh.dev/docs/crystal", "properties": { "properties": { "properties": { "fetch_version": { "$ref": "#/definitions/fetch_version" }, "display_mode": { "$ref": "#/definitions/display_mode" }, "missing_command_text": { "$ref": "#/definitions/missing_command_text" } } } } } }, { "if": { "properties": { "type": { "const": "julia" } } }, "then": { "title": "Julia Segment", "description": "https://ohmyposh.dev/docs/julia", "properties": { "properties": { "properties": { "fetch_version": { "$ref": "#/definitions/fetch_version" }, "display_mode": { "$ref": "#/definitions/display_mode" }, "missing_command_text": { "$ref": "#/definitions/missing_command_text" } } } } } }, { "if": { "properties": { "type": { "const": "php" } } }, "then": { "title": "PHP Segment", "description": "https://ohmyposh.dev/docs/php", "properties": { "properties": { "properties": { "fetch_version": { "$ref": "#/definitions/fetch_version" }, "display_mode": { "$ref": "#/definitions/display_mode" }, "missing_command_text": { "$ref": "#/definitions/missing_command_text" } } } } } }, { "if": { "properties": { "type": { "const": "java" } } }, "then": { "title": "Java Segment", "description": "https://ohmyposh.dev/docs/java", "properties": { "properties": { "properties": { "fetch_version": { "$ref": "#/definitions/fetch_version" }, "display_mode": { "$ref": "#/definitions/display_mode" }, "missing_command_text": { "$ref": "#/definitions/missing_command_text" } } } } } }, { "if": { "properties": { "type": { "const": "ruby" } } }, "then": { "title": "Ruby Segment", "description": "https://ohmyposh.dev/docs/ruby", "properties": { "properties": { "properties": { "fetch_version": { "$ref": "#/definitions/fetch_version" }, "display_mode": { "$ref": "#/definitions/display_mode" }, "missing_command_text": { "$ref": "#/definitions/missing_command_text" } } } } } }, { "if": { "properties": { "type": { "const": "rust" } } }, "then": { "title": "Rust Segment", "description": "https://ohmyposh.dev/docs/rust", "properties": { "properties": { "properties": { "fetch_version": { "$ref": "#/definitions/fetch_version" }, "display_mode": { "$ref": "#/definitions/display_mode" }, "missing_command_text": { "$ref": "#/definitions/missing_command_text" } } } } } }, { "if": { "properties": { "type": { "const": "kubectl" } } }, "then": { "title": "Kubectl Segment", "description": "https://ohmyposh.dev/docs/kubectl", "properties": { "properties": { "properties": { "display_error": { "type": "boolean", "title": "Display Error", "description": "Show the error context when failing to retrieve the kubectl information", "default": false }, "parse_kubeconfig": { "type": "boolean", "title": "Parse kubeconfig", "description": "Parse kubeconfig files instead of calling out to kubectl to improve performance.", "default": false } } } } } }, { "if": { "properties": { "type": { "const": "aws" } } }, "then": { "title": "AWS Segment", "description": "https://ohmyposh.dev/docs/aws", "properties": { "properties": { "properties": { "display_default": { "type": "boolean", "title": "Display Default User Profile", "description": "Display the segment when default user or not", "default": true } } } } } }, { "if": { "properties": { "type": { "const": "node" } } }, "then": { "title": "Node Segment", "description": "https://ohmyposh.dev/docs/node", "properties": { "properties": { "properties": { "fetch_version": { "$ref": "#/definitions/fetch_version" }, "display_mode": { "$ref": "#/definitions/display_mode" }, "missing_command_text": { "$ref": "#/definitions/missing_command_text" }, "fetch_package_manager": { "type": "boolean", "title": "Fetch Display Package Manager", "description": "Assigns the Yarn or NPM icon to .PackageManagerIcon", "default": false }, "yarn_icon": { "type": "string", "title": "Yarn Icon", "description": "Icon/text to use for Yarn", "default": " \uF61A" }, "npm_icon": { "type": "string", "title": "NPM Icon", "description": "Icon/text to use for NPM", "default": " \uE71E" } } } } } }, { "if": { "properties": { "type": { "const": "azfunc" } } }, "then": { "title": "Azure Function Segment", "description": "https://ohmyposh.dev/docs/azfunc", "properties": { "properties": { "properties": { "fetch_version": { "$ref": "#/definitions/fetch_version" }, "display_mode": { "$ref": "#/definitions/display_mode" }, "missing_command_text": { "$ref": "#/definitions/missing_command_text" } } } } } }, { "if": { "properties": { "type": { "const": "os" } } }, "then": { "title": "Operating System Segment", "description": "https://ohmyposh.dev/docs/os", "properties": { "properties": { "properties": { "macos": { "type": "string", "title": "MacOS Icon", "description": "Icon/text to use for macOS", "default": "\uF179" }, "linux": { "type": "string", "title": "Linux Icon", "description": "Icon/text to use for Linux", "default": "\uF17C" }, "windows": { "type": "string", "title": "Windows Icon", "description": "Icon/text to use for Windows", "default": "\uE62A" }, "display_distro_name": { "type": "boolean", "title": "Display Distro Name", "description": "Display the distro name or icon or not", "default": false }, "alpine": { "type": "string", "title": "Alpine Icon", "description": "The icon to use for Alpine", "default": "\uF300" }, "aosc": { "type": "string", "title": "Aosc Icon", "description": "The icon to use for Aosc", "default": "\uF301" }, "arch": { "type": "string", "title": "Arch Icon", "description": "The icon to use for Arch", "default": "\uF303" }, "centos": { "type": "string", "title": "Centos Icon", "description": "The icon to use for Centos", "default": "\uF303" }, "coreos": { "type": "string", "title": "Coreos Icon", "description": "The icon to use for Coreos", "default": "\uF305" }, "debian": { "type": "string", "title": "Debian Icon", "description": "The icon to use for Debian", "default": "\uF306" }, "devuan": { "type": "string", "title": "Devuan Icon", "description": "The icon to use for Devuan", "default": "\uF307" }, "raspbian": { "type": "string", "title": "Raspbian Icon", "description": "The icon to use for Raspbian", "default": "\uF315" }, "elementary": { "type": "string", "title": "Elementary Icon", "description": "The icon to use for Elementary", "default": "\uF309" }, "fedora": { "type": "string", "title": "Fedora Icon", "description": "The icon to use for Fedora", "default": "\uF30a" }, "gentoo": { "type": "string", "title": "Gentoo Icon", "description": "The icon to use for Gentoo", "default": "\uF30d" }, "mageia": { "type": "string", "title": "Mageia Icon", "description": "The icon to use for Mageia", "default": "\uF310" }, "manjaro": { "type": "string", "title": "Manjaro Icon", "description": "The icon to use for Manjaro", "default": "\uF312" }, "mint": { "type": "string", "title": "Mint Icon", "description": "The icon to use for Mint", "default": "\uF30e" }, "nixos": { "type": "string", "title": "Nixos Icon", "description": "The icon to use for Nixos", "default": "\uF313" }, "opensuse": { "type": "string", "title": "Opensuse Icon", "description": "The icon to use for Opensuse", "default": "\uF314" }, "sabayon": { "type": "string", "title": "Sabayon Icon", "description": "The icon to use for Sabayon", "default": "\uF317" }, "slackware": { "type": "string", "title": "Slackware Icon", "description": "The icon to use for Slackware", "default": "\uF319" }, "ubuntu": { "type": "string", "title": "Ubuntu Icon", "description": "The icon to use for Ubuntu", "default": "\uF31b" } } } } } }, { "if": { "properties": { "type": { "const": "path" } } }, "then": { "title": "Path Segment", "description": "https://ohmyposh.dev/docs/path", "properties": { "properties": { "properties": { "folder_separator_icon": { "type": "string", "title": "Folder Separator Icon", "description": "The symbol to use as a separator between folders", "default": "/" }, "home_icon": { "type": "string", "title": "Home Icon", "description": "The icon to display when at $HOME", "default": "/" }, "folder_icon": { "type": "string", "title": "Folder Icon", "description": "The icon to use as a folder indication", "default": ".." }, "windows_registry_icon": { "type": "string", "title": "Windows Registry Icon", "description": "The icon to display when in the Windows registry", "default": "\uE0B1" }, "style": { "type": "string", "title": "The Path Style", "description": "How to display the current path", "enum": [ "agnoster", "agnoster_full", "agnoster_short", "agnoster_left", "short", "full", "folder", "mixed", "letter", "unique" ], "default": "folder" }, "mapped_locations": { "type": "object", "title": "Mapped Locations", "description": "Custom glyph/text for specific paths", "default": {} }, "max_depth": { "type": "integer", "title": "Maximum Depth", "description": "Maximum path depth to display without shortening", "default": 1 }, "mapped_locations_enabled": { "type": "boolean", "title": "Enable the Mapped Locations feature", "description": "Replace known locations in the path with the replacements before applying the style.", "default": true }, "mixed_threshold": { "type": "integer", "title": "Mixed threshold", "description": "The maximum length of a path segment that will be displayed when using mixed style.", "default": 4 }, "hide_root_location": { "type": "boolean", "title": "Hide the root location", "description": "Hides the root location, when using agnoster_short style, if it doesn't fit in the last max_depth folders.", "default": false } } } } } }, { "if": { "properties": { "type": { "const": "python" } } }, "then": { "title": "Python Segment", "description": "https://ohmyposh.dev/docs/python", "properties": { "properties": { "properties": { "fetch_virtual_env": { "type": "boolean", "title": "Fetch Virtual Env", "description": "Fetch the name of the virtualenv or not", "default": true }, "display_mode": { "$ref": "#/definitions/display_mode" }, "missing_command_text": { "$ref": "#/definitions/missing_command_text" } } } } } }, { "if": { "properties": { "type": { "const": "root" } } }, "then": { "title": "Root Segment", "description": "https://ohmyposh.dev/docs/root" } }, { "if": { "properties": { "type": { "const": "session" } } }, "then": { "title": "Session Segment", "description": "https://ohmyposh.dev/docs/session", "properties": { "properties": { "properties": { "ssh_icon": { "type": "string", "title": "SSH Icon", "description": "Text/icon to display first when in an active SSH session", "default": "\uF817" } } } } } }, { "if": { "properties": { "type": { "const": "shell" } } }, "then": { "title": "Shell Segment", "description": "https://ohmyposh.dev/docs/shell", "properties": { "properties": { "properties": { "custom_text": { "type": "object", "title": "Custom Text", "description": "Custom glyph/text for specific shells", "default": {} } } } } } }, { "if": { "properties": { "type": { "const": "spotify" } } }, "then": { "title": "Spotify Segment", "description": "https://ohmyposh.dev/docs/spotify", "properties": { "properties": { "properties": { "playing_icon": { "type": "string", "title": "User Info Separator", "description": "Text/icon to show when playing", "default": "\uE602" }, "paused_icon": { "type": "string", "title": "SSH Icon", "description": "Text/icon to show when paused", "default": "\uF8E3" }, "stopped_icon": { "type": "string", "title": "SSH Icon", "description": "Text/icon to show when stopped", "default": "\uF04D" }, "track_separator": { "type": "string", "title": "SSH Icon", "description": "Text/icon to put between the artist and song name", "default": " - " } } } } } }, { "if": { "properties": { "type": { "const": "terraform" } } }, "then": { "title": "Terraform Segment", "description": "https://ohmyposh.dev/docs/terraform" } }, { "if": { "properties": { "type": { "const": "text" } } }, "then": { "title": "Text Segment", "description": "https://ohmyposh.dev/docs/text", "properties": { "properties": { "properties": { "text": { "type": "string", "title": "Text", "description": "Text/icon to display", "default": "" } } } } } }, { "if": { "properties": { "type": { "const": "time" } } }, "then": { "title": "Time Segment", "description": "https://ohmyposh.dev/docs/time", "properties": { "properties": { "properties": { "time_format": { "type": "string", "title": "Time Format", "description": "Format to use, follows the golang standard: https://gobyexample.com/time-formatting-parsing", "default": "15:04:05" } } } } } }, { "if": { "properties": { "type": { "const": "ytm" } } }, "then": { "title": "YouTube Music Desktop App Segment", "description": "https://ohmyposh.dev/docs/ytm", "properties": { "properties": { "properties": { "playing_icon": { "type": "string", "title": "User Info Separator", "description": "Text/icon to show when playing", "default": "\uE602" }, "paused_icon": { "type": "string", "title": "SSH Icon", "description": "Text/icon to show when paused", "default": "\uF8E3" }, "stopped_icon": { "type": "string", "title": "SSH Icon", "description": "Text/icon to show when stopped", "default": "\uF04D" }, "track_separator": { "type": "string", "title": "SSH Icon", "description": "Text/icon to put between the artist and song name", "default": " - " }, "api_url": { "type": "string", "title": "API URL", "description": "The YTMDA Remote Control API URL", "default": "http://127.0.0.1:9863" }, "http_timeout": { "$ref": "#/definitions/http_timeout" } } } } } }, { "if": { "properties": { "type": { "const": "owm" } } }, "then": { "title": "Open Weather Map Segment", "description": "Displays the current weather from the Open Weather Map system", "properties": { "properties": { "properties": { "apikey": { "type": "string", "title": "apikey", "description": "The apikey used for the api call (Required)", "default": "." }, "location": { "type": "string", "title": "location", "description": "Location to use for the api call. Formatted as <City>,<STATE>,<COUNTRY_CODE>. City name, state code and country code divided by comma. Please, refer to ISO 3166 for the state codes or country codes.", "default": "De Bilt,NL" }, "units": { "type": "string", "title": "units", "description": "Units of measurement. Available values are standard (kelvin), metric (celsius), and imperial (fahrenheit). Default is standard", "default": "standard", "enum": ["standard", "metric", "imperial"] }, "http_timeout": { "$ref": "#/definitions/http_timeout" }, "cache_timeout": { "type": "integer", "title": "cache timeout", "description": "The number of minutes the response is cached. A value of 0 disables the cache.", "default": 10 } } } } } }, { "if": { "properties": { "type": { "const": "executiontime" } } }, "then": { "title": "Displays the execution time of the previously executed command", "description": "https://ohmyposh.dev/docs/executiontime", "properties": { "properties": { "properties": { "always_enabled": { "type": "boolean", "title": "Always Enabled", "description": "Always show the duration", "default": false }, "threshold": { "type": "number", "title": "Threshold", "description": "minimum duration (milliseconds) required to enable this segment", "default": 500 }, "style": { "type": "string", "title": "Style", "description": "The style in which the time will be displayed", "enum": [ "austin", "roundrock", "dallas", "galveston", "houston", "amarillo", "round" ], "default": "austin" } } } } } }, { "if": { "properties": { "type": { "const": "poshgit" } } }, "then": { "title": "Posh-Git Segment", "description": "https://ohmyposh.dev/docs/poshgit" } }, { "if": { "properties": { "type": { "const": "sysinfo" } } }, "then": { "title": "Get sysinfo", "description": "https://ohmyposh.dev/docs/sysinfo", "properties": { "properties": { "properties": { "precision": { "type": "integer", "title": "Precision", "description": "number of decimal places to show", "default": 0 } } } } } }, { "if": { "properties": { "type": { "const": "strava" } } }, "then": { "title": "Display training data from Strava", "description": "https://ohmyposh.dev/docs/strava", "properties": { "properties": { "properties": { "url": { "type": "string", "title": "URL of API with Strava data", "description": "Url of your api provinding a Strava activity", "default": "" }, "ride_icon": { "type": "string", "title": "Alternative icon", "description": "Alternative icon for this activity type", "default": "\uf5a2" }, "run_icon": { "type": "string", "title": "Alternative icon", "description": "Alternative icon for this activity type", "default": "\ufc0c" }, "skiing_icon": { "type": "string", "title": "Alternative icon", "description": "Alternative icon for this activity type", "default": "\ue213" }, "workout_icon": { "type": "string", "title": "Alternative icon", "description": "Alternative icon for this activity type", "default": "\ue213" }, "unknown_activity_icon": { "type": "string", "title": "Fallback icon", "description": "Fallback icon for other activity types", "default": "\ue213" }, "http_timeout": { "$ref": "#/definitions/http_timeout" }, "cache_timeout": { "type": "integer", "title": "cache timeout", "description": "The number of minutes the response is cached. A value of 0 disables the cache.", "default": 10 } } } } } }, { "if": { "properties": { "type": { "const": "angular" } } }, "then": { "title": "Angular CLI Segment", "description": "https://ohmyposh.dev/docs/angular", "properties": { "properties": { "properties": { "fetch_version": { "$ref": "#/definitions/fetch_version" }, "display_mode": { "$ref": "#/definitions/display_mode" } } } } } }, { "if": { "properties": { "type": { "const": "wakatime" } } }, "then": { "title": "Wakatime", "description": "Displays the tracked time on wakatime.com", "properties": { "properties": { "properties": { "apikey": { "type": "string", "title": "apikey", "description": "The apikey used for the api call (Required)", "default": "." }, "http_timeout": { "$ref": "#/definitions/http_timeout" }, "cache_timeout": { "type": "integer", "title": "cache timeout", "description": "The number of minutes the response is cached. A value of 0 disables the cache.", "default": 10 } } } } } }, { "if": { "properties": { "type": { "const": "wifi" } } }, "then": { "title": "WiFi Segment", "description": "https://ohmyposh.dev/docs/wifi" } }, { "if": { "properties": { "type": { "const": "winreg" } } }, "then": { "title": "Windows Registry Query", "description": "https://ohmyposh.dev/docs/winreg", "properties": { "properties": { "properties": { "path": { "type": "string", "title": "Registry Path", "description": "The path to the registry key (case insensitive, must use backslashes). Ending with \\ will retrieve \"(Default)\" key in that path.", "default": "" }, "fallback": { "type": "string", "title": "Fallback value", "description": "Value to display if registry value cannot be retrieved", "default": "" } } } } } }, { "if": { "properties": { "type": { "const": "plastic" } } }, "then": { "title": "Plastic SCM Segment", "description": "https://ohmyposh.dev/docs/plastic", "properties": { "properties": { "properties": { "fetch_status": { "type": "boolean", "title": "Display Status", "description": "Display the local changes or not", "default": false }, "branch_icon": { "type": "string", "title": "Branch Icon", "description": "The icon to use in front of the selector branch name", "default": "\uE0A0 " }, "commit_icon": { "type": "string", "title": "Commit Icon", "description": "Icon/text to display before the selector changeset", "default": "\uF417" }, "tag_icon": { "type": "string", "title": "Tag Icon", "description": "Icon/text to display before the seletor label", "default": "\uF412" }, "branch_max_length": { "type": "integer", "title": "Branch max length", "description": "the max length for the displayed branch name where 0 implies full length", "default": 0 }, "full_branch_path": { "type": "boolean", "title": "Full branch path", "description": "display the full branch path instead of only the branch name", "default": false } } } } } }, { "if": { "properties": { "type": { "const": "brewfather" } } }, "then": { "title": "Brewfather Batch Status", "description": "https://ohmyposh.dev/docs/brewfather", "properties": { "properties": { "properties": { "user_id": { "type": "string", "title": "Brewfather UserID (required)", "description": "Provided by Brewfather's Generate API Key settings option", "default": "" }, "api_key": { "type": "string", "title": "Brewfather API Key (required)", "description": "Provided by Brewfather's Generate API Key settings option", "default": "" }, "batch_id": { "type": "string", "title": "ID of the batch in Brewfather (required)", "description": "At the end of the URL when viewing the batch on the Brewfather site", "default": "" }, "day_icon": { "type": "string", "title": "Icon to use to indicate days", "description": "Appended to a number to indicate days, e.g. 25d", "default": "d" }, "http_timeout": { "$ref": "#/definitions/http_timeout" }, "cache_timeout": { "type": "integer", "title": "cache timeout in minutes", "description": "The number of minutes the response is cached. A value of 0 disables the cache.", "default": 5 }, "doubleup_icon": { "type": "string", "title": "Temperature trend icon, very high positive change", "description": "Delta between this and prior temperature reading is very high (> 4C by default), available intemplate as .TemperatureTrend", "default": "↑↑" }, "singleup_icon": { "type": "string", "title": "Temperature trend icon, high positive change", "description": "Delta between this and prior temperature reading is high (2C < delta < 4C by default), available intemplate as .TemperatureTrend", "default": "↑" }, "fortyfiveup_icon": { "type": "string", "title": "Temperature trend icon, positive change", "description": "Delta between this and prior temperature reading is positive (0.5C < delta < 2C by default), available intemplate as .TemperatureTrend", "default": "↗" }, "flat_icon": { "type": "string", "title": "Temperature trend icon, flat/small change", "description": "Delta between this and prior temperature and this temperature reading (< +-0.5C change), available intemplate as .TemperatureTrend", "default": "→" }, "fortyfivedown_icon": { "type": "string", "title": "Temperature trend icon, v. negative change", "description": "Delta between this and prior temperature reading is negative (-0.5C > delta > -2C by default), available intemplate as .TemperatureTrend", "default": "↘" }, "singledown_icon": { "type": "string", "title": "Temperature trend icon, high negative change", "description": "Delta between this and prior temperature reading is large negative (-2C > delta > -4C by default), available intemplate as .TemperatureTrend", "default": "↓" }, "doubledown_icon": { "type": "string", "title": "Temperature trend icon, very high negative change", "description": "Delta between this and prior temperature reading is very large negative (> -4C by default), available intemplate as .TemperatureTrend", "default": "↓↓" }, "planning_status_icon": { "type": "string", "title": "Icon for batch in planning", "description": "Available in template as .StatusIcon", "default": "\uF8EA" }, "brewing_status_icon": { "type": "string", "title": "Icon for batch being brewed", "description": "Available in template as .StatusIcon", "default": "\uF7DE" }, "fermenting_status_icon": { "type": "string", "title": "Icon for batch fermenting", "description": "Available in template as .StatusIcon", "default": "\uF499" }, "conditioning_status_icon": { "type": "string", "title": "Icon for batch conditioning", "description": "Available in template as .StatusIcon", "default": "\uE372" }, "completed_status_icon": { "type": "string", "title": "Icon for completed batch", "description": "Available in template as .StatusIcon", "default": "\uF7A5" }, "archived_status_icon": { "type": "string", "title": "Icon for archived batch", "description": "Available in template as .StatusIcon", "default": "\uF187" } } } } } }, { "if": { "properties": { "type": { "const": "ipify" } } }, "then": { "title": "Display your external IP Address", "description": "https://ohmyposh.dev/docs/ipify", "properties": { "properties": { "properties": { "url": { "type": "string", "title": "URL", "description": "The Ipify API URL", "default": "https://api.ipify.org" }, "http_timeout": { "$ref": "#/definitions/http_timeout" }, "cache_timeout": { "type": "integer", "title": "cache timeout", "description": "The number of minutes the response is cached. A value of 0 disables the cache.", "default": 10 } } } } } }, { "if": { "properties": { "type": { "const": "haskell" } } }, "then": { "title": "Haskell Segment", "description": "https://ohmyposh.dev/docs/haskell", "properties": { "properties": { "properties": { "fetch_version": { "$ref": "#/definitions/fetch_version" }, "stack_ghc_mode": { "type": "string", "title": "Use Stack GHC", "description": "Get the GHC version used by Stack. Will decrease performance. Boolean indicating whether stack ghc was used available in template as .StackGhc", "enum": ["always", "package", "never"], "default": "never" }, "display_mode": { "$ref": "#/definitions/display_mode" }, "missing_command_text": { "$ref": "#/definitions/missing_command_text" } } } } } }, { "if": { "properties": { "type": { "const": "ui5tooling" } } }, "then": { "title": "UI5 tooling CLI segment", "description": "https://ohmyposh.dev/docs/ui5tooling", "properties": { "properties": { "properties": { "fetch_version": { "$ref": "#/definitions/fetch_version" }, "display_mode": { "$ref": "#/definitions/display_mode" }, "missing_command_text": { "$ref": "#/definitions/missing_command_text" } } } } } }, { "if": { "properties": { "type": { "const": "cf" } } }, "then": { "title": "Clound Foundry CLI segment", "description": "https://ohmyposh.dev/docs/cf", "properties": { "properties": { "properties": { "fetch_version": { "$ref": "#/definitions/fetch_version" }, "display_mode": { "$ref": "#/definitions/display_mode" }, "missing_command_text": { "$ref": "#/definitions/missing_command_text" } } } } } }, { "if": { "properties": { "type": { "const": "cftarget" } } }, "then": { "title": "Clound Foundry Target segment", "description": "https://ohmyposh.dev/docs/cftarget" } }, { "if": { "properties": { "type": { "const": "kotlin" } } }, "then": { "title": "Kotlin Segment", "description": "https://ohmyposh.dev/docs/kotlin", "properties": { "properties": { "properties": { "fetch_version": { "$ref": "#/definitions/fetch_version" }, "display_mode": { "$ref": "#/definitions/display_mode" }, "missing_command_text": { "$ref": "#/definitions/missing_command_text" } } } } } }, { "if": { "properties": { "type": { "const": "swift" } } }, "then": { "title": "Swift Segment", "description": "https://ohmyposh.dev/docs/swift", "properties": { "properties": { "properties": { "fetch_version": { "$ref": "#/definitions/fetch_version" }, "display_mode": { "$ref": "#/definitions/display_mode" }, "missing_command_text": { "$ref": "#/definitions/missing_command_text" } } } } } }, { "if": { "properties": { "type": { "const": "cds" } } }, "then": { "title": "CDS (SAP CAP) segment", "description": "https://ohmyposh.dev/docs/cds", "properties": { "properties": { "properties": { "fetch_version": { "$ref": "#/definitions/fetch_version" }, "display_mode": { "$ref": "#/definitions/display_mode" }, "missing_command_text": { "$ref": "#/definitions/missing_command_text" } } } } } }, { "if": { "properties": { "type": { "const": "r" } } }, "then": { "title": "R Segment", "description": "https://ohmyposh.dev/docs/r", "properties": { "properties": { "properties": { "fetch_version": { "$ref": "#/definitions/fetch_version" }, "display_mode": { "$ref": "#/definitions/display_mode" }, "missing_command_text": { "$ref": "#/definitions/missing_command_text" } } } } } } ] } }, "required": ["blocks"], "properties": { "final_space": { "type": "boolean", "title": "Final Space", "description": "https://ohmyposh.dev/docs/configuration/overview#general-settings", "default": true }, "osc99": { "type": "boolean", "title": "Enable OSC99", "description": "https://ohmyposh.dev/docs/configuration/overview#general-settings", "default": false }, "console_title_template": { "type": "string", "title": "Console Title Template", "description": "https://ohmyposh.dev/docs/configuration/title#console-title-template", "default": "{{ .Shell }} in {{ .Folder }}" }, "terminal_background": { "$ref": "#/definitions/color" }, "blocks": { "type": "array", "title": "Block array", "default": [], "description": "https://ohmyposh.dev/docs/configuration/overview#blocks", "items": { "$ref": "#/definitions/block" } }, "tooltips": { "type": "array", "title": "Tooltip list, prompt elements to display based on context", "description": "https://ohmyposh.dev/docs/configuration/tooltips", "default": [], "items": { "allOf": [{ "$ref": "#/definitions/segment" }], "properties": { "tips": { "type": "array", "title": "The commands for which you want the segment to show", "items": { "type": "string" } } }, "required": ["tips"] } }, "transient_prompt": { "$ref": "#/definitions/extra_prompt", "title": "Transient Prompt Setting", "description": "https://ohmyposh.dev/docs/configuration/transient" }, "valid_line": { "$ref": "#/definitions/extra_prompt", "title": "Valid Prompt Setting", "description": "https://ohmyposh.dev/docs/configuration/prompt-override" }, "error_line": { "$ref": "#/definitions/extra_prompt", "title": "Error Prompt Setting", "description": "https://ohmyposh.dev/docs/configuration/prompt-override" }, "secondary_prompt": { "$ref": "#/definitions/extra_prompt", "title": "Secondary Prompt Setting", "description": "https://ohmyposh.dev/docs/configuration/secondary-prompt" }, "palette": { "type": "object", "title": "Palette", "description": "https://ohmyposh.dev/docs/configuration/colors#palette", "default": {}, "patternProperties": { ".*": { "$ref": "#/definitions/color" } } } } }