{ "$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." } }, "properties": { "config": { "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" ] }, "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", "type": "string" }, "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" }, "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" }, "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" }, "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 (i.e. /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 (i.e. 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" }, "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" }, "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": [ "autoUpdatePlugins", "backgroundColor", "bell", "bellSound", "bellSoundURL", "borderColor", "colors", "copyOnSelect", "css", "cursorAccentColor", "cursorBlink", "cursorColor", "cursorShape", "defaultSSHApp", "disableAutoUpdates", "disableLigatures", "env", "fontFamily", "fontSize", "fontWeight", "fontWeightBold", "foregroundColor", "letterSpacing", "lineHeight", "macOptionSelectionMode", "padding", "preserveCWD", "quickEdit", "screenReaderMode", "scrollback", "selectionColor", "shell", "shellArgs", "showHamburgerMenu", "showWindowControls", "termCSS", "updateChannel", "webGLRenderer", "webLinksActivationKey", "workingDirectory" ], "type": "object" }, "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" }