diff --git a/src/api/json/catalog.json b/src/api/json/catalog.json index 58c9ffc75e6..7fbac8a0e79 100644 --- a/src/api/json/catalog.json +++ b/src/api/json/catalog.json @@ -5257,6 +5257,24 @@ "description": "A file format for describing custom elements", "url": "https://raw.githubusercontent.com/webcomponents/custom-elements-manifest/main/schema.json", "fileMatch": ["custom-elements.json"] + }, + { + "name": "warp-keysets.json", + "description": "Warp keyboard shortcut presets", + "url": "https://json.schemastore.org/warp-keysets.json", + "fileMatch": ["**/.warp/keybindings.yaml"] + }, + { + "name": "warp-themes.json", + "description": "Warp themes", + "url": "https://json.schemastore.org/warp-themes.json", + "fileMatch": ["**/.warp/themes/*.yaml"] + }, + { + "name": "warp-workflows.json", + "description": "Warp workflows", + "url": "https://json.schemastore.org/warp-workflows.json", + "fileMatch": ["**/.warp/workflows/*.yaml"] } ], "version": 1 diff --git a/src/schemas/json/warp-keysets.json b/src/schemas/json/warp-keysets.json new file mode 100644 index 00000000000..afba9e134b2 --- /dev/null +++ b/src/schemas/json/warp-keysets.json @@ -0,0 +1,691 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "definitions": { + "key": { + "type": "string", + "minLength": 1, + "not": { + "pattern": "---" + }, + "examples": ["ctrl-", "alt-", "shift-", "cmd-"] + } + }, + "title": "keybindings", + "description": "Keybindings", + "type": "object", + "properties": { + "pane_group:add_right": { + "title": "pane_group:add_right", + "description": "Split pane right", + "default": "CMD-D", + "$ref": "#/definitions/key" + }, + "workspace:toggle_launch_config_palette": { + "title": "workspace:toggle_launch_config_palette", + "description": "Launch configuration palette", + "default": "CTRL-CMD-L", + "$ref": "#/definitions/key" + }, + "workspace:show_theme_chooser": { + "title": "workspace:show_theme_chooser", + "description": "Open theme picker", + "default": "CTRL-CMD-T", + "$ref": "#/definitions/key" + }, + "workspace:show_command_search": { + "title": "workspace:show_command_search", + "description": "Command search", + "default": "CTRL-R", + "$ref": "#/definitions/key" + }, + "input:toggle_workflows": { + "title": "input:toggle_workflows", + "description": "Workflows", + "default": "CTRL-SHIFT-R", + "$ref": "#/definitions/key" + }, + "input:toggle_natural_language_command_search": { + "title": "input:toggle_natural_language_command_search", + "description": "Ai command suggestions", + "default": "CTRL-`", + "$ref": "#/definitions/key" + }, + "terminal:select_bookmark_down": { + "title": "terminal:select_bookmark_down", + "description": "Select the closest bookmark down", + "default": "ALT-DOWN", + "$ref": "#/definitions/key" + }, + "terminal:copy_outputs": { + "title": "terminal:copy_outputs", + "description": "Copy command output", + "default": "ALT-SHIFT-CMD-C", + "$ref": "#/definitions/key" + }, + "terminal:select_bookmark_up": { + "title": "terminal:select_bookmark_up", + "description": "Select the closest bookmark up", + "default": "ALT-UP", + "$ref": "#/definitions/key" + }, + "terminal:select_all_blocks": { + "title": "terminal:select_all_blocks", + "description": "Select all blocks", + "default": "CMD-A", + "$ref": "#/definitions/key" + }, + "terminal:clear_blocks": { + "title": "terminal:clear_blocks", + "description": "Clear blocks", + "default": "CMD-K", + "$ref": "#/definitions/key" + }, + "terminal:bookmark_selected_block": { + "title": "terminal:bookmark_selected_block", + "description": "Bookmark selected block", + "default": "CMD-B", + "$ref": "#/definitions/key" + }, + "terminal:select_next_block": { + "title": "terminal:select_next_block", + "description": "Select next block", + "default": "CMD-DOWN", + "$ref": "#/definitions/key" + }, + "terminal:reinput_commands": { + "title": "terminal:reinput_commands", + "description": "Reinput selected commands", + "default": "CMD-I", + "$ref": "#/definitions/key" + }, + "terminal:focus_input": { + "title": "terminal:focus_input", + "description": "Focus terminal input", + "default": "CMD-L", + "$ref": "#/definitions/key" + }, + "terminal:select_previous_block": { + "title": "terminal:select_previous_block", + "description": "Select previous block", + "default": "CMD-UP", + "$ref": "#/definitions/key" + }, + "terminal:open_block_list_context_menu_via_keybinding": { + "title": "terminal:open_block_list_context_menu_via_keybinding", + "description": "Open block context menu", + "default": "CTRL-M", + "$ref": "#/definitions/key" + }, + "terminal:copy_commands": { + "title": "terminal:copy_commands", + "description": "Copy command", + "default": "SHIFT-CMD-C", + "$ref": "#/definitions/key" + }, + "terminal:reinput_commands_with_sudo": { + "title": "terminal:reinput_commands_with_sudo", + "description": "Reinput selected commands as root", + "default": "SHIFT-CMD-I", + "$ref": "#/definitions/key" + }, + "terminal:open_share_modal": { + "title": "terminal:open_share_modal", + "description": "Share selected block", + "default": "SHIFT-CMD-S", + "$ref": "#/definitions/key" + }, + "terminal:expand_block_selection_below": { + "title": "terminal:expand_block_selection_below", + "description": "Expand selected blocks below", + "default": "SHIFT-DOWN", + "$ref": "#/definitions/key" + }, + "terminal:expand_block_selection_above": { + "title": "terminal:expand_block_selection_above", + "description": "Expand selected blocks above", + "default": "SHIFT-UP", + "$ref": "#/definitions/key" + }, + "editor:delete_word_left": { + "title": "editor:delete_word_left", + "description": "Delete word left", + "default": "ALT-BACKSPACE", + "$ref": "#/definitions/key" + }, + "editor_view:fold_selected_ranges": { + "title": "editor_view:fold_selected_ranges", + "description": "Fold selected ranges", + "default": "ALT-CMD-F", + "$ref": "#/definitions/key" + }, + "editor_view:fold": { + "title": "editor_view:fold", + "description": "Fold", + "default": "ALT-CMD-[", + "$ref": "#/definitions/key" + }, + "editor_view:unfold": { + "title": "editor_view:unfold", + "description": "Unfold", + "default": "ALT-CMD-]", + "$ref": "#/definitions/key" + }, + "editor:delete_word_right": { + "title": "editor:delete_word_right", + "description": "Delete word right", + "default": "ALT-DELETE", + "$ref": "#/definitions/key" + }, + "editor_view:select_all": { + "title": "editor_view:select_all", + "description": "Select all", + "default": "CMD-A", + "$ref": "#/definitions/key" + }, + "editor_view:delete_all_left": { + "title": "editor_view:delete_all_left", + "description": "Delete all left", + "default": "CMD-BACKSPACE", + "$ref": "#/definitions/key" + }, + "editor_view:delete_all_right": { + "title": "editor_view:delete_all_right", + "description": "Delete all right", + "default": "CMD-DELETE", + "$ref": "#/definitions/key" + }, + "editor_view:cmd_down": { + "title": "editor_view:cmd_down", + "description": "Move cursor to the bottom", + "default": "CMD-DOWN", + "$ref": "#/definitions/key" + }, + "editor_view:cmd_i": { + "title": "editor_view:cmd_i", + "description": "Inspect command", + "default": "CMD-I", + "$ref": "#/definitions/key" + }, + "editor_view:home": { + "title": "editor_view:home", + "description": "Home", + "default": "CMD-LEFT", + "$ref": "#/definitions/key" + }, + "editor_view:end": { + "title": "editor_view:end", + "description": "End", + "default": "CMD-RIGHT", + "$ref": "#/definitions/key" + }, + "editor_view:move_to_line_start": { + "title": "editor_view:move_to_line_start", + "description": "Move to start of line", + "default": "CTRL-A", + "$ref": "#/definitions/key" + }, + "editor_view:left": { + "title": "editor_view:left", + "description": "Move cursor left", + "default": "CTRL-B", + "$ref": "#/definitions/key" + }, + "editor_view:clear_buffer": { + "title": "editor_view:clear_buffer", + "description": "Clear command editor", + "default": "CTRL-C", + "$ref": "#/definitions/key" + }, + "editor_view:delete": { + "title": "editor_view:delete", + "description": "Delete", + "default": "CTRL-D", + "$ref": "#/definitions/key" + }, + "editor_view:move_to_line_end": { + "title": "editor_view:move_to_line_end", + "description": "Move to end of line", + "default": "CTRL-E", + "$ref": "#/definitions/key" + }, + "editor_view:right": { + "title": "editor_view:right", + "description": "Move cursor right / accept autosuggestion", + "default": "CTRL-F", + "$ref": "#/definitions/key" + }, + "editor_view:add_next_occurrence": { + "title": "editor_view:add_next_occurrence", + "description": "Add selection for next occurrence", + "default": "CTRL-G", + "$ref": "#/definitions/key" + }, + "editor_view:backspace": { + "title": "editor_view:backspace", + "description": "Remove the previous character", + "default": "CTRL-H", + "$ref": "#/definitions/key" + }, + "editor_view:insert_newline": { + "title": "editor_view:insert_newline", + "description": "Insert newline", + "default": "CTRL-J", + "$ref": "#/definitions/key" + }, + "editor_view:cut_all_right": { + "title": "editor_view:cut_all_right", + "description": "Cut all right", + "default": "CTRL-K", + "$ref": "#/definitions/key" + }, + "input:clear_screen": { + "title": "input:clear_screen", + "description": "Clear screen", + "default": "CTRL-L", + "$ref": "#/definitions/key" + }, + "editor_view:down": { + "title": "editor_view:down", + "description": "Move cursor down", + "default": "CTRL-N", + "$ref": "#/definitions/key" + }, + "editor_view:up": { + "title": "editor_view:up", + "description": "Move cursor up", + "default": "CTRL-P", + "$ref": "#/definitions/key" + }, + "editor_view:select_to_line_start": { + "title": "editor_view:select_to_line_start", + "description": "Select to start of line", + "default": "CTRL-SHIFT-A", + "$ref": "#/definitions/key" + }, + "editor_view:select_left": { + "title": "editor_view:select_left", + "description": "Select one character to the left", + "default": "CTRL-SHIFT-B", + "$ref": "#/definitions/key" + }, + "editor_view:add_cursor_below": { + "title": "editor_view:add_cursor_below", + "description": "Add cursor below", + "default": "CTRL-SHIFT-DOWN", + "$ref": "#/definitions/key" + }, + "editor:select_to_line_end": { + "title": "editor:select_to_line_end", + "description": "Select to end of line", + "default": "CTRL-SHIFT-E", + "$ref": "#/definitions/key" + }, + "editor:select_right": { + "title": "editor:select_right", + "description": "Select one character to the right", + "default": "CTRL-SHIFT-F", + "$ref": "#/definitions/key" + }, + "editor_view:select_down": { + "title": "editor_view:select_down", + "description": "Select down", + "default": "CTRL-SHIFT-N", + "$ref": "#/definitions/key" + }, + "editor_view:select_up": { + "title": "editor_view:select_up", + "description": "Select up", + "default": "CTRL-SHIFT-P", + "$ref": "#/definitions/key" + }, + "editor_view:add_cursor_above": { + "title": "editor_view:add_cursor_above", + "description": "Add cursor above", + "default": "CTRL-SHIFT-UP", + "$ref": "#/definitions/key" + }, + "editor_view:clear_and_copy_lines": { + "title": "editor_view:clear_and_copy_lines", + "description": "Copy and clear selected lines", + "default": "CTRL-U", + "$ref": "#/definitions/key" + }, + "editor_view:cut_word_left": { + "title": "editor_view:cut_word_left", + "description": "Cut word left", + "default": "CTRL-W", + "$ref": "#/definitions/key" + }, + "editor:insert_last_word_previous_command": { + "title": "editor:insert_last_word_previous_command", + "description": "Insert last word of previous command", + "default": "META-.", + "$ref": "#/definitions/key" + }, + "editor_view:move_to_paragraph_start": { + "title": "editor_view:move_to_paragraph_start", + "description": "Move to the start of the paragraph", + "default": "META-A", + "$ref": "#/definitions/key" + }, + "editor_view:move_backward_one_word": { + "title": "editor_view:move_backward_one_word", + "description": "Move backward one word", + "default": "META-B", + "$ref": "#/definitions/key" + }, + "editor_view:cut_word_right": { + "title": "editor_view:cut_word_right", + "description": "Cut word right", + "default": "META-D", + "$ref": "#/definitions/key" + }, + "editor_view:move_to_paragraph_end": { + "title": "editor_view:move_to_paragraph_end", + "description": "Move to the end of the paragraph", + "default": "META-E", + "$ref": "#/definitions/key" + }, + "editor_view:move_forward_one_word": { + "title": "editor_view:move_forward_one_word", + "description": "Move forward one word", + "default": "META-F", + "$ref": "#/definitions/key" + }, + "editor_view:move_backward_one_subword": { + "title": "editor_view:move_backward_one_subword", + "description": "Move backward one subword", + "default": "CTRL-OPT-LEFT", + "$ref": "#/definitions/key" + }, + "editor_view:move_forward_one_subword": { + "title": "editor_view:move_forward_one_subword", + "description": "Move forward one subword", + "default": "CTRL-OPT-RIGHT", + "$ref": "#/definitions/key" + }, + "editor_view:clear_lines": { + "title": "editor_view:clear_lines", + "description": "Clear selected lines", + "default": "SHIFT-CMD-K", + "$ref": "#/definitions/key" + }, + "editor_view:move_to_buffer_start": { + "title": "editor_view:move_to_buffer_start", + "description": "Move to the start of the buffer", + "default": "SHIFT-META-<", + "$ref": "#/definitions/key" + }, + "editor_view:move_to_buffer_end": { + "title": "editor_view:move_to_buffer_end", + "description": "Move to the end of the buffer", + "default": "SHIFT-META->", + "$ref": "#/definitions/key" + }, + "editor_view:select_left_by_word": { + "title": "editor_view:select_left_by_word", + "description": "Select one word to the left", + "default": "SHIFT-META-B", + "$ref": "#/definitions/key" + }, + "editor_view:select_right_by_word": { + "title": "editor_view:select_right_by_word", + "description": "Select one word to the right", + "default": "SHIFT-META-F", + "$ref": "#/definitions/key" + }, + "pane_group:navigate_down": { + "title": "pane_group:navigate_down", + "description": "Switch panes down", + "default": "ALT-CMD-DOWN", + "$ref": "#/definitions/key" + }, + "pane_group:navigate_left": { + "title": "pane_group:navigate_left", + "description": "Switch panes left", + "default": "ALT-CMD-LEFT", + "$ref": "#/definitions/key" + }, + "pane_group:navigate_right": { + "title": "pane_group:navigate_right", + "description": "Switch panes right", + "default": "ALT-CMD-RIGHT", + "$ref": "#/definitions/key" + }, + "pane_group:navigate_up": { + "title": "pane_group:navigate_up", + "description": "Switch panes up", + "default": "ALT-CMD-UP", + "$ref": "#/definitions/key" + }, + "workspace:set_a11y_concise_verbosity_level": { + "title": "workspace:set_a11y_concise_verbosity_level", + "description": "[a11y] set concise accessibility announcements", + "default": "ALT-CMD-V", + "$ref": "#/definitions/key" + }, + "workspace:set_a11y_verbose_verbosity_level": { + "title": "workspace:set_a11y_verbose_verbosity_level", + "description": "[a11y] set verbose accessibility announcements", + "default": "ALT-CMD-V", + "$ref": "#/definitions/key" + }, + "workspace:show_settings_modal": { + "title": "workspace:show_settings_modal", + "description": "Open settings", + "default": "CMD-,", + "$ref": "#/definitions/key" + }, + "workspace:show_settings_account_page": { + "title": "workspace:show_settings_account_page", + "description": "Open settings: account", + "default": "CMD-,", + "$ref": "#/definitions/key" + }, + "find:find_next_occurrence": { + "title": "find:find_next_occurrence", + "description": "Find the next occurrence of your search query", + "default": "CMD-G", + "$ref": "#/definitions/key" + }, + "workspace:toggle_command_palette": { + "title": "workspace:toggle_command_palette", + "description": "Toggle command palette", + "default": "CMD-P", + "$ref": "#/definitions/key" + }, + "workspace:toggle_mouse_reporting": { + "title": "workspace:toggle_mouse_reporting", + "description": "Toggle mouse reporting", + "default": "CMD-R", + "$ref": "#/definitions/key" + }, + "pane_group:navigate_prev": { + "title": "pane_group:navigate_prev", + "description": "Activate previous pane", + "default": "CMD-[", + "$ref": "#/definitions/key" + }, + "pane_group:navigate_next": { + "title": "pane_group:navigate_next", + "description": "Activate next pane", + "default": "CMD-]", + "$ref": "#/definitions/key" + }, + "pane_group:resize_down": { + "title": "pane_group:resize_down", + "description": "Resize pane > move divider down", + "default": "CTRL-CMD-DOWN", + "$ref": "#/definitions/key" + }, + "workspace:show_keybinding_settings": { + "title": "workspace:show_keybinding_settings", + "description": "Open keybindings editor", + "default": "CTRL-CMD-K", + "$ref": "#/definitions/key" + }, + "pane_group:resize_left": { + "title": "pane_group:resize_left", + "description": "Resize pane > move divider left", + "default": "CTRL-CMD-LEFT", + "$ref": "#/definitions/key" + }, + "pane_group:resize_right": { + "title": "pane_group:resize_right", + "description": "Resize pane > move divider right", + "default": "CTRL-CMD-RIGHT", + "$ref": "#/definitions/key" + }, + "pane_group:resize_up": { + "title": "pane_group:resize_up", + "description": "Resize pane > move divider up", + "default": "CTRL-CMD-UP", + "$ref": "#/definitions/key" + }, + "workspace:toggle_resource_center": { + "title": "workspace:toggle_resource_center", + "description": "Open resource center", + "default": "CTRL-SHIFT-?", + "$ref": "#/definitions/key" + }, + "pane_group:add_down": { + "title": "pane_group:add_down", + "description": "Split pane down", + "default": "SHIFT-CMD-D", + "$ref": "#/definitions/key" + }, + "pane_group:toggle_maximize_pane": { + "title": "pane_group:toggle_maximize_pane", + "description": "Toggle maximize active pane", + "default": "SHIFT-CMD-ENTER", + "$ref": "#/definitions/key" + }, + "find:find_prev_occurrence": { + "title": "find:find_prev_occurrence", + "description": "Find the previous occurrence of your search query", + "default": "SHIFT-CMD-G", + "$ref": "#/definitions/key" + }, + "workspace:toggle_navigation_palette": { + "title": "workspace:toggle_navigation_palette", + "description": "Toggle navigation palette", + "default": "SHIFT-CMD-P", + "$ref": "#/definitions/key" + }, + "workspace:decrease_font_size": { + "title": "workspace:decrease_font_size", + "description": "Decrease font size", + "default": "CMD--", + "$ref": "#/definitions/key" + }, + "workspace:reset_font_size": { + "title": "workspace:reset_font_size", + "description": "Reset font size to default", + "default": "CMD-0", + "$ref": "#/definitions/key" + }, + "workspace:activate_first_tab": { + "title": "workspace:activate_first_tab", + "description": "Switch to 1st tab", + "default": "CMD-1", + "$ref": "#/definitions/key" + }, + "workspace:activate_second_tab": { + "title": "workspace:activate_second_tab", + "description": "Switch to 2nd tab", + "default": "CMD-2", + "$ref": "#/definitions/key" + }, + "workspace:activate_third_tab": { + "title": "workspace:activate_third_tab", + "description": "Switch to 3rd tab", + "default": "CMD-3", + "$ref": "#/definitions/key" + }, + "workspace:activate_fourth_tab": { + "title": "workspace:activate_fourth_tab", + "description": "Switch to 4th tab", + "default": "CMD-4", + "$ref": "#/definitions/key" + }, + "workspace:activate_fifth_tab": { + "title": "workspace:activate_fifth_tab", + "description": "Switch to 5th tab", + "default": "CMD-5", + "$ref": "#/definitions/key" + }, + "workspace:activate_sixth_tab": { + "title": "workspace:activate_sixth_tab", + "description": "Switch to 6th tab", + "default": "CMD-6", + "$ref": "#/definitions/key" + }, + "workspace:activate_seventh_tab": { + "title": "workspace:activate_seventh_tab", + "description": "Switch to 7th tab", + "default": "CMD-7", + "$ref": "#/definitions/key" + }, + "workspace:activate_eighth_tab": { + "title": "workspace:activate_eighth_tab", + "description": "Switch to 8th tab", + "default": "CMD-8", + "$ref": "#/definitions/key" + }, + "workspace:activate_last_tab": { + "title": "workspace:activate_last_tab", + "description": "Switch to last tab", + "default": "CMD-9", + "$ref": "#/definitions/key" + }, + "workspace:increase_font_size": { + "title": "workspace:increase_font_size", + "description": "Increase font size", + "default": "CMD-=", + "$ref": "#/definitions/key" + }, + "terminal:copy": { + "title": "terminal:copy", + "description": "Copy", + "default": "CMD-C", + "$ref": "#/definitions/key" + }, + "terminal:find": { + "title": "terminal:find", + "description": "Find", + "default": "CMD-F", + "$ref": "#/definitions/key" + }, + "terminal:paste": { + "title": "terminal:paste", + "description": "Paste", + "default": "CMD-V", + "$ref": "#/definitions/key" + }, + "workspace:move_tab_left": { + "title": "workspace:move_tab_left", + "description": "Move tab left", + "default": "CTRL-SHIFT-LEFT", + "$ref": "#/definitions/key" + }, + "workspace:move_tab_right": { + "title": "workspace:move_tab_right", + "description": "Move tab right", + "default": "CTRL-SHIFT-RIGHT", + "$ref": "#/definitions/key" + }, + "workspace:activate_prev_tab": { + "title": "workspace:activate_prev_tab", + "description": "Activate previous tab", + "default": "SHIFT-CMD-{", + "$ref": "#/definitions/key" + }, + "workspace:activate_next_tab": { + "title": "workspace:activate_next_tab", + "description": "Activate next tab", + "default": "SHIFT-CMD-}", + "$ref": "#/definitions/key" + } + }, + "additionalProperties": false +} diff --git a/src/schemas/json/warp-themes.json b/src/schemas/json/warp-themes.json new file mode 100644 index 00000000000..33b29c8cd07 --- /dev/null +++ b/src/schemas/json/warp-themes.json @@ -0,0 +1,174 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "definitions": { + "color": { + "type": "string", + "pattern": "^#[0-9a-fA-F]{6}$", + "examples": [ + "#000000", + "#ff0000", + "#00ff00", + "#0000ff", + "#ffff00", + "#ff00ff", + "#00ffff", + "#ffffff" + ] + }, + "colors": { + "type": "object", + "properties": { + "black": { + "title": "black", + "description": "A black color of the current theme\nhttps://docs.warp.dev/appearance/custom-themes#create-your-own-custom-theme-manually", + "$ref": "#/definitions/color" + }, + "blue": { + "title": "blue", + "description": "A blue color of the current theme\nhttps://docs.warp.dev/appearance/custom-themes#create-your-own-custom-theme-manually", + "$ref": "#/definitions/color" + }, + "cyan": { + "title": "cyan", + "description": "A cyan color of the current theme\nhttps://docs.warp.dev/appearance/custom-themes#create-your-own-custom-theme-manually", + "$ref": "#/definitions/color" + }, + "green": { + "title": "green", + "description": "A green color of the current theme\nhttps://docs.warp.dev/appearance/custom-themes#create-your-own-custom-theme-manually", + "$ref": "#/definitions/color" + }, + "magenta": { + "title": "magenta", + "description": "A magenta color of the current theme\nhttps://docs.warp.dev/appearance/custom-themes#create-your-own-custom-theme-manually", + "$ref": "#/definitions/color" + }, + "red": { + "title": "red", + "description": "A red color of the current theme\nhttps://docs.warp.dev/appearance/custom-themes#create-your-own-custom-theme-manually", + "$ref": "#/definitions/color" + }, + "white": { + "title": "white", + "description": "A white color of the current theme\nhttps://docs.warp.dev/appearance/custom-themes#create-your-own-custom-theme-manually", + "$ref": "#/definitions/color" + }, + "yellow": { + "title": "yellow", + "description": "A yellow color of the current theme\nhttps://docs.warp.dev/appearance/custom-themes#create-your-own-custom-theme-manually", + "$ref": "#/definitions/color" + } + }, + "additionalProperties": false + }, + "color-or-gradient": { + "oneOf": [ + { + "$ref": "#/definitions/color" + }, + { + "type": "object", + "oneOf": [ + { + "properties": { + "left": { + "title": "left", + "description": "A left color of the current theme\nhttps://docs.warp.dev/appearance/custom-themes#background-images-and-gradients", + "$ref": "#/definitions/color" + }, + "right": { + "title": "right", + "description": "A right color of the current theme\nhttps://docs.warp.dev/appearance/custom-themes#background-images-and-gradients", + "$ref": "#/definitions/color" + } + }, + "additionalProperties": false + }, + { + "properties": { + "top": { + "title": "top", + "description": "A top color of the current theme\nhttps://docs.warp.dev/appearance/custom-themes#background-images-and-gradients", + "$ref": "#/definitions/color" + }, + "bottom": { + "title": "bottom", + "description": "A bottom color of the current theme\nhttps://docs.warp.dev/appearance/custom-themes#background-images-and-gradients", + "$ref": "#/definitions/color" + } + }, + "additionalProperties": false + } + ] + } + ] + } + }, + "title": "theme", + "description": "A theme", + "type": "object", + "properties": { + "accent": { + "title": "accent", + "description": "An accent color of the current theme\nhttps://docs.warp.dev/appearance/custom-themes#create-your-own-custom-theme-manually", + "$ref": "#/definitions/color-or-gradient" + }, + "background": { + "title": "background", + "description": "A background color of the current theme\nhttps://docs.warp.dev/appearance/custom-themes#create-your-own-custom-theme-manually", + "$ref": "#/definitions/color-or-gradient" + }, + "details": { + "title": "details", + "description": "Whether lighter or darker colors are used in the current theme\nhttps://docs.warp.dev/appearance/custom-themes#create-your-own-custom-theme-manually", + "type": "string", + "enum": ["lighter", "darker"] + }, + "foreground": { + "title": "foreground", + "description": "A foreground color of the current theme\nhttps://docs.warp.dev/appearance/custom-themes#create-your-own-custom-theme-manually", + "$ref": "#/definitions/color" + }, + "terminal_colors": { + "title": "terminal colors", + "description": "Terminal colors of the current theme\nhttps://docs.warp.dev/appearance/custom-themes#create-your-own-custom-theme-manually", + "type": "object", + "properties": { + "bright": { + "title": "bright", + "description": "Bright colors of the current theme\nhttps://docs.warp.dev/appearance/custom-themes#create-your-own-custom-theme-manually", + "$ref": "#/definitions/colors" + }, + "normal": { + "title": "normal", + "description": "Normal colors of the current theme\nhttps://docs.warp.dev/appearance/custom-themes#create-your-own-custom-theme-manually", + "$ref": "#/definitions/colors" + } + }, + "additionalProperties": false + }, + "background_image": { + "title": "background image", + "description": "A background image of the current theme", + "type": "object", + "properties": { + "path": { + "title": "path", + "description": "A path of the current image of the current theme\nhttps://docs.warp.dev/appearance/custom-themes#background-images-and-gradients", + "type": "string", + "minLength": 1, + "examples": ["warp.jpg"] + }, + "opacity": { + "title": "opacity", + "description": "An opacity of the current image of the current theme\nhttps://docs.warp.dev/appearance/custom-themes#background-images-and-gradients", + "type": "integer", + "minimum": 0, + "maximum": 100 + } + }, + "additionalProperties": false + } + }, + "additionalProperties": false +} diff --git a/src/schemas/json/warp-workflows.json b/src/schemas/json/warp-workflows.json new file mode 100644 index 00000000000..5ee176d78e0 --- /dev/null +++ b/src/schemas/json/warp-workflows.json @@ -0,0 +1,135 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "definitions": { + "url": { + "oneOf": [ + { + "type": "string", + "minLength": 1, + "pattern": "^https?://.+" + }, + { + "type": "null" + } + ] + }, + "nullable-string": { + "oneOf": [ + { + "type": "string", + "minLength": 1 + }, + { + "type": "null" + } + ] + } + }, + "title": "workflow", + "description": "A workflow", + "type": "object", + "required": ["name", "command"], + "properties": { + "name": { + "title": "name", + "description": "A name of the current workflow\nhttps://github.com/warpdotdev/warp-workflows/blob/main/FORMAT.md#name", + "type": "string", + "minLength": 1, + "examples": ["Root your emulator"] + }, + "command": { + "title": "command", + "description": "A command of the current workflow\nhttps://github.com/warpdotdev/warp-workflows/blob/main/FORMAT.md#command", + "type": "string", + "minLength": 1, + "examples": ["adb root"] + }, + "tags": { + "title": "tags", + "description": "Tags of the current workflow\nhttps://github.com/warpdotdev/warp-workflows/blob/main/FORMAT.md#tags", + "type": "array", + "uniqueItems": true, + "items": { + "description": "A tag of the current workflow\nhttps://github.com/warpdotdev/warp-workflows/blob/main/FORMAT.md#tags", + "type": "string", + "minLength": 1, + "examples": ["android"] + } + }, + "description": { + "title": "description", + "description": "A description of the current workflow\nhttps://github.com/warpdotdev/warp-workflows/blob/main/FORMAT.md#description", + "$ref": "#/definitions/nullable-string" + }, + "source_url": { + "title": "source url", + "description": "A source url of the current workflow\nhttps://github.com/warpdotdev/warp-workflows/blob/main/FORMAT.md#source_url", + "$ref": "#/definitions/url" + }, + "author": { + "title": "author", + "description": "An author of the current workflow\nhttps://github.com/warpdotdev/warp-workflows/blob/main/FORMAT.md#author", + "$ref": "#/definitions/nullable-string" + }, + "author_url": { + "title": "author url", + "description": "An author url of the current workflow\nhttps://github.com/warpdotdev/warp-workflows/blob/main/FORMAT.md#author_url", + "$ref": "#/definitions/url" + }, + "shells": { + "title": "shells", + "description": "Shells where the current workflow is valid\nhttps://github.com/warpdotdev/warp-workflows/blob/main/FORMAT.md#shells", + "type": "array", + "uniqueItems": true, + "items": { + "description": "A shell where the current workflow is valid\nhttps://github.com/warpdotdev/warp-workflows/blob/main/FORMAT.md#shells", + "type": "string", + "enum": ["Zsh", "zsh", "Bash", "bash", "Fish", "fish"] + } + }, + "arguments": { + "title": "arguments", + "description": "Arguments of the current workflow\nhttps://github.com/warpdotdev/warp-workflows/blob/main/FORMAT.md#arguments", + "type": "array", + "uniqueItems": true, + "items": { + "description": "An argument of the current workflow\nhttps://github.com/warpdotdev/warp-workflows/blob/main/FORMAT.md#arguments", + "type": "object", + "required": ["name"], + "properties": { + "name": { + "title": "name", + "description": "A name of the current argument\nhttps://github.com/warpdotdev/warp-workflows/blob/main/FORMAT.md#argumentsname", + "type": "string", + "minLength": 1 + }, + "description": { + "title": "description", + "description": "A description of the current argument\nhttps://github.com/warpdotdev/warp-workflows/blob/main/FORMAT.md#argumentsdescription", + "$ref": "#/definitions/nullable-string" + }, + "default_value": { + "title": "default value", + "description": "A default value of the current argument\nhttps://github.com/warpdotdev/warp-workflows/blob/main/FORMAT.md#argumentsdefault_value", + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "null" + } + ] + } + }, + "additionalProperties": false + } + } + }, + "additionalProperties": false +}