oh-my-posh/themes/schema.json
2021-09-24 19:41:11 +02:00

1775 lines
61 KiB
JSON

{
"$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/configure",
"definitions": {
"color": {
"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|inherit)$",
"title": "Color string",
"description": "https://ohmyposh.dev/docs/configure#colors",
"format": "color"
},
"color_templates": {
"type": "array",
"title": "Templates to define a color",
"description": "https://ohmyposh.dev/docs/configure#foreground-templates",
"default": [],
"items": {
"type": "string"
}
},
"display_version": {
"type": "boolean",
"title": "Display Version",
"description": "Show or hide the version number",
"default": true
},
"enable_hyperlink": {
"type": "boolean",
"title": "Enable hyperlink",
"description": "Displays an hyperlink for the current segment",
"default": false
},
"http_timeout": {
"type": "integer",
"title": "Http requst 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": ""
},
"template": {
"type": "string",
"title": "Template text",
"description": "The template to use to render the segment text",
"default": ""
},
"block": {
"type": "object",
"description": "https://ohmyposh.dev/docs/configure#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/configure#type",
"enum": ["prompt", "rprompt"],
"default": "prompt"
},
"alignment": {
"type": "string",
"title": "Block alignment",
"description": "https://ohmyposh.dev/docs/configure#alignment",
"enum": ["left", "right"],
"default": "left"
},
"newline": {
"type": "boolean",
"title": "Newline",
"description": "https://ohmyposh.dev/docs/configure#newline",
"default": false
},
"vertical_offset": {
"type": "integer",
"title": "Block vertical offset",
"description": "https://ohmyposh.dev/docs/configure#vertical-offset"
},
"horizontal-offset": {
"type": "integer",
"title": "Block vertical offset",
"description": "https://ohmyposh.dev/docs/configure#horizontal-offset"
},
"segments": {
"type": "array",
"title": "Segments list, prompt elements to display based on context",
"description": "https://ohmyposh.dev/docs/configure#segment",
"default": [],
"items": { "$ref": "#/definitions/segment" }
}
}
},
"segment": {
"type": "object",
"title": "A segment",
"description": "https://ohmyposh.dev/docs/configure#segment",
"default": {},
"required": ["type", "style"],
"properties": {
"type": {
"type": "string",
"title": "Segment Type",
"description": "https://ohmyposh.dev/docs/configure#type-1",
"enum": [
"session",
"path",
"git",
"exit",
"python",
"root",
"time",
"text",
"command",
"battery",
"spotify",
"shell",
"node",
"os",
"envvar",
"az",
"kubectl",
"dotnet",
"terraform",
"go",
"julia",
"ruby",
"ytm",
"executiontime",
"aws",
"java",
"poshgit",
"azfunc",
"crystal",
"dart",
"rust",
"owm",
"memory"
]
},
"style": {
"type": "string",
"title": "Segment Style",
"description": "https://ohmyposh.dev/docs/configure#style",
"enum": ["powerline", "plain", "diamond"]
},
"foreground": { "$ref": "#/definitions/color" },
"foreground_templates": { "$ref": "#/definitions/color_templates" },
"background": { "$ref": "#/definitions/color" },
"background_templates": { "$ref": "#/definitions/color_templates" },
"properties": {
"type": "object",
"title": "Segment Properties, used to change behavior/displaying",
"description": "https://ohmyposh.dev/docs/configure#properties",
"default": {},
"properties": {
"prefix": {
"type": "string",
"title": "Text prefix",
"description": "https://ohmyposh.dev/docs/configure#prefix",
"default": " "
},
"postfix": {
"type": "string",
"title": "Text postfix",
"description": "https://ohmyposh.dev/docs/configure#postfix",
"default": " "
},
"include_folders": {
"type": "array",
"title": "If specified, segment will only render in these folders",
"description": "https://ohmyposh.dev/docs/configure#include--exclude-folders",
"default": [],
"items": {
"type": "string"
}
},
"exclude_folders": {
"type": "array",
"title": "Exclude rendering in these folders",
"description": "https://ohmyposh.dev/docs/configure#include--exclude-folders",
"default": [],
"items": {
"type": "string"
}
},
"ignore_folders": {
"type": "array",
"title": "Deprecated - please use `exclude_folders` instead",
"description": "https://ohmyposh.dev/docs/configure#include--exclude-folders",
"default": [],
"items": {
"type": "string"
},
"deprecated": true
}
}
}
},
"allOf": [
{
"if": {
"properties": {
"style": { "const": "powerline" }
}
},
"then": {
"properties": {
"powerline_symbol": {
"type": "string",
"title": "Powerline Symbol",
"description": "https://ohmyposh.dev/docs/configure#powerline-symbol",
"default": "\uE0B0"
},
"invert_powerline": {
"type": "boolean",
"title": "Flip the Powerline symbol vertically",
"description": "https://ohmyposh.dev/docs/configure#invert-powerline",
"default": false
}
}
}
},
{
"if": {
"properties": {
"style": { "const": "diamond" }
}
},
"then": {
"properties": {
"leading_diamond": {
"type": "string",
"title": "Leading diamond",
"description": "https://ohmyposh.dev/docs/configure#leading-diamond",
"default": ""
},
"trailing_diamond": {
"type": "string",
"title": "Trailing diamond",
"description": "https://ohmyposh.dev/docs/configure#trailing-diamond",
"default": ""
}
}
}
},
{
"if": {
"properties": {
"type": { "const": "az" }
}
},
"then": {
"title": "Azure Segment",
"description": "https://ohmyposh.dev/docs/az",
"properties": {
"properties": {
"properties": {
"template": {
"$ref": "#/definitions/template"
}
}
}
}
}
},
{
"if": {
"properties": {
"type": { "const": "battery" }
}
},
"then": {
"title": "Battery Segment",
"description": "https://ohmyposh.dev/docs/battery",
"properties": {
"properties": {
"properties": {
"battery_icon": {
"type": "string",
"title": "Battery Icon",
"description": "Text/icon to use as a prefix for the battery percentage",
"default": ""
},
"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 o display on the left when fully charged",
"default": ""
},
"color_background": {
"type": "boolean",
"title": "Color Background",
"description": "Color the background or foreground",
"default": false
},
"charged_color": { "$ref": "#/definitions/color" },
"charging_color": { "$ref": "#/definitions/color" },
"discharging_color": { "$ref": "#/definitions/color" },
"display_charging": {
"type": "boolean",
"title": "Display while charging",
"description": "displays the battery status while charging (Charging)",
"default": true
},
"display_charged": {
"type": "boolean",
"title": "Display when full",
"description": "displays the battery status when charged (Full)",
"default": true
},
"template": {
"$ref": "#/definitions/template"
}
}
}
}
}
},
{
"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": {
"unsupported_version_icon": {
"type": "string",
"title": "Unsupported Version Icon",
"description": "Text/icon that is displayed when the active .NET SDK version (e.g., one specified by global.json) is not installed/supported",
"default": " \uE77F "
},
"display_version": {
"$ref": "#/definitions/display_version"
},
"display_mode": {
"$ref": "#/definitions/display_mode"
},
"missing_command_text": {
"$ref": "#/definitions/missing_command_text"
}
}
}
}
}
},
{
"if": {
"properties": {
"type": { "const": "envvar" }
}
},
"then": {
"title": "Environment Variable Segment",
"description": "https://ohmyposh.dev/docs/environment",
"properties": {
"properties": {
"properties": {
"var_name": {
"type": "string",
"title": "Variable Name",
"description": "The name of the environment variable",
"default": ""
}
}
}
}
}
},
{
"if": {
"properties": {
"type": { "const": "exit" }
}
},
"then": {
"title": "Exit Segment",
"description": "https://ohmyposh.dev/docs/exit",
"properties": {
"properties": {
"properties": {
"display_exit_code": {
"type": "boolean",
"title": "Display Exit Code",
"description": "Show or hide the exit code",
"default": true
},
"always_enabled": {
"type": "boolean",
"title": "Always Enabled",
"description": "Always show the status",
"default": false
},
"color_background": {
"type": "boolean",
"title": "Color Background",
"description": "Color the background or foreground",
"default": false
},
"error_color": { "$ref": "#/definitions/color" },
"always_numeric": {
"type": "boolean",
"title": "Always Numeric",
"description": "Always display the exit code as a number",
"default": false
}
}
}
}
}
},
{
"if": {
"properties": {
"type": { "const": "git" }
}
},
"then": {
"title": "Git Segment",
"description": "https://ohmyposh.dev/docs/git",
"properties": {
"properties": {
"properties": {
"branch_icon": {
"type": "string",
"title": "Branch Icon",
"description": "The icon to use in front of the git branch name",
"default": "\uE0A0 "
},
"display_branch_status": {
"type": "boolean",
"title": "Display Branch Status",
"description": "Display the branch status or not",
"default": true
},
"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"
},
"display_status": {
"type": "boolean",
"title": "Display Status",
"description": "Display the local changes or not",
"default": true
},
"display_status_detail": {
"type": "boolean",
"title": "Display Status Detail",
"description": "Display the local changes in detail or not",
"default": true
},
"display_stash_count": {
"type": "boolean",
"title": "Display Stash Count",
"description": "Display the stash count or not",
"default": false
},
"display_worktree_count": {
"type": "boolean",
"title": "Display Worktree Count",
"description": "Display the worktree count or not",
"default": false
},
"status_separator_icon": {
"type": "string",
"title": "Status Separator Icon",
"description": "Icon/text to display between staging and working area changes",
"default": " | "
},
"local_working_icon": {
"type": "string",
"title": "Local Working Icon",
"description": "The icon to display in front of the working area changes",
"default": "\uF044"
},
"local_staged_icon": {
"type": "string",
"title": "Local Staged Icon",
"description": "The icon to display in front of the staged area changes",
"default": "\uF046"
},
"stash_count_icon": {
"type": "string",
"title": "Stash Count Icon",
"description": "The icon to display before the stash context",
"default": "\uF692 "
},
"worktree_count_icon": {
"type": "string",
"title": "Worktree Count Icon",
"description": "The icon to display before the worktree context",
"default": "\uF1bb "
},
"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"
},
"display_upstream_icon": {
"type": "boolean",
"title": "Display Upstream Icon",
"description": "Display upstream icon or not",
"default": false
},
"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"
},
"working_color": { "$ref": "#/definitions/color" },
"staging_color": { "$ref": "#/definitions/color" },
"status_colors_enabled": {
"type": "boolean",
"title": "Status Colors Enabled",
"description": "Color the segment based on the repository status",
"default": false
},
"color_background": {
"type": "boolean",
"title": "Color Background",
"description": "Color the background or foreground",
"default": true
},
"local_changes_color": {
"$ref": "#/definitions/color"
},
"ahead_and_behind_color": {
"$ref": "#/definitions/color"
},
"behind_color": { "$ref": "#/definitions/color" },
"ahead_color": { "$ref": "#/definitions/color" },
"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
}
}
}
}
}
},
{
"if": {
"properties": {
"type": { "const": "go" }
}
},
"then": {
"title": "Golang Segment",
"description": "https://ohmyposh.dev/docs/golang",
"properties": {
"properties": {
"properties": {
"display_version": {
"$ref": "#/definitions/display_version"
},
"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": {
"display_version": {
"$ref": "#/definitions/display_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": {
"display_version": {
"$ref": "#/definitions/display_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": {
"display_version": {
"$ref": "#/definitions/display_version"
},
"display_mode": {
"$ref": "#/definitions/display_mode"
},
"missing_command_text": {
"$ref": "#/definitions/missing_command_text"
}
}
}
}
}
},
{
"if": {
"properties": {
"type": { "const": "java" }
}
},
"then": {
"title": "Julia Segment",
"description": "https://ohmyposh.dev/docs/java",
"properties": {
"properties": {
"properties": {
"display_version": {
"$ref": "#/definitions/display_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": {
"display_version": {
"$ref": "#/definitions/display_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": {
"display_version": {
"$ref": "#/definitions/display_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": {
"template": {
"$ref": "#/definitions/template"
},
"display_error": {
"type": "boolean",
"title": "Display Error",
"description": "Show the error context when failing to retrieve the kubectl information",
"default": false
}
}
}
}
}
},
{
"if": {
"properties": {
"type": { "const": "aws" }
}
},
"then": {
"title": "AWS Segment",
"description": "https://ohmyposh.dev/docs/aws",
"properties": {
"properties": {
"properties": {
"template": {
"$ref": "#/definitions/template"
},
"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": {
"display_version": {
"$ref": "#/definitions/display_version"
},
"display_mode": {
"$ref": "#/definitions/display_mode"
},
"missing_command_text": {
"$ref": "#/definitions/missing_command_text"
},
"display_package_manager": {
"type": "boolean",
"title": "Display Package Manager",
"description": "Show whether the current project uses Yarn or NPM",
"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": {
"display_version": {
"$ref": "#/definitions/display_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"
},
"wsl": {
"type": "string",
"title": "WSL Icon",
"description": "Icon/text to use for WSL",
"default": "WSL"
},
"wsl_separator": {
"type": "string",
"title": "WSL Separator",
"description": "Icon/text to use for separating WSL from Linux",
"default": " - "
},
"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 con 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",
"short",
"full",
"folder",
"mixed",
"letter"
],
"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 whithout 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
},
"stack_count_enabled": {
"type": "boolean",
"title": "Show/hide stack count",
"description": "Displays the stack count when using pushd/popd",
"default": false
},
"enable_hyperlink": {
"$ref": "#/definitions/enable_hyperlink"
}
}
}
}
},
{
"if": {
"properties": {
"type": { "const": "python" }
}
},
"then": {
"title": "Python Segment",
"description": "https://ohmyposh.dev/docs/python",
"properties": {
"properties": {
"properties": {
"display_version": {
"$ref": "#/definitions/display_version"
},
"display_default": {
"type": "boolean",
"title": "Display Default Env",
"description": "Show the name of the virtualenv when it's default (`system`, `base`)",
"default": true
},
"display_virtual_env": {
"type": "boolean",
"title": "Display Virtual Env",
"description": "Show 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",
"properties": {
"properties": {
"properties": {
"root_icon": {
"type": "string",
"title": "Root Icon",
"description": "The icon to display in case of root/elevated",
"default": "\uF0E7"
}
}
}
}
}
},
{
"if": {
"properties": {
"type": { "const": "session" }
}
},
"then": {
"title": "Session Segment",
"description": "https://ohmyposh.dev/docs/session",
"properties": {
"properties": {
"properties": {
"user_info_separator": {
"type": "string",
"title": "User Info Separator",
"description": "Text/icon to put in between the user and host name",
"default": "@"
},
"ssh_icon": {
"type": "string",
"title": "SSH Icon",
"description": "Text/icon to display first when in an active SSH session",
"default": "\uF817"
},
"user_color": { "$ref": "#/definitions/color" },
"host_color": { "$ref": "#/definitions/color" },
"display_user": {
"type": "boolean",
"title": "Display User",
"description": "Display the user name or not",
"default": true
},
"display_host": {
"type": "boolean",
"title": "Display Host",
"description": "Display the host name or not",
"default": true
},
"default_user_name": {
"type": "string",
"title": "Default User Name",
"description": "The name of the default user",
"default": ""
},
"display_default": {
"type": "boolean",
"title": "Display Default User",
"description": "Display the segment when default user or not",
"default": true
}
}
}
}
}
},
{
"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"
},
"template": {
"$ref": "#/definitions/template"
}
}
}
}
}
},
{
"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"]
},
"enable_hyperlink": {
"$ref": "#/definitions/enable_hyperlink"
},
"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": "memory" }
}
},
"then": {
"title": "Get used memory percentage",
"description": "https://ohmyposh.dev/docs/memory",
"properties": {
"properties": {
"properties": {
"precision": {
"type": "integer",
"title": "Precision",
"description": "number of decimal places to show",
"default": 0
},
"use_available": {
"type": "boolean",
"title": "Use available memory",
"description": "whether to use available or free memory on Linux",
"default": true
},
"memory_type": {
"type": "string",
"enum": ["physical", "swap"],
"title": "Memory type",
"description": "whether to show physical or swap memory",
"default": "physical"
}
}
}
}
}
}
]
}
},
"required": ["blocks"],
"properties": {
"final_space": {
"type": "boolean",
"title": "Final Space",
"description": "https://ohmyposh.dev/docs/configure#general-settings",
"default": true
},
"osc99": {
"type": "boolean",
"title": "Enable OSC99",
"description": "https://ohmyposh.dev/docs/configure#general-settings",
"default": false
},
"console_title": {
"type": "boolean",
"title": "Console Title",
"description": "https://ohmyposh.dev/docs/configure#general-settings",
"default": true
},
"console_title_style": {
"type": "string",
"title": "Console Title Style",
"description": "https://ohmyposh.dev/docs/configure#console-title-style",
"enum": ["folder", "path", "template"],
"default": "folder"
},
"console_title_template": {
"type": "string",
"title": "Console Title Template",
"description": "https://ohmyposh.dev/docs/configure#console-title-template",
"default": "{{ .Shell }} in {{ .Folder }}"
},
"terminal_background": { "$ref": "#/definitions/color" },
"blocks": {
"type": "array",
"title": "Block array",
"default": [],
"description": "https://ohmyposh.dev/docs/configure",
"items": { "$ref": "#/definitions/block" }
},
"tooltips": {
"type": "array",
"title": "Tooltip list, prompt elements to display based on context",
"description": "https://ohmyposh.dev/docs/beta#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": {
"type": "object",
"title": "Transient Prompt Settings",
"description": "https://ohmyposh.dev/docs/beta#transient-prompt",
"default": {},
"properties": {
"template": {
"type": "string",
"title": "Transient Prompt Template",
"default": "{{ .Shell }}> <#f7dc66>{{ .Command }}</>"
},
"background": { "$ref": "#/definitions/color" },
"foreground": { "$ref": "#/definitions/color" }
}
}
}
}