{"$schema": "http://json-schema.org/draft-07/schema#","definitions": {"FontWeight": {"anyOf": [{"enum": ["100","200","300","400","500","600","700","800","900","bold","normal"],"type": "string"},{"type": "number"}],"description": "A string or number representing text font weight."},"Partial<profileConfigOptions>": {"properties": {"backgroundColor": {"description": "terminal background color\n\nopacity is only supported on macOS","type": "string"},"bell": {"description": "Supported Options:\n1. 'SOUND' -> Enables the bell as a sound\n2. false: turns off the bell","enum": ["SOUND",false]},"bellSound": {"description": "base64 encoded string of the sound file to use for the bell\nif null, the default bell will be used","type": ["string","null"]},"bellSoundURL": {"description": "An absolute file path to a sound file on the machine.","type": ["string","null"]},"borderColor": {"description": "border color (window, tabs)","type": "string"},"colors": {"description": "the full list. if you're going to provide the full color palette,\nincluding the 6 x 6 color cubes and the grayscale map, just provide\nan array here instead of a color map object","properties": {"black": {"type": "string"},"blue": {"type": "string"},"cyan": {"type": "string"},"green": {"type": "string"},"lightBlack": {"type": "string"},"lightBlue": {"type": "string"},"lightCyan": {"type": "string"},"lightGreen": {"type": "string"},"lightMagenta": {"type": "string"},"lightRed": {"type": "string"},"lightWhite": {"type": "string"},"lightYellow": {"type": "string"},"magenta": {"type": "string"},"red": {"type": "string"},"white": {"type": "string"},"yellow": {"type": "string"}},"required": ["black","blue","cyan","green","lightBlack","lightBlue","lightCyan","lightGreen","lightMagenta","lightRed","lightWhite","lightYellow","magenta","red","white","yellow"],"type": "object"},"copyOnSelect": {"description": "if `true` selected text will automatically be copied to the clipboard","type": "boolean"},"css": {"description": "custom CSS to embed in the main window","type": "string"},"cursorAccentColor": {"description": "terminal text color under BLOCK cursor","type": "string"},"cursorBlink": {"description": "set to `true` for blinking cursor","type": "boolean"},"cursorColor": {"description": "terminal cursor background color and opacity (hex, rgb, hsl, hsv, hwb or cmyk)","type": "string"},"cursorShape": {"description": "`'BEAM'` for |, `'UNDERLINE'` for _, `'BLOCK'` for █","enum": ["BEAM","BLOCK","UNDERLINE"],"type": "string"},"disableLigatures": {"description": "if `false` Hyper will use ligatures provided by some fonts","type": "boolean"},"env": {"additionalProperties": {"type": "string"},"description": "for environment variables","type": "object"},"fontFamily": {"description": "font family with optional fallbacks","type": "string"},"fontSize": {"description": "default font size in pixels for all tabs","type": "number"},"fontWeight": {"$ref": "#/definitions/FontWeight","description": "default font weight eg:'normal', '400', 'bold'"},"fontWeightBold": {"$ref": "#/definitions/FontWeight","description": "font weight for bold characters eg:'normal', '600', 'bold'"},"foregroundColor": {"description": "color of the text","type": "string"},"imageSupport": {"description": "Whether to enable Sixel and iTerm2 inline image protocol support or not.","type": "boolean"},"letterSpacing": {"description": "letter spacing as a relative unit","type": "number"},"lineHeight": {"description": "line height as a relative unit","type": "number"},"macOptionSelectionMode": {"description": "choose either `'vertical'`, if you want the column mode when Option key is hold during selection (Default)\nor `'force'`, if you want to force selection regardless of whether the terminal is in mouse events mode\n(inside tmux or vim with mouse mode enabled for example).","type": "string"},"modifierKeys": {"properties": {"altIsMeta": {"type": "boolean"},"cmdIsMeta": {"type": "boolean"}},"required": ["altIsMeta","cmdIsMeta"],"type": "object"},"padding": {"description": "custom padding (CSS format, i.e.: `top right bottom left` or `top horizontal bottom` or `vertical horizontal` or `all`)","type": "string"},"preserveCWD": {"description": "set to true to preserve working directory when creating splits or tabs","type": "boolean"},"quickEdit": {"description": "if `true` on right click selected text will be copied or pasted if no\nselection is present (`true` by default on Windows and disables the context menu feature)","type": "boolean"},"screenReaderMode": {"description": "set to true to enable screen reading apps (like NVDA) to read the contents of the terminal","type": "boolean"},"scrollback": {"type": "number"},"selectionColor": {"description": "terminal selection color","type": "string"},"shell": {"description": "the shell to run when spawning a new session (e.g. /usr/local/bin/fish)\nif left empty, your system's login shell will be used by default\n\nWindows\n- Make sure to use a full path if the binary name doesn't work\n- Remove `--login` in shellArgs\n\nWindows Subsystem for Linux (WSL) - previously Bash on Windows\n- Example: `C:\\\\Windows\\\\System32\\\\wsl.exe`\n\nGit-bash on Windows\n- Example: `C:\\\\Program Files\\\\Git\\\\bin\\\\bash.exe`\n\nPowerShell on Windows\n- Example: `C:\\\\WINDOWS\\\\System32\\\\WindowsPowerShell\\\\v1.0\\\\powershell.exe`\n\nCygwin\n- Example: `C:\\\\cygwin64\\\\bin\\\\bash.exe`\n\nGit Bash\n- Example: `C:\\\\Program Files\\\\Git\\\\git-cmd.exe`\nThen Add `--command=usr/bin/bash.exe` to shellArgs","type": "string"},"shellArgs": {"description": "for setting shell arguments (e.g. for using interactive shellArgs: `['-i']`)\nby default `['--login']` will be used","items": {"type": "string"},"type": "array"},"showHamburgerMenu": {"description": "if you're using a Linux setup which show native menus, set to false\n\ndefault: `true` on Linux, `true` on Windows, ignored on macOS","enum": ["",false,true]},"showWindowControls": {"description": "set to `false` if you want to hide the minimize, maximize and close buttons\n\nadditionally, set to `'left'` if you want them on the left, like in Ubuntu\n\ndefault: `true` on Windows and Linux, ignored on macOS","enum": ["",false,"left",true]},"termCSS": {"description": "custom CSS to embed in the terminal window","type": "string"},"uiFontFamily": {"type": "string"},"webGLRenderer": {"description": "Whether to use the WebGL renderer. Set it to false to use canvas-based\nrendering (slower, but supports transparent backgrounds)","type": "boolean"},"webLinksActivationKey": {"description": "keypress required for weblink activation: [ctrl | alt | meta | shift]","enum": ["","alt","ctrl","meta","shift"],"type": "string"},"windowSize": {"description": "Initial window size in pixels","items": [{"type": "number"},{"type": "number"}],"maxItems": 2,"minItems": 2,"type": "array"},"workingDirectory": {"description": "set custom startup directory (must be an absolute path)","type": "string"}},"type": "object"},"configOptions": {"allOf": [{"properties": {"autoUpdatePlugins": {"description": "if `true` (default), Hyper will update plugins every 5 hours\nyou can also set it to a custom time e.g. `1d` or `2h`","type": ["string","boolean"]},"defaultSSHApp": {"description": "if `true` hyper will be set as the default protocol client for SSH","type": "boolean"},"disableAutoUpdates": {"description": "if `true` hyper will not check for updates","type": "boolean"},"updateChannel": {"description": "choose either `'stable'` for receiving highly polished, or `'canary'` for less polished but more frequent updates","enum": ["canary","stable"],"type": "string"},"useConpty": {"type": "boolean"}},"required": ["autoUpdatePlugins","defaultSSHApp","disableAutoUpdates","updateChannel"],"type": "object"},{"properties": {"backgroundColor": {"description": "terminal background color\n\nopacity is only supported on macOS","type": "string"},"bell": {"description": "Supported Options:\n1. 'SOUND' -> Enables the bell as a sound\n2. false: turns off the bell","enum": ["SOUND",false]},"bellSound": {"description": "base64 encoded string of the sound file to use for the bell\nif null, the default bell will be used","type": ["string","null"]},"bellSoundURL": {"description": "An absolute file path to a sound file on the machine.","type": ["string","null"]},"borderColor": {"description": "border color (window, tabs)","type": "string"},"colors": {"description": "the full list. if you're going to provide the full color palette,\nincluding the 6 x 6 color cubes and the grayscale map, just provide\nan array here instead of a color map object","properties": {"black": {"type": "string"},"blue": {"type": "string"},"cyan": {"type": "string"},"green": {"type": "string"},"lightBlack": {"type": "string"},"lightBlue": {"type": "string"},"lightCyan": {"type": "string"},"lightGreen": {"type": "string"},"lightMagenta": {"type": "string"},"lightRed": {"type": "string"},"lightWhite": {"type": "string"},"lightYellow": {"type": "string"},"magenta": {"type": "string"},"red": {"type": "string"},"white": {"type": "string"},"yellow": {"type": "string"}},"required": ["black","blue","cyan","green","lightBlack","lightBlue","lightCyan","lightGreen","lightMagenta","lightRed","lightWhite","lightYellow","magenta","red","white","yellow"],"type": "object"},"copyOnSelect": {"description": "if `true` selected text will automatically be copied to the clipboard","type": "boolean"},"css": {"description": "custom CSS to embed in the main window","type": "string"},"cursorAccentColor": {"description": "terminal text color under BLOCK cursor","type": "string"},"cursorBlink": {"description": "set to `true` for blinking cursor","type": "boolean"},"cursorColor": {"description": "terminal cursor background color and opacity (hex, rgb, hsl, hsv, hwb or cmyk)","type": "string"},"cursorShape": {"description": "`'BEAM'` for |, `'UNDERLINE'` for _, `'BLOCK'` for █","enum": ["BEAM","BLOCK","UNDERLINE"],"type": "string"},"disableLigatures": {"description": "if `false` Hyper will use ligatures provided by some fonts","type": "boolean"},"env": {"additionalProperties": {"type": "string"},"description": "for environment variables","type": "object"},"fontFamily": {"description": "font family with optional fallbacks","type": "string"},"fontSize": {"description": "default font size in pixels for all tabs","type": "number"},"fontWeight": {"$ref": "#/definitions/FontWeight","description": "default font weight eg:'normal', '400', 'bold'"},"fontWeightBold": {"$ref": "#/definitions/FontWeight","description": "font weight for bold characters eg:'normal', '600', 'bold'"},"foregroundColor": {"description": "color of the text","type": "string"},"imageSupport": {"description": "Whether to enable Sixel and iTerm2 inline image protocol support or not.","type": "boolean"},"letterSpacing": {"description": "letter spacing as a relative unit","type": "number"},"lineHeight": {"description": "line height as a relative unit","type": "number"},"macOptionSelectionMode": {"description": "choose either `'vertical'`, if you want the column mode when Option key is hold during selection (Default)\nor `'force'`, if you want to force selection regardless of whether the terminal is in mouse events mode\n(inside tmux or vim with mouse mode enabled for example).","type": "string"},"modifierKeys": {"properties": {"altIsMeta": {"type": "boolean"},"cmdIsMeta": {"type": "boolean"}},"required": ["altIsMeta","cmdIsMeta"],"type": "object"},"padding": {"description": "custom padding (CSS format, i.e.: `top right bottom left` or `top horizontal bottom` or `vertical horizontal` or `all`)","type": "string"},"preserveCWD": {"description": "set to true to preserve working directory when creating splits or tabs","type": "boolean"},"quickEdit": {"description": "if `true` on right click selected text will be copied or pasted if no\nselection is present (`true` by default on Windows and disables the context menu feature)","type": "boolean"},"screenReaderMode": {"description": "set to true to enable screen reading apps (like NVDA) to read the contents of the terminal","type": "boolean"},"scrollback": {"type": "number"},"selectionColor": {"description": "terminal selection color","type": "string"},"shell": {"description": "the shell to run when spawning a new session (e.g. /usr/local/bin/fish)\nif left empty, your system's login shell will be used by default\n\nWindows\n- Make sure to use a full path if the binary name doesn't work\n- Remove `--login` in shellArgs\n\nWindows Subsystem for Linux (WSL) - previously Bash on Windows\n- Example: `C:\\\\Windows\\\\System32\\\\wsl.exe`\n\nGit-bash on Windows\n- Example: `C:\\\\Program Files\\\\Git\\\\bin\\\\bash.exe`\n\nPowerShell on Windows\n- Example: `C:\\\\WINDOWS\\\\System32\\\\WindowsPowerShell\\\\v1.0\\\\powershell.exe`\n\nCygwin\n- Example: `C:\\\\cygwin64\\\\bin\\\\bash.exe`\n\nGit Bash\n- Example: `C:\\\\Program Files\\\\Git\\\\git-cmd.exe`\nThen Add `--command=usr/bin/bash.exe` to shellArgs","type": "string"},"shellArgs": {"description": "for setting shell arguments (e.g. for using interactive shellArgs: `['-i']`)\nby default `['--login']` will be used","items": {"type": "string"},"type": "array"},"showHamburgerMenu": {"description": "if you're using a Linux setup which show native menus, set to false\n\ndefault: `true` on Linux, `true` on Windows, ignored on macOS","enum": ["",false,true]},"showWindowControls": {"description": "set to `false` if you want to hide the minimize, maximize and close buttons\n\nadditionally, set to `'left'` if you want them on the left, like in Ubuntu\n\ndefault: `true` on Windows and Linux, ignored on macOS","enum": ["",false,"left",true]},"termCSS": {"description": "custom CSS to embed in the terminal window","type": "string"},"uiFontFamily": {"type": "string"},"webGLRenderer": {"description": "Whether to use the WebGL renderer. Set it to false to use canvas-based\nrendering (slower, but supports transparent backgrounds)","type": "boolean"},"webLinksActivationKey": {"description": "keypress required for weblink activation: [ctrl | alt | meta | shift]","enum": ["","alt","ctrl","meta","shift"],"type": "string"},"windowSize": {"description": "Initial window size in pixels","items": [{"type": "number"},{"type": "number"}],"maxItems": 2,"minItems": 2,"type": "array"},"workingDirectory": {"description": "set custom startup directory (must be an absolute path)","type": "string"}},"required": ["backgroundColor","bell","bellSound","bellSoundURL","borderColor","colors","copyOnSelect","css","cursorAccentColor","cursorBlink","cursorColor","cursorShape","disableLigatures","env","fontFamily","fontSize","fontWeight","fontWeightBold","foregroundColor","imageSupport","letterSpacing","lineHeight","macOptionSelectionMode","padding","preserveCWD","quickEdit","screenReaderMode","scrollback","selectionColor","shell","shellArgs","showHamburgerMenu","showWindowControls","termCSS","webGLRenderer","webLinksActivationKey","workingDirectory"],"type": "object"},{"properties": {"defaultProfile": {"description": "The default profile name to use when launching a new session","type": "string"},"profiles": {"description": "A list of profiles to use","items": {"properties": {"config": {"$ref": "#/definitions/Partial<profileConfigOptions>","description": "Specify all the options you want to override for each profile.\nOptions set here override the defaults set in the root."},"name": {"type": "string"}},"required": ["config","name"],"type": "object"},"type": "array"}},"required": ["defaultProfile","profiles"],"type": "object"}]}},"properties": {"config": {"$ref": "#/definitions/configOptions"},"keymaps": {"additionalProperties": {"anyOf": [{"items": {"type": "string"},"type": "array"},{"type": "string"}]},"description": "Example\n'window:devtools': 'cmd+alt+o',","type": "object"},"localPlugins": {"description": "in development, you can create a directory under\n`plugins/local/` and include it here\nto load it and avoid it being `npm install`ed","items": {"type": "string"},"type": "array"},"plugins": {"description": "a list of plugins to fetch and install from npm\nformat: [@org/]project[#version]\nexamples:\n `hyperpower`\n `@company/project`\n `project#1.0.1`","items": {"type": "string"},"type": "array"}},"type": "object"}