Skip to content

Instantly share code, notes, and snippets.

@mgsloan
Last active June 30, 2025 04:03
Show Gist options
  • Save mgsloan/1de549def20399d6f37943a3c1583ee7 to your computer and use it in GitHub Desktop.
Save mgsloan/1de549def20399d6f37943a3c1583ee7 to your computer and use it in GitHub Desktop.
Zed schemars 1.0 schema changes
diff --git a/crates/settings/src/keymap_file.rs b/crates/settings/src/keymap_file.rs
index febe46c3be..faa418562c 100644
--- a/crates/settings/src/keymap_file.rs
+++ b/crates/settings/src/keymap_file.rs
@@ -423,7 +423,9 @@ impl KeymapFile {
pub fn generate_json_schema_for_registered_actions(cx: &mut App) -> Value {
let mut generator = schemars::generate::SchemaSettings::draft07().into_generator();
- let action_schemas = cx.action_schemas(&mut generator);
+ let mut action_schemas = cx.action_schemas(&mut generator);
+ action_schemas.sort_by_key(|(name, _)| name.to_string());
+
let deprecations = cx.deprecated_actions_to_preferred_actions();
let deprecation_messages = cx.action_deprecation_messages();
KeymapFile::generate_json_schema(
diff --git a/crates/settings/src/settings_store.rs b/crates/settings/src/settings_store.rs
index 213aea06af..230b7a268c 100644
--- a/crates/settings/src/settings_store.rs
+++ b/crates/settings/src/settings_store.rs
@@ -974,6 +974,9 @@ impl SettingsStore {
assert_eq!(old_zed_settings_definition, None);
let zed_settings_ref = Schema::new_ref(format!("#/definitions/{ZED_SETTINGS}"));
+ let mut definitions = generator.take_definitions(true);
+ definitions.sort_keys();
+
// settings file contents matches ZedSettings + overrides for each release stage
json!({
"allOf": [
@@ -987,7 +990,7 @@ impl SettingsStore {
}
}
],
- "definitions": generator.take_definitions(true),
+ "definitions": definitions,
})
}
diff --git a/crates/settings/src/keymap_file.rs b/crates/settings/src/keymap_file.rs
index 833882dd60..41c2dc7755 100644
--- a/crates/settings/src/keymap_file.rs
+++ b/crates/settings/src/keymap_file.rs
@@ -428,7 +428,9 @@ impl KeymapFile {
.with(|settings| settings.option_add_null_type = false)
.into_generator();
- let action_schemas = cx.action_schemas(&mut generator);
+ let mut action_schemas = cx.action_schemas(&mut generator);
+ action_schemas.sort_by_key(|(name, _)| name.to_string());
+
let deprecations = cx.deprecated_actions_to_preferred_actions();
let deprecation_messages = cx.action_deprecation_messages();
KeymapFile::generate_json_schema(
--- before-sorted.json 2025-06-29 13:57:28.622716405 -0600
+++ after-sorted.json 2025-06-29 13:57:31.714757043 -0600
@@ -3258,7 +3258,7 @@
"ActivePanelModifiers": {
"properties": {
"border_size": {
- "description": "Size of the border surrounding the active pane. When set to 0, the active pane doesn't have any border. The border is drawn inset.\n\nDefault: `0.0`",
+ "description": "Size of the border surrounding the active pane.\nWhen set to 0, the active pane doesn't have any border.\nThe border is drawn inset.\n\nDefault: `0.0`",
"format": "float",
"type": [
"number",
@@ -3266,7 +3266,7 @@
]
},
"inactive_opacity": {
- "description": "Opacity of inactive panels. When set to 1.0, the inactive panes have the same opacity as the active one. If set to 0, the inactive panes content will not be visible at all. Values are clamped to the [0.0, 1.0] range.\n\nDefault: `1.0`",
+ "description": "Opacity of inactive panels.\nWhen set to 1.0, the inactive panes have the same opacity as the active one.\nIf set to 0, the inactive panes content will not be visible at all.\nValues are clamped to the [0.0, 1.0] range.\n\nDefault: `1.0`",
"format": "float",
"type": [
"number",
@@ -3388,13 +3388,15 @@
},
"type": "object"
},
+ "AutoUpdateSettingContent": {
+ "description": "Whether or not to automatically check for updates.\n\nDefault: true",
+ "type": "boolean"
+ },
"AutosaveSetting": {
"oneOf": [
{
+ "const": "off",
"description": "Disable autosave.",
- "enum": [
- "off"
- ],
"type": "string"
},
{
@@ -3421,17 +3423,13 @@
"type": "object"
},
{
+ "const": "on_focus_change",
"description": "Autosave when focus changes.",
- "enum": [
- "on_focus_change"
- ],
"type": "string"
},
{
+ "const": "on_window_change",
"description": "Autosave when the active window changes.",
- "enum": [
- "on_window_change"
- ],
"type": "string"
}
]
@@ -3508,8 +3506,8 @@
}
},
"required": [
- "max_tokens",
- "name"
+ "name",
+ "max_tokens"
],
"type": "object"
},
@@ -3547,8 +3545,8 @@
}
},
"required": [
- "max_tokens",
- "name"
+ "name",
+ "max_tokens"
],
"type": "object"
},
@@ -3598,8 +3596,8 @@
}
},
"required": [
- "max_tokens",
- "name"
+ "name",
+ "max_tokens"
],
"type": "object"
},
@@ -3656,8 +3654,8 @@
}
},
"required": [
- "max_tokens",
- "name"
+ "name",
+ "max_tokens"
],
"type": "object"
},
@@ -3714,8 +3712,8 @@
}
},
"required": [
- "max_tokens",
- "name"
+ "name",
+ "max_tokens"
],
"type": "object"
},
@@ -3743,10 +3741,10 @@
}
},
"required": [
- "max_tokens",
"name",
- "supports_images",
- "supports_tool_calls"
+ "max_tokens",
+ "supports_tool_calls",
+ "supports_images"
],
"type": "object"
},
@@ -3784,8 +3782,8 @@
}
},
"required": [
- "max_tokens",
- "name"
+ "name",
+ "max_tokens"
],
"type": "object"
},
@@ -3845,8 +3843,8 @@
}
},
"required": [
- "max_tokens",
- "name"
+ "name",
+ "max_tokens"
],
"type": "object"
},
@@ -3942,9 +3940,9 @@
}
},
"required": [
- "max_tokens",
+ "provider",
"name",
- "provider"
+ "max_tokens"
],
"type": "object"
},
@@ -3976,8 +3974,8 @@
}
},
"required": [
- "max_tokens",
- "name"
+ "name",
+ "max_tokens"
],
"type": "object"
},
@@ -4007,8 +4005,8 @@
}
},
"required": [
- "max_tokens",
- "name"
+ "name",
+ "max_tokens"
],
"type": "object"
},
@@ -4044,10 +4042,8 @@
"type": "string"
},
{
+ "const": "default",
"description": "IMDSv2, PodIdentity, env vars, etc.",
- "enum": [
- "default"
- ],
"type": "string"
}
]
@@ -4090,31 +4086,23 @@
"BottomDockLayout": {
"oneOf": [
{
+ "const": "contained",
"description": "Contained between the left and right docks",
- "enum": [
- "contained"
- ],
"type": "string"
},
{
+ "const": "full",
"description": "Takes up the full width of the window",
- "enum": [
- "full"
- ],
"type": "string"
},
{
+ "const": "left_aligned",
"description": "Extends under the left dock while snapping to the right dock",
- "enum": [
- "left_aligned"
- ],
"type": "string"
},
{
+ "const": "right_aligned",
"description": "Extends under the right dock while snapping to the left dock",
- "enum": [
- "right_aligned"
- ],
"type": "string"
}
]
@@ -4123,17 +4111,13 @@
"description": "The buffer's line height.",
"oneOf": [
{
+ "const": "comfortable",
"description": "A less dense line height.",
- "enum": [
- "comfortable"
- ],
"type": "string"
},
{
+ "const": "standard",
"description": "The default line height.",
- "enum": [
- "standard"
- ],
"type": "string"
},
{
@@ -4156,7 +4140,7 @@
"properties": {
"fetch_cargo_diagnostics": {
"default": false,
- "description": "When enabled, Zed disables rust-analyzer's check on save and starts to query Cargo diagnostics separately.\n\nDefault: false",
+ "description": "When enabled, Zed disables rust-analyzer's check on save and starts to query\nCargo diagnostics separately.\n\nDefault: false",
"type": "boolean"
}
},
@@ -4176,7 +4160,7 @@
"CenteredLayoutSettings": {
"properties": {
"left_padding": {
- "description": "The relative width of the left padding of the central pane from the workspace when the centered layout is used.\n\nDefault: 0.2",
+ "description": "The relative width of the left padding of the central pane from the\nworkspace when the centered layout is used.\n\nDefault: 0.2",
"format": "float",
"type": [
"number",
@@ -4212,24 +4196,18 @@
"CloseWindowWhenNoItems": {
"oneOf": [
{
+ "const": "platform_default",
"description": "Match platform conventions by default, so \"on\" on macOS and \"off\" everywhere else",
- "enum": [
- "platform_default"
- ],
"type": "string"
},
{
+ "const": "close_window",
"description": "Close the window when there are no tabs",
- "enum": [
- "close_window"
- ],
"type": "string"
},
{
+ "const": "keep_window_open",
"description": "Leave the window open when there are no tabs",
- "enum": [
- "keep_window_open"
- ],
"type": "string"
}
]
@@ -4251,7 +4229,7 @@
},
"lsp_fetch_timeout_ms": {
"default": 0,
- "description": "When fetching LSP completions, determines how long to wait for a response of a particular server. When set to 0, waits indefinitely.\n\nDefault: 0",
+ "description": "When fetching LSP completions, determines how long to wait for a response of a particular server.\nWhen set to 0, waits indefinitely.\n\nDefault: 0",
"format": "uint64",
"minimum": 0,
"type": "integer"
@@ -4272,7 +4250,7 @@
}
],
"default": "fallback",
- "description": "Controls how words are completed. For large documents, not all words may be fetched for completion.\n\nDefault: `fallback`"
+ "description": "Controls how words are completed.\nFor large documents, not all words may be fetched for completion.\n\nDefault: `fallback`"
}
},
"type": "object"
@@ -4299,8 +4277,8 @@
}
},
"required": [
- "args",
- "path"
+ "path",
+ "args"
],
"type": "object"
},
@@ -4336,15 +4314,13 @@
"type": "boolean"
},
"source": {
- "enum": [
- "custom"
- ],
+ "const": "custom",
"type": "string"
}
},
"required": [
- "command",
- "source"
+ "source",
+ "command"
],
"type": "object"
},
@@ -4356,18 +4332,16 @@
"type": "boolean"
},
"settings": {
- "description": "The settings for this context server specified by the extension.\n\nConsult the documentation for the context server to see what settings are supported."
+ "description": "The settings for this context server specified by the extension.\n\nConsult the documentation for the context server to see what settings\nare supported."
},
"source": {
- "enum": [
- "extension"
- ],
+ "const": "extension",
"type": "string"
}
},
"required": [
- "settings",
- "source"
+ "source",
+ "settings"
],
"type": "object"
}
@@ -4415,31 +4389,23 @@
"description": "The shape of a selection cursor.",
"oneOf": [
{
+ "const": "bar",
"description": "A vertical bar",
- "enum": [
- "bar"
- ],
"type": "string"
},
{
+ "const": "block",
"description": "A block that surrounds the following character",
- "enum": [
- "block"
- ],
"type": "string"
},
{
+ "const": "underline",
"description": "An underline that runs along the following character",
- "enum": [
- "underline"
- ],
"type": "string"
},
{
+ "const": "hollow",
"description": "A box drawn around the following character",
- "enum": [
- "hollow"
- ],
"type": "string"
}
]
@@ -4447,31 +4413,23 @@
"CursorShape2": {
"oneOf": [
{
+ "const": "block",
"description": "Cursor is a block like `█`.",
- "enum": [
- "block"
- ],
"type": "string"
},
{
+ "const": "underline",
"description": "Cursor is an underscore like `_`.",
- "enum": [
- "underline"
- ],
"type": "string"
},
{
+ "const": "bar",
"description": "Cursor is a vertical bar like `⎸`.",
- "enum": [
- "bar"
- ],
"type": "string"
},
{
+ "const": "hollow",
"description": "Cursor is a hollow box like `▯`.",
- "enum": [
- "hollow"
- ],
"type": "string"
}
]
@@ -4646,17 +4604,13 @@
"DirenvSettings": {
"oneOf": [
{
+ "const": "shell_hook",
"description": "Load direnv configuration through a shell hook",
- "enum": [
- "shell_hook"
- ],
"type": "string"
},
{
+ "const": "direct",
"description": "Load direnv configuration directly using `direnv export json`",
- "enum": [
- "direct"
- ],
"type": "string"
}
]
@@ -4665,17 +4619,13 @@
"description": "Where to show the minimap in the editor.\n\nDefault: all_editors",
"oneOf": [
{
+ "const": "all_editors",
"description": "Show on all open editors.",
- "enum": [
- "all_editors"
- ],
"type": "string"
},
{
+ "const": "active_editor",
"description": "Show the minimap on the active editor only.",
- "enum": [
- "active_editor"
- ],
"type": "string"
}
]
@@ -4703,31 +4653,23 @@
"description": "How to render LSP `textDocument/documentColor` colors in the editor.",
"oneOf": [
{
+ "const": "none",
"description": "Do not query and render document colors.",
- "enum": [
- "none"
- ],
"type": "string"
},
{
+ "const": "inlay",
"description": "Render document colors as inlay hints near the color text.",
- "enum": [
- "inlay"
- ],
"type": "string"
},
{
+ "const": "border",
"description": "Draw a border around the color text.",
- "enum": [
- "border"
- ],
"type": "string"
},
{
+ "const": "background",
"description": "Draw a background behind the color text.",
- "enum": [
- "background"
- ],
"type": "string"
}
]
@@ -4736,17 +4678,13 @@
"description": "What to do when multibuffer is double clicked in some of its excerpts (parts of singleton buffers).",
"oneOf": [
{
+ "const": "select",
"description": "Behave as a regular buffer and select the whole word.",
- "enum": [
- "select"
- ],
"type": "string"
},
{
- "description": "Open the excerpt clicked as a new buffer in the new tab, if no `alt` modifier was pressed during double click. Otherwise, behave as a regular buffer and select the whole word.",
- "enum": [
- "open"
- ],
+ "const": "open",
+ "description": "Open the excerpt clicked as a new buffer in the new tab, if no `alt` modifier was pressed during double click.\nOtherwise, behave as a regular buffer and select the whole word.",
"type": "string"
}
]
@@ -4779,7 +4717,7 @@
},
"disabled_globs": {
"default": null,
- "description": "A list of globs representing files that edit predictions should be disabled for. This list adds to a pre-existing, sensible default set of globs. Any additional ones you add are combined with them.",
+ "description": "A list of globs representing files that edit predictions should be disabled for.\nThis list adds to a pre-existing, sensible default set of globs.\nAny additional ones you add are combined with them.",
"items": {
"type": "string"
},
@@ -4790,7 +4728,7 @@
},
"enabled_in_text_threads": {
"default": true,
- "description": "Whether edit predictions are enabled in the assistant prompt editor. This has no effect if globally disabled.",
+ "description": "Whether edit predictions are enabled in the assistant prompt editor.\nThis has no effect if globally disabled.",
"type": "boolean"
},
"mode": {
@@ -4800,7 +4738,7 @@
}
],
"default": "eager",
- "description": "The mode used to display edit predictions in the buffer. Provider support required."
+ "description": "The mode used to display edit predictions in the buffer.\nProvider support required."
}
},
"type": "object"
@@ -4809,17 +4747,13 @@
"description": "The mode in which edit predictions should be displayed.",
"oneOf": [
{
- "description": "If provider supports it, display inline when holding modifier key (e.g., alt). Otherwise, eager preview is used.",
- "enum": [
- "subtle"
- ],
+ "const": "subtle",
+ "description": "If provider supports it, display inline when holding modifier key (e.g., alt).\nOtherwise, eager preview is used.",
"type": "string"
},
{
+ "const": "eager",
"description": "Display inline when there are no language server completions available.",
- "enum": [
- "eager"
- ],
"type": "string"
}
]
@@ -4827,17 +4761,13 @@
"EntrySpacing": {
"oneOf": [
{
+ "const": "comfortable",
"description": "Comfortable spacing of entries.",
- "enum": [
- "comfortable"
- ],
"type": "string"
},
{
+ "const": "standard",
"description": "The standard spacing of entries.",
- "enum": [
- "standard"
- ],
"type": "string"
}
]
@@ -4869,106 +4799,7 @@
],
"type": "string"
},
- "FontFallbacks": {
- "items": {
- "enum": [
- ".SystemUIFont",
- "C059",
- "Cantarell",
- "D050000L",
- "DejaVu Math TeX Gyre",
- "DejaVu Sans",
- "DejaVu Sans Mono",
- "DejaVu Serif",
- "Droid Sans Fallback",
- "FontAwesome",
- "FreeMono",
- "FreeSans",
- "FreeSerif",
- "Hack",
- "Helvetica",
- "Latin Modern Math",
- "Latin Modern Mono",
- "Latin Modern Mono Caps",
- "Latin Modern Mono Light",
- "Latin Modern Mono Light Cond",
- "Latin Modern Mono Prop",
- "Latin Modern Mono Prop Light",
- "Latin Modern Mono Slanted",
- "Latin Modern Roman",
- "Latin Modern Roman Caps",
- "Latin Modern Roman Demi",
- "Latin Modern Roman Dunhill",
- "Latin Modern Roman Slanted",
- "Latin Modern Roman Unslanted",
- "Latin Modern Sans",
- "Latin Modern Sans Demi Cond",
- "Latin Modern Sans Quotation",
- "Lato",
- "Liberation Mono",
- "Liberation Sans",
- "Liberation Sans Narrow",
- "Liberation Serif",
- "Nimbus Mono PS",
- "Nimbus Roman",
- "Nimbus Sans",
- "Nimbus Sans Narrow",
- "Noto Color Emoji",
- "Noto Mono",
- "Noto Sans",
- "Noto Sans Mono",
- "Open Sans",
- "Open Sans Condensed",
- "OpenSymbol",
- "P052",
- "Quicksand",
- "Quicksand Light",
- "Quicksand Medium",
- "Segoe UI",
- "Standard Symbols PS",
- "Symbola",
- "TeX Gyre Adventor",
- "TeX Gyre Bonum",
- "TeX Gyre Bonum Math",
- "TeX Gyre Chorus",
- "TeX Gyre Cursor",
- "TeX Gyre DejaVu Math",
- "TeX Gyre Heros",
- "TeX Gyre Heros Cn",
- "TeX Gyre Pagella",
- "TeX Gyre Pagella Math",
- "TeX Gyre Schola",
- "TeX Gyre Schola Math",
- "TeX Gyre Termes",
- "TeX Gyre Termes Math",
- "URW Bookman",
- "URW Gothic",
- "Ubuntu",
- "Z003",
- "Zed Plex Mono",
- "Zed Plex Sans",
- "cmex10",
- "cmmi10",
- "cmr10",
- "cmsy10",
- "dsrom10",
- "esint10",
- "eufm10",
- "msam10",
- "msbm10",
- "rsfs10",
- "stmary10",
- "wasy10"
- ],
- "type": "string"
- },
- "type": [
- "array",
- "null"
- ],
- "uniqueItems": true
- },
- "FontFamilies": {
+ "FontFamilyName": {
"enum": [
".SystemUIFont",
"C059",
@@ -5081,8 +4912,22 @@
],
"type": "string"
},
+ "FontWeightContent": {
+ "enum": [
+ 100,
+ 200,
+ 300,
+ 400,
+ 500,
+ 600,
+ 700,
+ 800,
+ 900
+ ],
+ "type": "integer"
+ },
"Formatter": {
- "anyOf": [
+ "oneOf": [
{
"items": {
"description": "Controls which formatter should be used when formatting code. If there are multiple formatters, they are executed in the order of declaration.",
@@ -5109,10 +4954,8 @@
"type": "object"
},
{
+ "const": "prettier",
"description": "Format code using Zed's Prettier integration.",
- "enum": [
- "prettier"
- ],
"type": "string"
},
{
@@ -5164,14 +5007,16 @@
"type": "object"
}
]
- }
+ },
+ "type": "array"
},
{
"enum": [
"auto",
"prettier",
"language_server"
- ]
+ ],
+ "type": "string"
},
{
"description": "Controls which formatter should be used when formatting code. If there are multiple formatters, they are executed in the order of declaration.",
@@ -5198,10 +5043,8 @@
"type": "object"
},
{
+ "const": "prettier",
"description": "Format code using Zed's Prettier integration.",
- "enum": [
- "prettier"
- ],
"type": "string"
},
{
@@ -5254,27 +5097,18 @@
}
]
}
- ],
- "type": [
- "object",
- "string",
- "array"
]
},
"GitGutterSetting": {
"oneOf": [
{
+ "const": "tracked_files",
"description": "Show git gutter in tracked files.",
- "enum": [
- "tracked_files"
- ],
"type": "string"
},
{
+ "const": "hide",
"description": "Hide git gutter",
- "enum": [
- "hide"
- ],
"type": "string"
}
]
@@ -5300,9 +5134,9 @@
}
},
"required": [
+ "provider",
"base_url",
- "name",
- "provider"
+ "name"
],
"type": "object"
},
@@ -5317,17 +5151,13 @@
"GitHunkStyleSetting": {
"oneOf": [
{
+ "const": "staged_hollow",
"description": "Show unstaged hunks with a filled background and staged hunks hollow.",
- "enum": [
- "staged_hollow"
- ],
"type": "string"
},
{
+ "const": "unstaged_hollow",
"description": "Show unstaged hunks hollow and staged hunks with a filled background.",
- "enum": [
- "unstaged_hollow"
- ],
"type": "string"
}
]
@@ -5374,7 +5204,7 @@
"type": "null"
}
],
- "description": "Whether or not to show git blame data inline in the currently focused line.\n\nDefault: on"
+ "description": "Whether or not to show git blame data inline in\nthe currently focused line.\n\nDefault: on"
}
},
"type": "object"
@@ -5394,17 +5224,13 @@
"description": "What to do when go to definition yields no results.",
"oneOf": [
{
+ "const": "none",
"description": "Disables the fallback.",
- "enum": [
- "none"
- ],
"type": "string"
},
{
+ "const": "find_all_references",
"description": "Looks up references of the same symbol instead.",
- "enum": [
- "find_all_references"
- ],
"type": "string"
}
]
@@ -5476,24 +5302,18 @@
"description": "Determines when the mouse cursor should be hidden in an editor or input box.\n\nDefault: on_typing_and_movement",
"oneOf": [
{
+ "const": "never",
"description": "Never hide the mouse cursor",
- "enum": [
- "never"
- ],
"type": "string"
},
{
+ "const": "on_typing",
"description": "Hide only when typing",
- "enum": [
- "on_typing"
- ],
"type": "string"
},
{
+ "const": "on_typing_and_movement",
"description": "Hide on both typing and cursor movement",
- "enum": [
- "on_typing_and_movement"
- ],
"type": "string"
}
]
@@ -5528,17 +5348,7 @@
"font_weight": {
"anyOf": [
{
- "enum": [
- 100,
- 200,
- 300,
- 400,
- 500,
- 600,
- 700,
- 800,
- 900
- ]
+ "$ref": "#/definitions/FontWeightContent"
},
{
"type": "null"
@@ -5602,8 +5412,8 @@
}
},
"required": [
- "dark",
- "light"
+ "light",
+ "dark"
],
"type": "object"
}
@@ -5613,17 +5423,13 @@
"ImageFileSizeUnit": {
"oneOf": [
{
+ "const": "binary",
"description": "Displays file size in binary units (e.g., KiB, MiB).",
- "enum": [
- "binary"
- ],
"type": "string"
},
{
+ "const": "decimal",
"description": "Displays file size in decimal units (e.g., KB, MB).",
- "enum": [
- "decimal"
- ],
"type": "string"
}
]
@@ -5632,17 +5438,13 @@
"description": "Determines how indent guide backgrounds are colored.",
"oneOf": [
{
+ "const": "disabled",
"description": "Do not render any background for indent guides.",
- "enum": [
- "disabled"
- ],
"type": "string"
},
{
+ "const": "indent_aware",
"description": "Use a different color for each indentation level.",
- "enum": [
- "indent_aware"
- ],
"type": "string"
}
]
@@ -5651,24 +5453,18 @@
"description": "Determines how indent guides are colored.",
"oneOf": [
{
+ "const": "disabled",
"description": "Do not render any lines for indent guides.",
- "enum": [
- "disabled"
- ],
"type": "string"
},
{
+ "const": "fixed",
"description": "Use the same color for all indentation levels.",
- "enum": [
- "fixed"
- ],
"type": "string"
},
{
+ "const": "indent_aware",
"description": "Use a different color for each indentation level.",
- "enum": [
- "indent_aware"
- ],
"type": "string"
}
]
@@ -5727,7 +5523,7 @@
"type": "null"
}
],
- "description": "When to show the scrollbar in the project panel."
+ "description": "When to show the scrollbar in the outline panel."
}
},
"type": "object"
@@ -5743,7 +5539,7 @@
"type": "null"
}
],
- "description": "When to show the scrollbar in the outline panel."
+ "description": "When to show the scrollbar in the project panel."
}
},
"type": "object"
@@ -5772,7 +5568,7 @@
},
"show_background": {
"default": false,
- "description": "Whether to show a background for inlay hints.\n\nIf set to `true`, the background will use the `hint.background` color from the current theme.\n\nDefault: false",
+ "description": "Whether to show a background for inlay hints.\n\nIf set to `true`, the background will use the `hint.background` color\nfrom the current theme.\n\nDefault: false",
"type": "boolean"
},
"show_other_hints": {
@@ -5805,7 +5601,7 @@
}
],
"default": null,
- "description": "Toggles inlay hints (hides or shows) when the user presses the modifiers specified. If only a subset of the modifiers specified is pressed, hints are not toggled. If no modifiers are specified, this is equivalent to `None`.\n\nDefault: None"
+ "description": "Toggles inlay hints (hides or shows) when the user presses the modifiers specified.\nIf only a subset of the modifiers specified is pressed, hints are not toggled.\nIf no modifiers are specified, this is equivalent to `None`.\n\nDefault: None"
}
},
"type": "object"
@@ -5813,7 +5609,7 @@
"InlineBlameSettings": {
"properties": {
"delay_ms": {
- "description": "Whether to only show the inline blame information after a delay once the cursor stops moving.\n\nDefault: 0",
+ "description": "Whether to only show the inline blame information\nafter a delay once the cursor stops moving.\n\nDefault: 0",
"format": "uint64",
"minimum": 0,
"type": [
@@ -5823,7 +5619,7 @@
},
"enabled": {
"default": true,
- "description": "Whether or not to show git blame data inline in the currently focused line.\n\nDefault: true",
+ "description": "Whether or not to show git blame data inline in\nthe currently focused line.\n\nDefault: true",
"type": "boolean"
},
"min_column": {
@@ -5863,21 +5659,21 @@
},
"min_column": {
"default": 0,
- "description": "The minimum column to display inline diagnostics. This setting can be used to horizontally align inline diagnostics at some position. Lines longer than this value will still push diagnostics further to the right.\n\nDefault: 0",
+ "description": "The minimum column to display inline diagnostics. This setting can be\nused to horizontally align inline diagnostics at some position. Lines\nlonger than this value will still push diagnostics further to the right.\n\nDefault: 0",
"format": "uint32",
"minimum": 0,
"type": "integer"
},
"padding": {
"default": 4,
- "description": "The amount of padding between the end of the source line and the start of the inline diagnostic in units of columns.\n\nDefault: 4",
+ "description": "The amount of padding between the end of the source line and the start\nof the inline diagnostic in units of columns.\n\nDefault: 4",
"format": "uint32",
"minimum": 0,
"type": "integer"
},
"update_debounce_ms": {
"default": 150,
- "description": "Whether to only show the inline diagnostics after a delay after the last editor event.\n\nDefault: 150",
+ "description": "Whether to only show the inline diagnostics after a delay after the\nlast editor event.\n\nDefault: 150",
"format": "uint64",
"minimum": 0,
"type": "integer"
@@ -5939,21 +5735,17 @@
},
"required": [
"max_cache_anchors",
- "min_total_token",
- "should_speculate"
+ "should_speculate",
+ "min_total_token"
],
"type": "object"
},
"LanguageModelParameters": {
"properties": {
"model": {
- "anyOf": [
- {
- "$ref": "#/definitions/String"
- },
- {
- "type": "null"
- }
+ "type": [
+ "string",
+ "null"
]
},
"provider": {
@@ -6002,8 +5794,8 @@
}
},
"required": [
- "model",
- "provider"
+ "provider",
+ "model"
],
"type": "object"
},
@@ -6021,10 +5813,10 @@
}
],
"default": null,
- "description": "Controls where the `editor::Rewrap` action is allowed for this language.\n\nNote: This setting has no effect in Vim mode, as rewrap is already allowed everywhere.\n\nDefault: \"in_comments\""
+ "description": "Controls where the `editor::Rewrap` action is allowed for this language.\n\nNote: This setting has no effect in Vim mode, as rewrap is already\nallowed everywhere.\n\nDefault: \"in_comments\""
},
"always_treat_brackets_as_autoclosed": {
- "description": "Controls how the editor handles the autoclosed characters. When set to `false`(default), skipping over and auto-removing of the closing characters happen only for auto-inserted characters. Otherwise(when `true`), the closing characters are always skipped over and auto-removed no matter how they were inserted.\n\nDefault: false",
+ "description": "Controls how the editor handles the autoclosed characters.\nWhen set to `false`(default), skipping over and auto-removing of the closing characters\nhappen only for auto-inserted characters.\nOtherwise(when `true`), the closing characters are always skipped over and auto-removed\nno matter how they were inserted.\n\nDefault: false",
"type": [
"boolean",
"null"
@@ -6041,7 +5833,7 @@
"additionalProperties": {
"type": "boolean"
},
- "description": "Which code actions to run on save after the formatter. These are not run if formatting is off.\n\nDefault: {} (or {\"source.organizeImports\": true} for Go).",
+ "description": "Which code actions to run on save after the formatter.\nThese are not run if formatting is off.\n\nDefault: {} (or {\"source.organizeImports\": true} for Go).",
"type": [
"object",
"null"
@@ -6070,7 +5862,7 @@
},
"edit_predictions_disabled_in": {
"default": null,
- "description": "Controls whether edit predictions are shown in the given language scopes.\n\nExample: [\"string\", \"comment\"]\n\nDefault: []",
+ "description": "Controls whether edit predictions are shown in the given language\nscopes.\n\nExample: [\"string\", \"comment\"]\n\nDefault: []",
"items": {
"type": "string"
},
@@ -6089,7 +5881,7 @@
},
"ensure_final_newline_on_save": {
"default": null,
- "description": "Whether or not to ensure there's a single newline at the end of a buffer when saving it.\n\nDefault: true",
+ "description": "Whether or not to ensure there's a single newline at the end of a buffer\nwhen saving it.\n\nDefault: true",
"type": [
"boolean",
"null"
@@ -6129,7 +5921,7 @@
},
"hard_tabs": {
"default": null,
- "description": "Whether to indent lines using tab characters, as opposed to multiple spaces.\n\nDefault: false",
+ "description": "Whether to indent lines using tab characters, as opposed to multiple\nspaces.\n\nDefault: false",
"type": [
"boolean",
"null"
@@ -6173,7 +5965,7 @@
},
"language_servers": {
"default": null,
- "description": "The list of language servers to use (or disable) for this language.\n\nThis array should consist of language server IDs, as well as the following special tokens: - `\"!<language_server_id>\"` - A language server ID prefixed with a `!` will be disabled. - `\"...\"` - A placeholder to refer to the **rest** of the registered language servers for this language.\n\nDefault: [\"...\"]",
+ "description": "The list of language servers to use (or disable) for this language.\n\nThis array should consist of language server IDs, as well as the following\nspecial tokens:\n- `\"!<language_server_id>\"` - A language server ID prefixed with a `!` will be disabled.\n- `\"...\"` - A placeholder to refer to the **rest** of the registered language servers for this language.\n\nDefault: [\"...\"]",
"items": {
"type": "string"
},
@@ -6183,7 +5975,7 @@
]
},
"linked_edits": {
- "description": "Whether to perform linked edits of associated ranges, if the language server supports it. For example, when editing opening <html> tag, the contents of the closing </html> tag will be edited as well.\n\nDefault: true",
+ "description": "Whether to perform linked edits of associated ranges, if the language server supports it.\nFor example, when editing opening <html> tag, the contents of the closing </html> tag will be edited as well.\n\nDefault: true",
"type": [
"boolean",
"null"
@@ -6191,7 +5983,7 @@
},
"preferred_line_length": {
"default": null,
- "description": "The column at which to soft-wrap lines, for buffers where soft-wrap is enabled.\n\nDefault: 80",
+ "description": "The column at which to soft-wrap lines, for buffers where soft-wrap\nis enabled.\n\nDefault: 80",
"format": "uint32",
"minimum": 0,
"type": [
@@ -6209,25 +6001,25 @@
}
],
"default": null,
- "description": "Zed's Prettier integration settings. Allows to enable/disable formatting with Prettier and configure default Prettier, used when no project-level Prettier installation is found.\n\nDefault: off"
+ "description": "Zed's Prettier integration settings.\nAllows to enable/disable formatting with Prettier\nand configure default Prettier, used when no project-level Prettier installation is found.\n\nDefault: off"
},
"remove_trailing_whitespace_on_save": {
"default": null,
- "description": "Whether or not to remove any trailing whitespace from lines of a buffer before saving it.\n\nDefault: true",
+ "description": "Whether or not to remove any trailing whitespace from lines of a buffer\nbefore saving it.\n\nDefault: true",
"type": [
"boolean",
"null"
]
},
"show_completion_documentation": {
- "description": "Whether to display inline and alongside documentation for items in the completions menu.\n\nDefault: true",
+ "description": "Whether to display inline and alongside documentation for items in the\ncompletions menu.\n\nDefault: true",
"type": [
"boolean",
"null"
]
},
"show_completions_on_input": {
- "description": "Whether to pop the completions menu while typing in an editor without explicitly requesting it.\n\nDefault: true",
+ "description": "Whether to pop the completions menu while typing in an editor without\nexplicitly requesting it.\n\nDefault: true",
"type": [
"boolean",
"null"
@@ -6235,7 +6027,7 @@
},
"show_edit_predictions": {
"default": null,
- "description": "Controls whether edit predictions are shown immediately (true) or manually by triggering `editor::ShowEditPrediction` (false).\n\nDefault: true",
+ "description": "Controls whether edit predictions are shown immediately (true)\nor manually by triggering `editor::ShowEditPrediction` (false).\n\nDefault: true",
"type": [
"boolean",
"null"
@@ -6255,7 +6047,7 @@
},
"show_wrap_guides": {
"default": null,
- "description": "Whether to show wrap guides in the editor. Setting this to true will show a guide at the 'preferred_line_length' value if softwrap is set to 'preferred_line_length', and will show any additional guides as specified by the 'wrap_guides' setting.\n\nDefault: true",
+ "description": "Whether to show wrap guides in the editor. Setting this to true will\nshow a guide at the 'preferred_line_length' value if softwrap is set to\n'preferred_line_length', and will show any additional guides as specified\nby the 'wrap_guides' setting.\n\nDefault: true",
"type": [
"boolean",
"null"
@@ -6295,21 +6087,21 @@
"description": "Task configuration for this language.\n\nDefault: {}"
},
"use_auto_surround": {
- "description": "Whether to automatically surround text with characters for you. For example, when you select text and type (, Zed will automatically surround text with ().\n\nDefault: true",
+ "description": "Whether to automatically surround text with characters for you. For example,\nwhen you select text and type (, Zed will automatically surround text with ().\n\nDefault: true",
"type": [
"boolean",
"null"
]
},
"use_autoclose": {
- "description": "Whether to automatically type closing characters for you. For example, when you type (, Zed will automatically add a closing ) at the correct position.\n\nDefault: true",
+ "description": "Whether to automatically type closing characters for you. For example,\nwhen you type (, Zed will automatically add a closing ) at the correct position.\n\nDefault: true",
"type": [
"boolean",
"null"
]
},
"use_on_type_format": {
- "description": "Whether to use additional LSP queries to format (and amend) the code after every \"trigger\" symbol input, defined by LSP server capabilities.\n\nDefault: true",
+ "description": "Whether to use additional LSP queries to format (and amend) the code after\nevery \"trigger\" symbol input, defined by LSP server capabilities.\n\nDefault: true",
"type": [
"boolean",
"null"
@@ -6340,7 +6132,7 @@
},
"prefer_lsp": {
"default": true,
- "description": "Use LSP tasks over Zed language extension ones. If no LSP tasks are returned due to error/timeout or regular execution, Zed language extension tasks will be used instead.\n\nOther Zed tasks will still be shown: * Zed task from either of the task config file * Zed task from history (e.g. one-off task was spawned before)",
+ "description": "Use LSP tasks over Zed language extension ones.\nIf no LSP tasks are returned due to error/timeout or regular execution,\nZed language extension tasks will be used instead.\n\nOther Zed tasks will still be shown:\n* Zed task from either of the task config file\n* Zed task from history (e.g. one-off task was spawned before)",
"type": "boolean"
},
"variables": {
@@ -6354,7 +6146,7 @@
},
"type": "object"
},
- "Languages": {
+ "LanguageToSettingsMap": {
"properties": {
"C": {
"$ref": "#/definitions/LanguageSettingsContent"
@@ -6473,31 +6265,23 @@
"LspInsertMode": {
"oneOf": [
{
+ "const": "insert",
"description": "Replaces text before the cursor, using the `insert` range described in the LSP specification.",
- "enum": [
- "insert"
- ],
"type": "string"
},
{
+ "const": "replace",
"description": "Replaces text before and after the cursor, using the `replace` range described in the LSP specification.",
- "enum": [
- "replace"
- ],
"type": "string"
},
{
- "description": "Behaves like `\"replace\"` if the text that would be replaced is a subsequence of the completion text, and like `\"insert\"` otherwise.",
- "enum": [
- "replace_subsequence"
- ],
+ "const": "replace_subsequence",
+ "description": "Behaves like `\"replace\"` if the text that would be replaced is a subsequence of the completion text,\nand like `\"insert\"` otherwise.",
"type": "string"
},
{
- "description": "Behaves like `\"replace\"` if the text after the cursor is a suffix of the completion, and like `\"insert\"` otherwise.",
- "enum": [
- "replace_suffix"
- ],
+ "const": "replace_suffix",
+ "description": "Behaves like `\"replace\"` if the text after the cursor is a suffix of the completion, and like\n`\"insert\"` otherwise.",
"type": "string"
}
]
@@ -6506,7 +6290,7 @@
"properties": {
"debounce_ms": {
"default": 50,
- "description": "Minimum time to wait before pulling diagnostics from the language server(s). 0 turns the debounce off.\n\nDefault: 50",
+ "description": "Minimum time to wait before pulling diagnostics from the language server(s).\n0 turns the debounce off.\n\nDefault: 50",
"format": "uint64",
"minimum": 0,
"type": "integer"
@@ -6533,7 +6317,7 @@
},
"enable_lsp_tasks": {
"default": true,
- "description": "If the server supports sending tasks over LSP extensions, this setting can be used to enable or disable them in Zed. Default: true",
+ "description": "If the server supports sending tasks over LSP extensions,\nthis setting can be used to enable or disable them in Zed.\nDefault: true",
"type": "boolean"
},
"initialization_options": true,
@@ -6547,14 +6331,7 @@
"current_line_highlight": {
"anyOf": [
{
- "anyOf": [
- {
- "$ref": "#/definitions/CurrentLineHighlight"
- },
- {
- "type": "null"
- }
- ]
+ "$ref": "#/definitions/CurrentLineHighlight"
},
{
"type": "null"
@@ -6622,17 +6399,13 @@
"description": "When to show the minimap thumb.\n\nDefault: always",
"oneOf": [
{
+ "const": "hover",
"description": "Show the minimap thumb only when the mouse is hovering over the minimap.",
- "enum": [
- "hover"
- ],
"type": "string"
},
{
+ "const": "always",
"description": "Always show the minimap thumb.",
- "enum": [
- "always"
- ],
"type": "string"
}
]
@@ -6641,38 +6414,28 @@
"description": "Defines the border style for the minimap's scrollbar thumb.\n\nDefault: left_open",
"oneOf": [
{
+ "const": "full",
"description": "Displays a border on all sides of the thumb.",
- "enum": [
- "full"
- ],
"type": "string"
},
{
+ "const": "left_open",
"description": "Displays a border on all sides except the left side of the thumb.",
- "enum": [
- "left_open"
- ],
"type": "string"
},
{
+ "const": "right_open",
"description": "Displays a border on all sides except the right side of the thumb.",
- "enum": [
- "right_open"
- ],
"type": "string"
},
{
+ "const": "left_only",
"description": "Displays a border only on the left side of the thumb.",
- "enum": [
- "left_only"
- ],
"type": "string"
},
{
+ "const": "none",
"description": "Displays the thumb without any border.",
- "enum": [
- "none"
- ],
"type": "string"
}
]
@@ -6714,9 +6477,7 @@
{
"properties": {
"type": {
- "enum": [
- "default"
- ],
+ "const": "default",
"type": "string"
}
},
@@ -6737,9 +6498,7 @@
]
},
"type": {
- "enum": [
- "thinking"
- ],
+ "const": "thinking",
"type": "string"
}
},
@@ -6755,9 +6514,7 @@
{
"properties": {
"type": {
- "enum": [
- "default"
- ],
+ "const": "default",
"type": "string"
}
},
@@ -6778,9 +6535,7 @@
]
},
"type": {
- "enum": [
- "thinking"
- ],
+ "const": "thinking",
"type": "string"
}
},
@@ -6796,9 +6551,7 @@
{
"properties": {
"type": {
- "enum": [
- "default"
- ],
+ "const": "default",
"type": "string"
}
},
@@ -6818,9 +6571,7 @@
]
},
"type": {
- "enum": [
- "thinking"
- ],
+ "const": "thinking",
"type": "string"
}
},
@@ -6836,9 +6587,7 @@
{
"properties": {
"type": {
- "enum": [
- "default"
- ],
+ "const": "default",
"type": "string"
}
},
@@ -6859,9 +6608,7 @@
]
},
"type": {
- "enum": [
- "thinking"
- ],
+ "const": "thinking",
"type": "string"
}
},
@@ -6877,9 +6624,7 @@
{
"properties": {
"type": {
- "enum": [
- "default"
- ],
+ "const": "default",
"type": "string"
}
},
@@ -6900,9 +6645,7 @@
]
},
"type": {
- "enum": [
- "thinking"
- ],
+ "const": "thinking",
"type": "string"
}
},
@@ -6918,7 +6661,7 @@
"properties": {
"alt": {
"default": false,
- "description": "The alt key Sometimes also known as the 'meta' key",
+ "description": "The alt key\nSometimes also known as the 'meta' key",
"type": "boolean"
},
"control": {
@@ -6933,7 +6676,7 @@
},
"platform": {
"default": false,
- "description": "The command key, on macos the windows key, on windows the super key, on linux",
+ "description": "The command key, on macos\nthe windows key, on windows\nthe super key, on linux",
"type": "boolean"
},
"shift": {
@@ -7007,23 +6750,19 @@
"OnLastWindowClosed": {
"oneOf": [
{
+ "const": "platform_default",
"description": "Match platform conventions by default, so don't quit on macOS, and quit on other platforms",
- "enum": [
- "platform_default"
- ],
"type": "string"
},
{
+ "const": "quit_app",
"description": "Quit the application the last window is closed",
- "enum": [
- "quit_app"
- ],
"type": "string"
}
]
},
"OnSaveFormatter": {
- "anyOf": [
+ "oneOf": [
{
"items": {
"description": "Controls which formatter should be used when formatting code. If there are multiple formatters, they are executed in the order of declaration.",
@@ -7050,10 +6789,8 @@
"type": "object"
},
{
+ "const": "prettier",
"description": "Format code using Zed's Prettier integration.",
- "enum": [
- "prettier"
- ],
"type": "string"
},
{
@@ -7105,7 +6842,8 @@
"type": "object"
}
]
- }
+ },
+ "type": "array"
},
{
"enum": [
@@ -7113,7 +6851,8 @@
"off",
"prettier",
"language_server"
- ]
+ ],
+ "type": "string"
},
{
"description": "Controls which formatter should be used when formatting code. If there are multiple formatters, they are executed in the order of declaration.",
@@ -7140,10 +6879,8 @@
"type": "object"
},
{
+ "const": "prettier",
"description": "Format code using Zed's Prettier integration.",
- "enum": [
- "prettier"
- ],
"type": "string"
},
{
@@ -7196,11 +6933,6 @@
}
]
}
- ],
- "type": [
- "object",
- "string",
- "array"
]
},
"OpenAiSettingsContent": {
@@ -7289,7 +7021,7 @@
},
"PrettierSettings": {
"additionalProperties": true,
- "description": "Allows to enable/disable formatting with Prettier and configure default Prettier, used when no project-level Prettier installation is found. Prettier formatting is disabled by default.",
+ "description": "Allows to enable/disable formatting with Prettier\nand configure default Prettier, used when no project-level Prettier installation is found.\nPrettier formatting is disabled by default.",
"properties": {
"allowed": {
"default": false,
@@ -7306,7 +7038,7 @@
},
"plugins": {
"default": [],
- "description": "Forces Prettier integration to use specific plugins when formatting files with the language. The default Prettier will be installed with these plugins.",
+ "description": "Forces Prettier integration to use specific plugins when formatting files with the language.\nThe default Prettier will be installed with these plugins.",
"items": {
"type": "string"
},
@@ -7326,24 +7058,18 @@
"RestoreOnStartupBehavior": {
"oneOf": [
{
+ "const": "none",
"description": "Always start with an empty editor",
- "enum": [
- "none"
- ],
"type": "string"
},
{
+ "const": "last_workspace",
"description": "Restore the workspace that was closed last.",
- "enum": [
- "last_workspace"
- ],
"type": "string"
},
{
+ "const": "last_session",
"description": "Restore all workspaces that were open when quitting Zed.",
- "enum": [
- "last_session"
- ],
"type": "string"
}
]
@@ -7352,24 +7078,18 @@
"description": "The behavior of `editor::Rewrap`.",
"oneOf": [
{
+ "const": "in_comments",
"description": "Only rewrap within comments.",
- "enum": [
- "in_comments"
- ],
"type": "string"
},
{
+ "const": "in_selections",
"description": "Only rewrap within the current selection(s).",
- "enum": [
- "in_selections"
- ],
"type": "string"
},
{
+ "const": "anywhere",
"description": "Allow rewrapping anywhere.",
- "enum": [
- "anywhere"
- ],
"type": "string"
}
]
@@ -7378,24 +7098,18 @@
"description": "Whether the editor will scroll beyond the last line.\n\nDefault: one_page",
"oneOf": [
{
+ "const": "off",
"description": "The editor will not scroll beyond the last line.",
- "enum": [
- "off"
- ],
"type": "string"
},
{
+ "const": "one_page",
"description": "The editor will scroll beyond the last line by one page.",
- "enum": [
- "one_page"
- ],
"type": "string"
},
{
+ "const": "vertical_scroll_margin",
"description": "The editor will scroll beyond the last line by the same number of lines as vertical_scroll_margin.",
- "enum": [
- "vertical_scroll_margin"
- ],
"type": "string"
}
]
@@ -7498,38 +7212,28 @@
"description": "Which diagnostic indicators to show in the scrollbar.\n\nDefault: all",
"oneOf": [
{
+ "const": "all",
"description": "Show all diagnostic levels: hint, information, warnings, error.",
- "enum": [
- "all"
- ],
"type": "string"
},
{
+ "const": "information",
"description": "Show only the following diagnostic levels: information, warning, error.",
- "enum": [
- "information"
- ],
"type": "string"
},
{
+ "const": "warning",
"description": "Show only the following diagnostic levels: warning, error.",
- "enum": [
- "warning"
- ],
"type": "string"
},
{
+ "const": "error",
"description": "Show only the following diagnostic level: error.",
- "enum": [
- "error"
- ],
"type": "string"
},
{
+ "const": "none",
"description": "Do not show diagnostics.",
- "enum": [
- "none"
- ],
"type": "string"
}
]
@@ -7554,20 +7258,13 @@
"show": {
"anyOf": [
{
- "anyOf": [
- {
- "$ref": "#/definitions/ShowScrollbar2"
- },
- {
- "type": "null"
- }
- ]
+ "$ref": "#/definitions/ShowScrollbar"
},
{
"type": "null"
}
],
- "description": "When to show the scrollbar in the terminal.\n\nDefault: inherits editor scrollbar settings"
+ "description": "When to show the scrollbar in the project panel.\n\nDefault: inherits editor scrollbar settings"
}
},
"type": "object"
@@ -7577,14 +7274,7 @@
"show": {
"anyOf": [
{
- "anyOf": [
- {
- "$ref": "#/definitions/ShowScrollbar"
- },
- {
- "type": "null"
- }
- ]
+ "$ref": "#/definitions/ShowScrollbar"
},
{
"type": "null"
@@ -7600,20 +7290,13 @@
"show": {
"anyOf": [
{
- "anyOf": [
- {
- "$ref": "#/definitions/ShowScrollbar"
- },
- {
- "type": "null"
- }
- ]
+ "$ref": "#/definitions/ShowScrollbar2"
},
{
"type": "null"
}
],
- "description": "When to show the scrollbar in the project panel.\n\nDefault: inherits editor scrollbar settings"
+ "description": "When to show the scrollbar in the terminal.\n\nDefault: inherits editor scrollbar settings"
}
},
"type": "object"
@@ -7649,24 +7332,18 @@
"description": "When to populate a new search's query based on the text under the cursor.",
"oneOf": [
{
+ "const": "always",
"description": "Always populate the search query with the word under the cursor.",
- "enum": [
- "always"
- ],
"type": "string"
},
{
+ "const": "selection",
"description": "Only populate the search query when there is text selected.",
- "enum": [
- "selection"
- ],
"type": "string"
},
{
+ "const": "never",
"description": "Never populate the search query",
- "enum": [
- "never"
- ],
"type": "string"
}
]
@@ -7674,7 +7351,7 @@
"SessionSettings": {
"properties": {
"restore_unsaved_buffers": {
- "description": "Whether or not to restore unsaved buffers on restart.\n\nIf this is true, user won't be prompted whether to save/discard dirty files when closing the application.\n\nDefault: true",
+ "description": "Whether or not to restore unsaved buffers on restart.\n\nIf this is true, user won't be prompted whether to save/discard\ndirty files when closing the application.\n\nDefault: true",
"type": "boolean"
}
},
@@ -7687,10 +7364,8 @@
"description": "Shell configuration to open the terminal with.",
"oneOf": [
{
+ "const": "system",
"description": "Use the system's default terminal configuration in /etc/passwd",
- "enum": [
- "system"
- ],
"type": "string"
},
{
@@ -7724,20 +7399,16 @@
"type": "string"
},
"title_override": {
- "anyOf": [
- {
- "$ref": "#/definitions/String"
- },
- {
- "type": "null"
- }
- ],
- "description": "An optional string to override the title of the terminal tab"
+ "description": "An optional string to override the title of the terminal tab",
+ "type": [
+ "string",
+ "null"
+ ]
}
},
"required": [
- "args",
- "program"
+ "program",
+ "args"
],
"type": "object"
}
@@ -7758,39 +7429,33 @@
"type": "string"
},
"ShowDiagnostics": {
+ "enum": [
+ "off",
+ "errors",
+ "all"
+ ],
+ "type": "string"
+ },
+ "ShowDiagnostics2": {
"description": "Whether to indicate diagnostic errors and/or warnings in project panel items.\n\nDefault: all",
"oneOf": [
{
+ "const": "off",
"description": "Never mark the diagnostic errors/warnings in the project panel.",
- "enum": [
- "off"
- ],
"type": "string"
},
{
+ "const": "errors",
"description": "Mark files containing only diagnostic errors in the project panel.",
- "enum": [
- "errors"
- ],
"type": "string"
},
{
+ "const": "all",
"description": "Mark files containing diagnostic errors or warnings in the project panel.",
- "enum": [
- "all"
- ],
"type": "string"
}
]
},
- "ShowDiagnostics2": {
- "enum": [
- "off",
- "errors",
- "all"
- ],
- "type": "string"
- },
"ShowIndentGuides": {
"enum": [
"always",
@@ -7809,24 +7474,18 @@
"description": "When to show the minimap in the editor.\n\nDefault: never",
"oneOf": [
{
+ "const": "auto",
"description": "Follow the visibility of the scrollbar.",
- "enum": [
- "auto"
- ],
"type": "string"
},
{
+ "const": "always",
"description": "Always show the minimap.",
- "enum": [
- "always"
- ],
"type": "string"
},
{
+ "const": "never",
"description": "Never show the minimap.",
- "enum": [
- "never"
- ],
"type": "string"
}
]
@@ -7835,31 +7494,23 @@
"description": "When to show the scrollbar in the editor.\n\nDefault: auto",
"oneOf": [
{
- "description": "Show the scrollbar if there's important information or follow the system's configured behavior.",
- "enum": [
- "auto"
- ],
+ "const": "auto",
+ "description": "Show the scrollbar if there's important information or\nfollow the system's configured behavior.",
"type": "string"
},
{
+ "const": "system",
"description": "Match the system's configured behavior.",
- "enum": [
- "system"
- ],
"type": "string"
},
{
+ "const": "always",
"description": "Always show the scrollbar.",
- "enum": [
- "always"
- ],
"type": "string"
},
{
+ "const": "never",
"description": "Never show the scrollbar.",
- "enum": [
- "never"
- ],
"type": "string"
}
]
@@ -7868,31 +7519,23 @@
"description": "When to show the scrollbar in the terminal.\n\nDefault: auto",
"oneOf": [
{
- "description": "Show the scrollbar if there's important information or follow the system's configured behavior.",
- "enum": [
- "auto"
- ],
+ "const": "auto",
+ "description": "Show the scrollbar if there's important information or\nfollow the system's configured behavior.",
"type": "string"
},
{
+ "const": "system",
"description": "Match the system's configured behavior.",
- "enum": [
- "system"
- ],
"type": "string"
},
{
+ "const": "always",
"description": "Always show the scrollbar.",
- "enum": [
- "always"
- ],
"type": "string"
},
{
+ "const": "never",
"description": "Never show the scrollbar.",
- "enum": [
- "never"
- ],
"type": "string"
}
]
@@ -7901,38 +7544,28 @@
"description": "Controls how whitespace should be displayedin the editor.",
"oneOf": [
{
+ "const": "selection",
"description": "Draw whitespace only for the selected text.",
- "enum": [
- "selection"
- ],
"type": "string"
},
{
+ "const": "none",
"description": "Do not draw any tabs or spaces.",
- "enum": [
- "none"
- ],
"type": "string"
},
{
+ "const": "all",
"description": "Draw all invisible symbols.",
- "enum": [
- "all"
- ],
"type": "string"
},
{
- "description": "Draw whitespaces at boundaries only.\n\nFor a whitespace to be on a boundary, any of the following conditions need to be met: - It is a tab - It is adjacent to an edge (start or end) - It is adjacent to a whitespace (left or right)",
- "enum": [
- "boundary"
- ],
+ "const": "boundary",
+ "description": "Draw whitespaces at boundaries only.\n\nFor a whitespace to be on a boundary, any of the following conditions need to be met:\n- It is a tab\n- It is adjacent to an edge (start or end)\n- It is adjacent to a whitespace (left or right)",
"type": "string"
},
{
+ "const": "trailing",
"description": "Draw whitespaces only after non-whitespace characters.",
- "enum": [
- "trailing"
- ],
"type": "string"
}
]
@@ -7941,24 +7574,18 @@
"description": "Determines how snippets are sorted relative to other completion items.\n\nDefault: inline",
"oneOf": [
{
+ "const": "top",
"description": "Place snippets at the top of the completion list",
- "enum": [
- "top"
- ],
"type": "string"
},
{
+ "const": "inline",
"description": "Sort snippets normally using the default comparison logic",
- "enum": [
- "inline"
- ],
"type": "string"
},
{
+ "const": "bottom",
"description": "Place snippets at the bottom of the completion list",
- "enum": [
- "bottom"
- ],
"type": "string"
}
]
@@ -7967,38 +7594,28 @@
"description": "Controls the soft-wrapping behavior in the editor.",
"oneOf": [
{
+ "const": "none",
"description": "Prefer a single line generally, unless an overly long line is encountered.",
- "enum": [
- "none"
- ],
"type": "string"
},
{
- "description": "Deprecated: use None instead. Left to avoid breaking existing users' configs. Prefer a single line generally, unless an overly long line is encountered.",
- "enum": [
- "prefer_line"
- ],
+ "const": "prefer_line",
+ "description": "Deprecated: use None instead. Left to avoid breaking existing users' configs.\nPrefer a single line generally, unless an overly long line is encountered.",
"type": "string"
},
{
+ "const": "editor_width",
"description": "Soft wrap lines that exceed the editor width.",
- "enum": [
- "editor_width"
- ],
"type": "string"
},
{
+ "const": "preferred_line_length",
"description": "Soft wrap lines at the preferred line length.",
- "enum": [
- "preferred_line_length"
- ],
"type": "string"
},
{
+ "const": "bounded",
"description": "Soft wrap line at the preferred line length or the editor width (whichever is smaller).",
- "enum": [
- "bounded"
- ],
"type": "string"
}
]
@@ -8012,7 +7629,7 @@
"type": "array"
},
"host": {
- "$ref": "#/definitions/String"
+ "type": "string"
},
"nickname": {
"description": "Name to use for this server in UI.",
@@ -8023,6 +7640,7 @@
},
"port": {
"format": "uint16",
+ "maximum": 65535,
"minimum": 0,
"type": [
"integer",
@@ -8074,6 +7692,7 @@
},
"local_port": {
"format": "uint16",
+ "maximum": 65535,
"minimum": 0,
"type": "integer"
},
@@ -8085,6 +7704,7 @@
},
"remote_port": {
"format": "uint16",
+ "maximum": 65535,
"minimum": 0,
"type": "integer"
}
@@ -8120,52 +7740,37 @@
"description": "The granularity of one 'step' in the stepping requests `next`, `stepIn`, `stepOut`, and `stepBack`.",
"oneOf": [
{
- "description": "The step should allow the program to run until the current statement has finished executing. The meaning of a statement is determined by the adapter and it may be considered equivalent to a line. For example 'for(int i = 0; i < 10; i++)' could be considered to have 3 statements 'int i = 0', 'i < 10', and 'i++'.",
- "enum": [
- "statement"
- ],
+ "const": "statement",
+ "description": "The step should allow the program to run until the current statement has finished executing.\nThe meaning of a statement is determined by the adapter and it may be considered equivalent to a line.\nFor example 'for(int i = 0; i < 10; i++)' could be considered to have 3 statements 'int i = 0', 'i < 10', and 'i++'.",
"type": "string"
},
{
+ "const": "line",
"description": "The step should allow the program to run until the current source line has executed.",
- "enum": [
- "line"
- ],
"type": "string"
},
{
+ "const": "instruction",
"description": "The step should allow one instruction to execute (e.g. one x86 instruction).",
- "enum": [
- "instruction"
- ],
"type": "string"
}
]
},
- "String": {
- "type": "string"
- },
"TerminalBlink": {
"oneOf": [
{
+ "const": "off",
"description": "Never blink the cursor, ignoring the terminal mode.",
- "enum": [
- "off"
- ],
"type": "string"
},
{
- "description": "Default the cursor blink to off, but allow the terminal to set blinking.",
- "enum": [
- "terminal_controlled"
- ],
+ "const": "terminal_controlled",
+ "description": "Default the cursor blink to off, but allow the terminal to\nset blinking.",
"type": "string"
},
{
+ "const": "on",
"description": "Always blink the cursor, ignoring the terminal mode.",
- "enum": [
- "on"
- ],
"type": "string"
}
]
@@ -8181,17 +7786,13 @@
"TerminalLineHeight": {
"oneOf": [
{
+ "const": "comfortable",
"description": "Use a line height that's comfortable for reading, 1.618",
- "enum": [
- "comfortable"
- ],
"type": "string"
},
{
- "description": "Use a standard line height, 1.3. This option is useful for TUIs, particularly if they use box characters",
- "enum": [
- "standard"
- ],
+ "const": "standard",
+ "description": "Use a standard line height, 1.3. This option is useful for TUIs,\nparticularly if they use box characters",
"type": "string"
},
{
@@ -8214,24 +7815,18 @@
"description": "The mode use to select a theme.\n\n`Light` and `Dark` will select their respective themes.\n\n`System` will select the theme based on the system's appearance.",
"oneOf": [
{
+ "const": "light",
"description": "Use the specified `light` theme.",
- "enum": [
- "light"
- ],
"type": "string"
},
{
+ "const": "dark",
"description": "Use the specified `dark` theme.",
- "enum": [
- "dark"
- ],
"type": "string"
},
{
+ "const": "system",
"description": "Use the theme based on the system's appearance.",
- "enum": [
- "system"
- ],
"type": "string"
}
]
@@ -8292,8 +7887,8 @@
}
},
"required": [
- "dark",
- "light"
+ "light",
+ "dark"
],
"type": "object"
}
@@ -8379,7 +7974,7 @@
},
"conflict": {
"default": null,
- "description": "Indicates some kind of conflict, like a file changed on disk while it was open, or merge conflicts in a Git repository.",
+ "description": "Indicates some kind of conflict, like a file changed on disk while it was open, or\nmerge conflicts in a Git repository.",
"type": [
"string",
"null"
@@ -8423,7 +8018,7 @@
},
"debugger.accent": {
"default": null,
- "description": "Color used to accent some of the debuggers elements Only accent breakpoint & breakpoint related symbols right now",
+ "description": "Color used to accent some of the debuggers elements\nOnly accent breakpoint & breakpoint related symbols right now",
"type": [
"string",
"null"
@@ -8506,7 +8101,7 @@
},
"editor.document_highlight.read_background": {
"default": null,
- "description": "Read-access of a symbol, like reading a variable.\n\nA document highlight is a range inside a text document which deserves special attention. Usually a document highlight is visualized by changing the background color of its range.",
+ "description": "Read-access of a symbol, like reading a variable.\n\nA document highlight is a range inside a text document which deserves\nspecial attention. Usually a document highlight is visualized by changing\nthe background color of its range.",
"type": [
"string",
"null"
@@ -8514,7 +8109,7 @@
},
"editor.document_highlight.write_background": {
"default": null,
- "description": "Read-access of a symbol, like reading a variable.\n\nA document highlight is a range inside a text document which deserves special attention. Usually a document highlight is visualized by changing the background color of its range.",
+ "description": "Read-access of a symbol, like reading a variable.\n\nA document highlight is a range inside a text document which deserves\nspecial attention. Usually a document highlight is visualized by changing\nthe background color of its range.",
"type": [
"string",
"null"
@@ -9546,7 +9141,7 @@
"ToolbarContent": {
"properties": {
"agent_review": {
- "description": "Whether to display Agent review buttons in the editor toolbar. Only applicable while reviewing a file edited by the Agent.\n\nDefault: true",
+ "description": "Whether to display Agent review buttons in the editor toolbar.\nOnly applicable while reviewing a file edited by the Agent.\n\nDefault: true",
"type": [
"boolean",
"null"
@@ -9586,7 +9181,7 @@
"ToolbarContent2": {
"properties": {
"breadcrumbs": {
- "description": "Whether to display the terminal title in breadcrumbs inside the terminal pane. Only shown if the terminal title is not empty.\n\nThe shell running in the terminal needs to be configured to emit the title. Example: `echo -e \"\\e]2;New Title\\007\";`\n\nDefault: true",
+ "description": "Whether to display the terminal title in breadcrumbs inside the terminal pane.\nOnly shown if the terminal title is not empty.\n\nThe shell running in the terminal needs to be configured to emit the title.\nExample: `echo -e \"\\e]2;New Title\\007\";`\n\nDefault: true",
"type": [
"boolean",
"null"
@@ -9596,27 +9191,21 @@
"type": "object"
},
"UiDensity": {
- "description": "Specifies the density of the UI. Note: This setting is still experimental. See [this tracking issue](https://github.com/zed-industries/zed/issues/18078)",
+ "description": "Specifies the density of the UI.\nNote: This setting is still experimental. See [this tracking issue](https://github.com/zed-industries/zed/issues/18078)",
"oneOf": [
{
+ "const": "compact",
"description": "A denser UI with tighter spacing and smaller elements.",
- "enum": [
- "compact"
- ],
"type": "string"
},
{
+ "const": "default",
"description": "The default UI density.",
- "enum": [
- "default"
- ],
"type": "string"
},
{
+ "const": "comfortable",
"description": "A looser UI with more spacing and larger elements.",
- "enum": [
- "comfortable"
- ],
"type": "string"
}
]
@@ -9625,24 +9214,18 @@
"description": "Controls when to use system clipboard.",
"oneOf": [
{
+ "const": "never",
"description": "Don't use system clipboard.",
- "enum": [
- "never"
- ],
"type": "string"
},
{
+ "const": "always",
"description": "Use system clipboard.",
- "enum": [
- "always"
- ],
"type": "string"
},
{
+ "const": "on_yank",
"description": "Use system clipboard for yank operations.",
- "enum": [
- "on_yank"
- ],
"type": "string"
}
]
@@ -9669,7 +9252,7 @@
"type": "null"
}
],
- "description": "Default directories to search for virtual environments, relative to the current working directory. We recommend overriding this in your project's settings, rather than globally."
+ "description": "Default directories to search for virtual environments, relative\nto the current working directory. We recommend overriding this\nin your project's settings, rather than globally."
},
"directories": {
"items": {
@@ -9724,24 +9307,18 @@
"description": "Controls how document's words are completed.",
"oneOf": [
{
+ "const": "enabled",
"description": "Always fetch document's words for completions along with LSP completions.",
- "enum": [
- "enabled"
- ],
"type": "string"
},
{
- "description": "Only if LSP response errors or times out, use document's words to show completions.",
- "enum": [
- "fallback"
- ],
+ "const": "fallback",
+ "description": "Only if LSP response errors or times out,\nuse document's words to show completions.",
"type": "string"
},
{
- "description": "Never fetch or complete document's words for completions. (Word-based completions can still be queried via a separate action)",
- "enum": [
- "disabled"
- ],
+ "const": "disabled",
+ "description": "Never fetch or complete document's words for completions.\n(Word-based completions can still be queried via a separate action)",
"type": "string"
}
]
@@ -9749,29 +9326,23 @@
"WorkingDirectory": {
"oneOf": [
{
- "description": "Use the current file's project directory. Will Fallback to the first project directory strategy if unsuccessful.",
- "enum": [
- "current_project_directory"
- ],
+ "const": "current_project_directory",
+ "description": "Use the current file's project directory. Will Fallback to the\nfirst project directory strategy if unsuccessful.",
"type": "string"
},
{
+ "const": "first_project_directory",
"description": "Use the first project in this workspace's directory.",
- "enum": [
- "first_project_directory"
- ],
"type": "string"
},
{
+ "const": "always_home",
"description": "Always use this platform's home directory (if it can be found).",
- "enum": [
- "always_home"
- ],
"type": "string"
},
{
"additionalProperties": false,
- "description": "Always use a specific directory. This value will be shell expanded. If this path is not a valid directory the terminal will default to this platform's home directory (if it can be found).",
+ "description": "Always use a specific directory. This value will be shell expanded.\nIf this path is not a valid directory the terminal will default to\nthis platform's home directory (if it can be found).",
"properties": {
"always": {
"properties": {
@@ -9820,9 +9391,10 @@
"description": "Active pane styling settings."
},
"agent": {
+ "additionalProperties": false,
"properties": {
"always_allow_tool_actions": {
- "description": "Whenever a tool action would normally wait for your confirmation that you allow it, always choose to allow it.\n\nDefault: false",
+ "description": "Whenever a tool action would normally wait for your confirmation\nthat you allow it, always choose to allow it.\n\nDefault: false",
"type": [
"boolean",
"null"
@@ -9943,7 +9515,7 @@
},
"model_parameters": {
"default": [],
- "description": "Additional parameters for language model requests. When making a request to a model, parameters will be taken from the last entry in this list that matches the model's provider and name. In each entry, both provider and model are optional, so that you can specify parameters for either one.\n\nDefault: []",
+ "description": "Additional parameters for language model requests. When making a request\nto a model, parameters will be taken from the last entry in this list\nthat matches the model's provider and name. In each entry, both provider\nand model are optional, so that you can specify parameters for either\none.\n\nDefault: []",
"items": {
"$ref": "#/definitions/LanguageModelParameters"
},
@@ -10035,10 +9607,10 @@
}
],
"default": null,
- "description": "Controls where the `editor::Rewrap` action is allowed for this language.\n\nNote: This setting has no effect in Vim mode, as rewrap is already allowed everywhere.\n\nDefault: \"in_comments\""
+ "description": "Controls where the `editor::Rewrap` action is allowed for this language.\n\nNote: This setting has no effect in Vim mode, as rewrap is already\nallowed everywhere.\n\nDefault: \"in_comments\""
},
"always_treat_brackets_as_autoclosed": {
- "description": "Controls how the editor handles the autoclosed characters. When set to `false`(default), skipping over and auto-removing of the closing characters happen only for auto-inserted characters. Otherwise(when `true`), the closing characters are always skipped over and auto-removed no matter how they were inserted.\n\nDefault: false",
+ "description": "Controls how the editor handles the autoclosed characters.\nWhen set to `false`(default), skipping over and auto-removing of the closing characters\nhappen only for auto-inserted characters.\nOtherwise(when `true`), the closing characters are always skipped over and auto-removed\nno matter how they were inserted.\n\nDefault: false",
"type": [
"boolean",
"null"
@@ -10056,7 +9628,7 @@
"type": "boolean"
},
"default": {},
- "description": "The extensions that should be automatically installed by Zed.\n\nThis is used to make functionality provided by extensions (e.g., language support) available out-of-the-box.\n\nDefault: { \"html\": true }",
+ "description": "The extensions that should be automatically installed by Zed.\n\nThis is used to make functionality provided by extensions (e.g., language support)\navailable out-of-the-box.\n\nDefault: { \"html\": true }",
"type": "object"
},
"auto_signature_help": {
@@ -10067,9 +9639,13 @@
]
},
"auto_update": {
- "type": [
- "boolean",
- "null"
+ "anyOf": [
+ {
+ "$ref": "#/definitions/AutoUpdateSettingContent"
+ },
+ {
+ "type": "null"
+ }
]
},
"auto_update_extensions": {
@@ -10119,25 +9695,28 @@
"description": "Layout mode for the bottom dock\n\nDefault: contained"
},
"buffer_font_fallbacks": {
- "$ref": "#/definitions/FontFallbacks",
- "default": [],
+ "default": null,
"description": "The font fallbacks to use for rendering in text buffers.",
"items": {
- "type": "string"
+ "$ref": "#/definitions/FontFamilyName"
},
"type": [
"array",
"null"
- ]
+ ],
+ "uniqueItems": true
},
"buffer_font_family": {
- "$ref": "#/definitions/FontFamilies",
+ "anyOf": [
+ {
+ "$ref": "#/definitions/FontFamilyName"
+ },
+ {
+ "type": "null"
+ }
+ ],
"default": null,
- "description": "The name of a font to use for rendering in text buffers.",
- "type": [
- "string",
- "null"
- ]
+ "description": "The name of a font to use for rendering in text buffers."
},
"buffer_font_features": {
"anyOf": [
@@ -10182,6 +9761,8 @@
"description": "The buffer's line height."
},
"calls": {
+ "additionalProperties": false,
+ "description": "Configuration of voice calls in Zed.",
"properties": {
"mute_on_join": {
"description": "Whether the microphone should be muted when joining a channel or a call.\n\nDefault: false",
@@ -10212,6 +9793,7 @@
"description": "Centered layout related settings."
},
"chat_panel": {
+ "additionalProperties": false,
"properties": {
"button": {
"anyOf": [
@@ -10257,13 +9839,14 @@
"additionalProperties": {
"type": "boolean"
},
- "description": "Which code actions to run on save after the formatter. These are not run if formatting is off.\n\nDefault: {} (or {\"source.organizeImports\": true} for Go).",
+ "description": "Which code actions to run on save after the formatter.\nThese are not run if formatting is off.\n\nDefault: {} (or {\"source.organizeImports\": true} for Go).",
"type": [
"object",
"null"
]
},
"collaboration_panel": {
+ "additionalProperties": false,
"properties": {
"button": {
"description": "Whether to show the panel button in the status bar.\n\nDefault: true",
@@ -10298,7 +9881,7 @@
"additionalProperties": {
"type": "string"
},
- "description": "Aliases for the command palette. When you type a key in this map, it will be assumed to equal the value.\n\nDefault: true",
+ "description": "Aliases for the command palette. When you type a key in this map,\nit will be assumed to equal the value.\n\nDefault: true",
"type": [
"object",
"null"
@@ -10357,7 +9940,7 @@
"type": "null"
}
],
- "description": "Cursor shape for the default editor. Can be \"bar\", \"block\", \"underline\", or \"hollow\".\n\nDefault: None"
+ "description": "Cursor shape for the default editor.\nCan be \"bar\", \"block\", \"underline\", or \"hollow\".\n\nDefault: None"
},
"dap": {
"additionalProperties": {
@@ -10461,7 +10044,7 @@
}
],
"default": null,
- "description": "Which level to use to filter out diagnostics displayed in the editor.\n\nAffects the editor rendering only, and does not interrupt the functionality of diagnostics fetching and project diagnostics editor. Which files containing diagnostic errors/warnings to mark in the tabs. Diagnostics are only shown when file icons are also active.\n\nShows all diagnostics if not specified.\n\nDefault: warning"
+ "description": "Which level to use to filter out diagnostics displayed in the editor.\n\nAffects the editor rendering only, and does not interrupt\nthe functionality of diagnostics fetching and project diagnostics editor.\nWhich files containing diagnostic errors/warnings to mark in the tabs.\nDiagnostics are only shown when file icons are also active.\n\nShows all diagnostics if not specified.\n\nDefault: warning"
},
"double_click_in_multibuffer": {
"anyOf": [
@@ -10472,7 +10055,7 @@
"type": "null"
}
],
- "description": "What to do when multibuffer is double clicked in some of its excerpts (parts of singleton buffers).\n\nDefault: select"
+ "description": "What to do when multibuffer is double clicked in some of its excerpts\n(parts of singleton buffers).\n\nDefault: select"
},
"drag_and_drop_selection": {
"description": "Whether to allow drag and drop text selection in buffer.\n\nDefault: true",
@@ -10482,7 +10065,7 @@
]
},
"drop_target_size": {
- "description": "The size of the workspace split drop targets on the outer edges. Given as a fraction that will be multiplied by the smaller dimension of the workspace.\n\nDefault: `0.2` (20% of the smaller dimension of the workspace)",
+ "description": "The size of the workspace split drop targets on the outer edges.\nGiven as a fraction that will be multiplied by the smaller dimension of the workspace.\n\nDefault: `0.2` (20% of the smaller dimension of the workspace)",
"format": "float",
"type": [
"number",
@@ -10503,7 +10086,7 @@
},
"edit_predictions_disabled_in": {
"default": null,
- "description": "Controls whether edit predictions are shown in the given language scopes.\n\nExample: [\"string\", \"comment\"]\n\nDefault: []",
+ "description": "Controls whether edit predictions are shown in the given language\nscopes.\n\nExample: [\"string\", \"comment\"]\n\nDefault: []",
"items": {
"type": "string"
},
@@ -10522,7 +10105,7 @@
},
"ensure_final_newline_on_save": {
"default": null,
- "description": "Whether or not to ensure there's a single newline at the end of a buffer when saving it.\n\nDefault: true",
+ "description": "Whether or not to ensure there's a single newline at the end of a buffer\nwhen saving it.\n\nDefault: true",
"type": [
"boolean",
"null"
@@ -10558,7 +10141,7 @@
]
},
"fast_scroll_sensitivity": {
- "description": "Scroll sensitivity multiplier for fast scrolling. This multiplier is applied to both the horizontal and vertical delta values while scrolling. Fast scrolling happens when a user holds the alt or option key while scrolling.\n\nDefault: 4.0",
+ "description": "Scroll sensitivity multiplier for fast scrolling. This multiplier is applied\nto both the horizontal and vertical delta values while scrolling. Fast scrolling\nhappens when a user holds the alt or option key while scrolling.\n\nDefault: 4.0",
"format": "float",
"type": [
"number",
@@ -10594,7 +10177,7 @@
]
},
"include_ignored": {
- "description": "Whether to use gitignored files when searching. Only the file Zed had indexed will be used, not necessary all the gitignored files.\n\nCan accept 3 values: * `Some(true)`: Use all gitignored files * `Some(false)`: Use only the files Zed had indexed * `None`: Be smart and search for ignored when called from a gitignored worktree\n\nDefault: None",
+ "description": "Whether to use gitignored files when searching.\nOnly the file Zed had indexed will be used, not necessary all the gitignored files.\n\nCan accept 3 values:\n* `Some(true)`: Use all gitignored files\n* `Some(false)`: Use only the files Zed had indexed\n* `None`: Be smart and search for ignored when called from a gitignored worktree\n\nDefault: None",
"type": [
"boolean",
"null"
@@ -10623,7 +10206,7 @@
},
"file_scan_exclusions": {
"default": null,
- "description": "Completely ignore files matching globs from `file_scan_exclusions`. Overrides `file_scan_inclusions`.\n\nDefault: [ \"**/.git\", \"**/.svn\", \"**/.hg\", \"**/.jj\", \"**/CVS\", \"**/.DS_Store\", \"**/Thumbs.db\", \"**/.classpath\", \"**/.settings\" ]",
+ "description": "Completely ignore files matching globs from `file_scan_exclusions`. Overrides\n`file_scan_inclusions`.\n\nDefault: [\n \"**/.git\",\n \"**/.svn\",\n \"**/.hg\",\n \"**/.jj\",\n \"**/CVS\",\n \"**/.DS_Store\",\n \"**/Thumbs.db\",\n \"**/.classpath\",\n \"**/.settings\"\n]",
"items": {
"type": "string"
},
@@ -10634,7 +10217,7 @@
},
"file_scan_inclusions": {
"default": null,
- "description": "Always include files that match these globs when scanning for files, even if they're ignored by git. This setting is overridden by `file_scan_exclusions`. Default: [ \".env*\", \"docker-compose.*.yml\", ]",
+ "description": "Always include files that match these globs when scanning for files, even if they're\nignored by git. This setting is overridden by `file_scan_exclusions`.\nDefault: [\n \".env*\",\n \"docker-compose.*.yml\",\n]",
"items": {
"type": "string"
},
@@ -10651,7 +10234,7 @@
"type": "array"
},
"default": {},
- "description": "Settings for associating file extensions and filenames with languages.",
+ "description": "Settings for associating file extensions and filenames\nwith languages.",
"type": "object"
},
"format_on_save": {
@@ -10736,7 +10319,7 @@
"description": "Where to dock the panel.\n\nDefault: left"
},
"fallback_branch_name": {
- "description": "What the default branch name should be when `init.defaultBranch` is not set in git\n\nDefault: main",
+ "description": "What the default branch name should be when\n`init.defaultBranch` is not set in git\n\nDefault: main",
"type": [
"string",
"null"
@@ -10754,7 +10337,7 @@
"description": "How and when the scrollbar should be displayed.\n\nDefault: inherits editor scrollbar settings"
},
"sort_by_path": {
- "description": "Whether to sort entries in the panel by path or by status (the default).\n\nDefault: false",
+ "description": "Whether to sort entries in the panel by path\nor by status (the default).\n\nDefault: false",
"type": [
"boolean",
"null"
@@ -10794,7 +10377,7 @@
"type": "null"
}
],
- "description": "Whether to follow-up empty go to definition responses from the language server or not. `FindAllReferences` allows to look up references of the same symbol instead. `None` disables the fallback.\n\nDefault: FindAllReferences"
+ "description": "Whether to follow-up empty go to definition responses from the language server or not.\n`FindAllReferences` allows to look up references of the same symbol instead.\n`None` disables the fallback.\n\nDefault: FindAllReferences"
},
"gutter": {
"anyOf": [
@@ -10809,7 +10392,7 @@
},
"hard_tabs": {
"default": null,
- "description": "Whether to indent lines using tab characters, as opposed to multiple spaces.\n\nDefault: false",
+ "description": "Whether to indent lines using tab characters, as opposed to multiple\nspaces.\n\nDefault: false",
"type": [
"boolean",
"null"
@@ -10850,7 +10433,7 @@
]
},
"hover_popover_enabled": {
- "description": "Whether to show the informational hover box when moving the mouse over symbols in the editor.\n\nDefault: true",
+ "description": "Whether to show the informational hover box when moving the mouse\nover symbols in the editor.\n\nDefault: true",
"type": [
"boolean",
"null"
@@ -10869,6 +10452,7 @@
"description": "The name of the icon theme to use."
},
"image_viewer": {
+ "description": "The settings for the image viewer.",
"properties": {
"unit": {
"allOf": [
@@ -10914,6 +10498,7 @@
]
},
"journal": {
+ "description": "Settings specific to journaling",
"properties": {
"hour_format": {
"anyOf": [
@@ -10957,7 +10542,6 @@
"type": "null"
}
],
- "description": "Jupyter REPL settings.",
"properties": {
"kernel_selections": {
"additionalProperties": {
@@ -11089,7 +10673,7 @@
},
"language_servers": {
"default": null,
- "description": "The list of language servers to use (or disable) for this language.\n\nThis array should consist of language server IDs, as well as the following special tokens: - `\"!<language_server_id>\"` - A language server ID prefixed with a `!` will be disabled. - `\"...\"` - A placeholder to refer to the **rest** of the registered language servers for this language.\n\nDefault: [\"...\"]",
+ "description": "The list of language servers to use (or disable) for this language.\n\nThis array should consist of language server IDs, as well as the following\nspecial tokens:\n- `\"!<language_server_id>\"` - A language server ID prefixed with a `!` will be disabled.\n- `\"...\"` - A placeholder to refer to the **rest** of the registered language servers for this language.\n\nDefault: [\"...\"]",
"items": {
"type": "string"
},
@@ -11099,13 +10683,13 @@
]
},
"languages": {
- "$ref": "#/definitions/Languages",
- "additionalProperties": {
- "$ref": "#/definitions/LanguageSettingsContent"
- },
+ "allOf": [
+ {
+ "$ref": "#/definitions/LanguageToSettingsMap"
+ }
+ ],
"default": {},
- "description": "The settings for individual languages.",
- "type": "object"
+ "description": "The settings for individual languages."
},
"line_indicator_format": {
"anyOf": [
@@ -11118,7 +10702,7 @@
]
},
"linked_edits": {
- "description": "Whether to perform linked edits of associated ranges, if the language server supports it. For example, when editing opening <html> tag, the contents of the closing </html> tag will be edited as well.\n\nDefault: true",
+ "description": "Whether to perform linked edits of associated ranges, if the language server supports it.\nFor example, when editing opening <html> tag, the contents of the closing </html> tag will be edited as well.\n\nDefault: true",
"type": [
"boolean",
"null"
@@ -11134,6 +10718,9 @@
"description": "Configuration for how direnv configuration should be loaded"
},
"log": {
+ "additionalProperties": {
+ "type": "string"
+ },
"type": "object"
},
"lsp": {
@@ -11141,7 +10728,7 @@
"$ref": "#/definitions/LspSettings"
},
"default": {},
- "description": "Configuration for language servers.\n\nThe following settings can be overridden for specific language servers: - initialization_options\n\nTo override settings for a language, add an entry for that language server's name to the lsp value. Default: null",
+ "description": "Configuration for language servers.\n\nThe following settings can be overridden for specific language servers:\n- initialization_options\n\nTo override settings for a language, add an entry for that language server's\nname to the lsp value.\nDefault: null",
"type": "object"
},
"lsp_document_colors": {
@@ -11156,7 +10743,7 @@
"description": "How to render LSP `textDocument/documentColor` colors in the editor.\n\nDefault: [`DocumentColorsRenderMode::Inlay`]"
},
"lsp_highlight_debounce": {
- "description": "The debounce delay before querying highlights from the language server based on the current cursor location.\n\nDefault: 75",
+ "description": "The debounce delay before querying highlights from the language\nserver based on the current cursor location.\n\nDefault: 75",
"format": "uint64",
"minimum": 0,
"type": [
@@ -11165,7 +10752,7 @@
]
},
"max_tabs": {
- "description": "Maximum open tabs in a pane. Will not close an unsaved tab. Set to `None` for unlimited tabs.\n\nDefault: none",
+ "description": "Maximum open tabs in a pane. Will not close an unsaved\ntab. Set to `None` for unlimited tabs.\n\nDefault: none",
"format": "uint",
"minimum": 1,
"type": [
@@ -11174,9 +10761,10 @@
]
},
"message_editor": {
+ "additionalProperties": false,
"properties": {
"auto_replace_emoji_shortcode": {
- "description": "Whether to automatically replace emoji shortcodes with emoji characters. For example: typing `:wave:` gets replaced with `👋`.\n\nDefault: false",
+ "description": "Whether to automatically replace emoji shortcodes with emoji characters.\nFor example: typing `:wave:` gets replaced with `👋`.\n\nDefault: false",
"type": [
"boolean",
"null"
@@ -11228,6 +10816,7 @@
"description": "Configuration for Node-related features"
},
"notification_panel": {
+ "additionalProperties": false,
"properties": {
"button": {
"description": "Whether to show the panel button in the status bar.\n\nDefault: true",
@@ -11272,14 +10861,14 @@
"outline_panel": {
"properties": {
"auto_fold_dirs": {
- "description": "Whether to fold directories automatically when directory has only one directory inside.\n\nDefault: true",
+ "description": "Whether to fold directories automatically\nwhen directory has only one directory inside.\n\nDefault: true",
"type": [
"boolean",
"null"
]
},
"auto_reveal_entries": {
- "description": "Whether to reveal it in the outline panel automatically, when a corresponding project entry becomes active. Gitignored entries are never auto revealed.\n\nDefault: true",
+ "description": "Whether to reveal it in the outline panel automatically,\nwhen a corresponding project entry becomes active.\nGitignored entries are never auto revealed.\n\nDefault: true",
"type": [
"boolean",
"null"
@@ -11335,7 +10924,7 @@
"indent_guides": {
"anyOf": [
{
- "$ref": "#/definitions/IndentGuidesSettingsContent2"
+ "$ref": "#/definitions/IndentGuidesSettingsContent"
},
{
"type": "null"
@@ -11354,7 +10943,7 @@
"scrollbar": {
"anyOf": [
{
- "$ref": "#/definitions/ScrollbarSettingsContent3"
+ "$ref": "#/definitions/ScrollbarSettingsContent"
},
{
"type": "null"
@@ -11389,7 +10978,7 @@
},
"preferred_line_length": {
"default": null,
- "description": "The column at which to soft-wrap lines, for buffers where soft-wrap is enabled.\n\nDefault: 80",
+ "description": "The column at which to soft-wrap lines, for buffers where soft-wrap\nis enabled.\n\nDefault: 80",
"format": "uint32",
"minimum": 0,
"type": [
@@ -11407,7 +10996,7 @@
}
],
"default": null,
- "description": "Zed's Prettier integration settings. Allows to enable/disable formatting with Prettier and configure default Prettier, used when no project-level Prettier installation is found.\n\nDefault: off"
+ "description": "Zed's Prettier integration settings.\nAllows to enable/disable formatting with Prettier\nand configure default Prettier, used when no project-level Prettier installation is found.\n\nDefault: off"
},
"preview_tabs": {
"properties": {
@@ -11426,7 +11015,7 @@
]
},
"enabled": {
- "description": "Whether to show opened editors as preview tabs. Preview tabs do not stay open, are reused until explicitly set to be kept open opened (via double-click or editing) and show file names in italic.\n\nDefault: true",
+ "description": "Whether to show opened editors as preview tabs.\nPreview tabs do not stay open, are reused until explicitly set to be kept open opened (via double-click or editing) and show file names in italic.\n\nDefault: true",
"type": [
"boolean",
"null"
@@ -11436,7 +11025,7 @@
"type": "object"
},
"private_files": {
- "description": "Treat the files matching these globs as `.env` files. Default: [ \"**/.env*\" ]",
+ "description": "Treat the files matching these globs as `.env` files.\nDefault: [ \"**/.env*\" ]",
"items": {
"type": "string"
},
@@ -11448,14 +11037,14 @@
"project_panel": {
"properties": {
"auto_fold_dirs": {
- "description": "Whether to fold directories automatically when directory has only one directory inside.\n\nDefault: true",
+ "description": "Whether to fold directories automatically\nwhen directory has only one directory inside.\n\nDefault: true",
"type": [
"boolean",
"null"
]
},
"auto_reveal_entries": {
- "description": "Whether to reveal it in the project panel automatically, when a corresponding project entry becomes active. Gitignored entries are never auto revealed.\n\nDefault: true",
+ "description": "Whether to reveal it in the project panel automatically,\nwhen a corresponding project entry becomes active.\nGitignored entries are never auto revealed.\n\nDefault: true",
"type": [
"boolean",
"null"
@@ -11536,7 +11125,7 @@
"indent_guides": {
"anyOf": [
{
- "$ref": "#/definitions/IndentGuidesSettingsContent"
+ "$ref": "#/definitions/IndentGuidesSettingsContent2"
},
{
"type": "null"
@@ -11566,7 +11155,7 @@
"show_diagnostics": {
"anyOf": [
{
- "$ref": "#/definitions/ShowDiagnostics"
+ "$ref": "#/definitions/ShowDiagnostics2"
},
{
"type": "null"
@@ -11590,7 +11179,7 @@
]
},
"redact_private_values": {
- "description": "Hide the values of variables in `private` files, as defined by the private_files setting. This only changes the visual representation, the values are still present in the file and can be selected / copied / pasted\n\nDefault: false",
+ "description": "Hide the values of variables in `private` files, as defined by the\nprivate_files setting. This only changes the visual representation,\nthe values are still present in the file and can be selected / copied / pasted\n\nDefault: false",
"type": [
"boolean",
"null"
@@ -11605,7 +11194,7 @@
},
"remove_trailing_whitespace_on_save": {
"default": null,
- "description": "Whether or not to remove any trailing whitespace from lines of a buffer before saving it.\n\nDefault: true",
+ "description": "Whether or not to remove any trailing whitespace from lines of a buffer\nbefore saving it.\n\nDefault: true",
"type": [
"boolean",
"null"
@@ -11622,7 +11211,7 @@
]
},
"restore_on_file_reopen": {
- "description": "Whether to attempt to restore previous file's state when opening it again. The state is stored per pane. When disabled, defaults are applied instead of the state restoration.\n\nE.g. for editors, selections, folds and scroll positions are restored, if the same file is closed and, later, opened again in the same pane. When disabled, a single selection in the very beginning of the file, zero scroll position and no folds state is used as a default.\n\nDefault: true",
+ "description": "Whether to attempt to restore previous file's state when opening it again.\nThe state is stored per pane.\nWhen disabled, defaults are applied instead of the state restoration.\n\nE.g. for editors, selections, folds and scroll positions are restored, if the same file is closed and, later, opened again in the same pane.\nWhen disabled, a single selection in the very beginning of the file, zero scroll position and no folds state is used as a default.\n\nDefault: true",
"type": [
"boolean",
"null"
@@ -11637,7 +11226,7 @@
"type": "null"
}
],
- "description": "Controls previous session restoration in freshly launched Zed instance. Values: none, last_workspace, last_session Default: last_session"
+ "description": "Controls previous session restoration in freshly launched Zed instance.\nValues: none, last_workspace, last_session\nDefault: last_session"
},
"scroll_beyond_last_line": {
"anyOf": [
@@ -11651,7 +11240,7 @@
"description": "Whether the editor will scroll beyond the last line.\n\nDefault: one_page"
},
"scroll_sensitivity": {
- "description": "Scroll sensitivity multiplier. This multiplier is applied to both the horizontal and vertical delta values while scrolling.\n\nDefault: 1.0",
+ "description": "Scroll sensitivity multiplier. This multiplier is applied\nto both the horizontal and vertical delta values while scrolling.\n\nDefault: 1.0",
"format": "float",
"type": [
"number",
@@ -11730,14 +11319,14 @@
]
},
"show_completion_documentation": {
- "description": "Whether to display inline and alongside documentation for items in the completions menu.\n\nDefault: true",
+ "description": "Whether to display inline and alongside documentation for items in the\ncompletions menu.\n\nDefault: true",
"type": [
"boolean",
"null"
]
},
"show_completions_on_input": {
- "description": "Whether to pop the completions menu while typing in an editor without explicitly requesting it.\n\nDefault: true",
+ "description": "Whether to pop the completions menu while typing in an editor without\nexplicitly requesting it.\n\nDefault: true",
"type": [
"boolean",
"null"
@@ -11745,7 +11334,7 @@
},
"show_edit_predictions": {
"default": null,
- "description": "Controls whether edit predictions are shown immediately (true) or manually by triggering `editor::ShowEditPrediction` (false).\n\nDefault: true",
+ "description": "Controls whether edit predictions are shown immediately (true)\nor manually by triggering `editor::ShowEditPrediction` (false).\n\nDefault: true",
"type": [
"boolean",
"null"
@@ -11772,13 +11361,14 @@
},
"show_wrap_guides": {
"default": null,
- "description": "Whether to show wrap guides in the editor. Setting this to true will show a guide at the 'preferred_line_length' value if softwrap is set to 'preferred_line_length', and will show any additional guides as specified by the 'wrap_guides' setting.\n\nDefault: true",
+ "description": "Whether to show wrap guides in the editor. Setting this to true will\nshow a guide at the 'preferred_line_length' value if softwrap is set to\n'preferred_line_length', and will show any additional guides as specified\nby the 'wrap_guides' setting.\n\nDefault: true",
"type": [
"boolean",
"null"
]
},
"slash_commands": {
+ "description": "Settings for slash commands.",
"properties": {
"cargo_workspace": {
"allOf": [
@@ -11925,13 +11515,13 @@
"show_diagnostics": {
"anyOf": [
{
- "$ref": "#/definitions/ShowDiagnostics2"
+ "$ref": "#/definitions/ShowDiagnostics"
},
{
"type": "null"
}
],
- "description": "Which files containing diagnostic errors/warnings to mark in the tabs. This setting can take the following three values:\n\nDefault: off"
+ "description": "Which files containing diagnostic errors/warnings to mark in the tabs.\nThis setting can take the following three values:\n\nDefault: off"
}
},
"type": "object"
@@ -11948,6 +11538,7 @@
"description": "Task configuration for this language.\n\nDefault: {}"
},
"telemetry": {
+ "description": "Control what info is collected by Zed.",
"properties": {
"diagnostics": {
"description": "Send debug info like crash reports.\n\nDefault: true",
@@ -11977,7 +11568,7 @@
"type": "null"
}
],
- "description": "Sets whether Alternate Scroll mode (code: ?1007) is active by default. Alternate Scroll mode converts mouse scroll events into up / down key presses when in the alternate screen (e.g. when running applications like vim or less). The terminal can still set and unset this mode.\n\nDefault: on"
+ "description": "Sets whether Alternate Scroll mode (code: ?1007) is active by default.\nAlternate Scroll mode converts mouse scroll events into up / down key\npresses when in the alternate screen (e.g. when running applications\nlike vim or less). The terminal can still set and unset this mode.\n\nDefault: on"
},
"blinking": {
"anyOf": [
@@ -11998,7 +11589,7 @@
]
},
"copy_on_select": {
- "description": "Whether or not selecting text in the terminal will automatically copy to the system clipboard.\n\nDefault: false",
+ "description": "Whether or not selecting text in the terminal will automatically\ncopy to the system clipboard.\n\nDefault: false",
"type": [
"boolean",
"null"
@@ -12013,7 +11604,7 @@
"type": "null"
}
],
- "description": "Default cursor shape for the terminal. Can be \"bar\", \"block\", \"underline\", or \"hollow\".\n\nDefault: None"
+ "description": "Default cursor shape for the terminal.\nCan be \"bar\", \"block\", \"underline\", or \"hollow\".\n\nDefault: None"
},
"default_height": {
"description": "Default height when the terminal is docked to the bottom.\n\nDefault: 320",
@@ -12040,7 +11631,7 @@
"type": "null"
}
],
- "description": "Activates the python virtual environment, if one is found, in the terminal's working directory (as resolved by the working_directory setting). Set this to \"off\" to disable this behavior.\n\nDefault: on"
+ "description": "Activates the python virtual environment, if one is found, in the\nterminal's working directory (as resolved by the working_directory\nsetting). Set this to \"off\" to disable this behavior.\n\nDefault: on"
},
"dock": {
"anyOf": [
@@ -12056,30 +11647,33 @@
"additionalProperties": {
"type": "string"
},
- "description": "Any key-value pairs added to this list will be added to the terminal's environment. Use `:` to separate multiple values.\n\nDefault: {}",
+ "description": "Any key-value pairs added to this list will be added to the terminal's\nenvironment. Use `:` to separate multiple values.\n\nDefault: {}",
"type": [
"object",
"null"
]
},
"font_fallbacks": {
- "$ref": "#/definitions/FontFallbacks",
- "description": "Sets the terminal's font fallbacks.\n\nIf this option is not included, the terminal will default to matching the buffer's font fallbacks.",
+ "description": "Sets the terminal's font fallbacks.\n\nIf this option is not included,\nthe terminal will default to matching the buffer's font fallbacks.",
"items": {
- "type": "string"
+ "$ref": "#/definitions/FontFamilyName"
},
"type": [
"array",
"null"
- ]
+ ],
+ "uniqueItems": true
},
"font_family": {
- "$ref": "#/definitions/FontFamilies",
- "description": "Sets the terminal's font family.\n\nIf this option is not included, the terminal will default to matching the buffer's font family.",
- "type": [
- "string",
- "null"
- ]
+ "anyOf": [
+ {
+ "$ref": "#/definitions/FontFamilyName"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Sets the terminal's font family.\n\nIf this option is not included,\nthe terminal will default to matching the buffer's font family."
},
"font_features": {
"anyOf": [
@@ -12092,7 +11686,7 @@
]
},
"font_size": {
- "description": "Sets the terminal's font size.\n\nIf this option is not included, the terminal will default to matching the buffer's font size.",
+ "description": "Sets the terminal's font size.\n\nIf this option is not included,\nthe terminal will default to matching the buffer's font size.",
"format": "float",
"type": [
"number",
@@ -12119,7 +11713,7 @@
"description": "Sets the terminal's line height.\n\nDefault: comfortable"
},
"max_scroll_history_lines": {
- "description": "The maximum number of lines to keep in the scrollback history. Maximum allowed value is 100_000, all values above that will be treated as 100_000. 0 disables the scrolling. Existing terminals will not pick up this change until they are recreated. See <a href=\"https://github.com/alacritty/alacritty/blob/cb3a79dbf6472740daca8440d5166c1d4af5029e/extra/man/alacritty.5.scd?plain=1#L207-L213\">Alacritty documentation</a> for more information.\n\nDefault: 10_000",
+ "description": "The maximum number of lines to keep in the scrollback history.\nMaximum allowed value is 100_000, all values above that will be treated as 100_000.\n0 disables the scrolling.\nExisting terminals will not pick up this change until they are recreated.\nSee <a href=\"https://github.com/alacritty/alacritty/blob/cb3a79dbf6472740daca8440d5166c1d4af5029e/extra/man/alacritty.5.scd?plain=1#L207-L213\">Alacritty documentation</a> for more information.\n\nDefault: 10_000",
"format": "uint",
"minimum": 0,
"type": [
@@ -12137,7 +11731,7 @@
"scrollbar": {
"anyOf": [
{
- "$ref": "#/definitions/ScrollbarSettingsContent"
+ "$ref": "#/definitions/ScrollbarSettingsContent3"
},
{
"type": "null"
@@ -12252,25 +11846,28 @@
"description": "Toolbar related settings"
},
"ui_font_fallbacks": {
- "$ref": "#/definitions/FontFallbacks",
"default": [],
"description": "The font fallbacks to use for rendering in the UI.",
"items": {
- "type": "string"
+ "$ref": "#/definitions/FontFamilyName"
},
"type": [
"array",
"null"
- ]
+ ],
+ "uniqueItems": true
},
"ui_font_family": {
- "$ref": "#/definitions/FontFamilies",
+ "anyOf": [
+ {
+ "$ref": "#/definitions/FontFamilyName"
+ },
+ {
+ "type": "null"
+ }
+ ],
"default": null,
- "description": "The name of a font to use for rendering in the UI.",
- "type": [
- "string",
- "null"
- ]
+ "description": "The name of a font to use for rendering in the UI."
},
"ui_font_features": {
"anyOf": [
@@ -12324,21 +11921,21 @@
"description": "UNSTABLE: Expect many elements to be broken."
},
"use_auto_surround": {
- "description": "Whether to automatically surround text with characters for you. For example, when you select text and type (, Zed will automatically surround text with ().\n\nDefault: true",
+ "description": "Whether to automatically surround text with characters for you. For example,\nwhen you select text and type (, Zed will automatically surround text with ().\n\nDefault: true",
"type": [
"boolean",
"null"
]
},
"use_autoclose": {
- "description": "Whether to automatically type closing characters for you. For example, when you type (, Zed will automatically add a closing ) at the correct position.\n\nDefault: true",
+ "description": "Whether to automatically type closing characters for you. For example,\nwhen you type (, Zed will automatically add a closing ) at the correct position.\n\nDefault: true",
"type": [
"boolean",
"null"
]
},
"use_on_type_format": {
- "description": "Whether to use additional LSP queries to format (and amend) the code after every \"trigger\" symbol input, defined by LSP server capabilities.\n\nDefault: true",
+ "description": "Whether to use additional LSP queries to format (and amend) the code after\nevery \"trigger\" symbol input, defined by LSP server capabilities.\n\nDefault: true",
"type": [
"boolean",
"null"
@@ -12351,14 +11948,14 @@
]
},
"use_system_path_prompts": {
- "description": "Whether to use the system provided dialogs for Open and Save As. When set to false, Zed will use the built-in keyboard-first pickers.\n\nDefault: true",
+ "description": "Whether to use the system provided dialogs for Open and Save As.\nWhen set to false, Zed will use the built-in keyboard-first pickers.\n\nDefault: true",
"type": [
"boolean",
"null"
]
},
"use_system_prompts": {
- "description": "Whether to use the system provided prompts. When set to false, Zed will use the built-in prompts. Note that this setting has no effect on Linux, where Zed will always use the built-in prompts.\n\nDefault: true",
+ "description": "Whether to use the system provided prompts.\nWhen set to false, Zed will use the built-in prompts.\nNote that this setting has no effect on Linux, where Zed will always\nuse the built-in prompts.\n\nDefault: true",
"type": [
"boolean",
"null"
@@ -12602,7 +12199,14 @@
{
"properties": {
"customize_tools": {
- "$ref": "#/definitions/AgentProfileId",
+ "anyOf": [
+ {
+ "$ref": "#/definitions/AgentProfileId"
+ },
+ {
+ "type": "null"
+ }
+ ],
"default": null
}
},
@@ -12629,7 +12233,14 @@
{
"properties": {
"from_thread_id": {
- "$ref": "#/definitions/ThreadId",
+ "anyOf": [
+ {
+ "$ref": "#/definitions/ThreadId"
+ },
+ {
+ "type": "null"
+ }
+ ],
"default": null
}
},
@@ -12817,7 +12428,10 @@
"additionalProperties": false,
"properties": {
"prompt": {
- "type": "string"
+ "type": [
+ "string",
+ "null"
+ ]
}
},
"type": "object"
@@ -13370,7 +12984,10 @@
"default": null,
"format": "uint",
"minimum": 0,
- "type": "integer"
+ "type": [
+ "integer",
+ "null"
+ ]
}
},
"type": "object"
@@ -13396,7 +13013,10 @@
"default": null,
"format": "uint",
"minimum": 0,
- "type": "integer"
+ "type": [
+ "integer",
+ "null"
+ ]
}
},
"type": "object"
@@ -13422,7 +13042,10 @@
"default": null,
"format": "uint",
"minimum": 0,
- "type": "integer"
+ "type": [
+ "integer",
+ "null"
+ ]
}
},
"type": "object"
@@ -14614,7 +14237,10 @@
"properties": {
"trigger": {
"default": null,
- "type": "string"
+ "type": [
+ "string",
+ "null"
+ ]
}
},
"type": "object"
@@ -14661,7 +14287,11 @@
"additionalProperties": false,
"properties": {
"reveal": {
- "$ref": "#/definitions/RevealStrategy",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RevealStrategy"
+ }
+ ],
"default": "always"
}
},
@@ -15099,7 +14729,10 @@
"items": {
"type": "string"
},
- "type": "array"
+ "type": [
+ "array",
+ "null"
+ ]
}
},
"type": "object"
@@ -15323,7 +14956,14 @@
"type": "boolean"
},
"save_intent": {
- "$ref": "#/definitions/SaveIntent"
+ "anyOf": [
+ {
+ "$ref": "#/definitions/SaveIntent"
+ },
+ {
+ "type": "null"
+ }
+ ]
}
},
"type": "object"
@@ -15350,7 +14990,14 @@
"type": "boolean"
},
"save_intent": {
- "$ref": "#/definitions/SaveIntent"
+ "anyOf": [
+ {
+ "$ref": "#/definitions/SaveIntent"
+ },
+ {
+ "type": "null"
+ }
+ ]
}
},
"type": "object"
@@ -15401,7 +15048,14 @@
"type": "boolean"
},
"save_intent": {
- "$ref": "#/definitions/SaveIntent"
+ "anyOf": [
+ {
+ "$ref": "#/definitions/SaveIntent"
+ },
+ {
+ "type": "null"
+ }
+ ]
}
},
"type": "object"
@@ -15473,11 +15127,17 @@
"properties": {
"excluded_files": {
"default": null,
- "type": "string"
+ "type": [
+ "string",
+ "null"
+ ]
},
"included_files": {
"default": null,
- "type": "string"
+ "type": [
+ "string",
+ "null"
+ ]
},
"replace_enabled": {
"default": false,
@@ -15587,18 +15247,18 @@
},
{
"const": "picker::ConfirmInput",
- "description": "ConfirmInput is an alternative editor action which - instead of selecting active picker entry - treats pickers editor input literally, performing some kind of action on it.",
+ "description": "ConfirmInput is an alternative editor action which - instead of selecting active picker entry - treats pickers editor input literally,\nperforming some kind of action on it.",
"type": "string"
},
{
"items": [
{
"const": "picker::ConfirmInput",
- "description": "ConfirmInput is an alternative editor action which - instead of selecting active picker entry - treats pickers editor input literally, performing some kind of action on it."
+ "description": "ConfirmInput is an alternative editor action which - instead of selecting active picker entry - treats pickers editor input literally,\nperforming some kind of action on it."
},
{
"additionalProperties": false,
- "description": "ConfirmInput is an alternative editor action which - instead of selecting active picker entry - treats pickers editor input literally, performing some kind of action on it.",
+ "description": "ConfirmInput is an alternative editor action which - instead of selecting active picker entry - treats pickers editor input literally,\nperforming some kind of action on it.",
"properties": {
"secondary": {
"type": "boolean"
@@ -16029,18 +15689,24 @@
"properties": {
"allow_concurrent_runs": {
"default": null,
- "description": "Overrides `allow_concurrent_runs` property of the task being reran. Default: null",
- "type": "boolean"
+ "description": "Overrides `allow_concurrent_runs` property of the task being reran.\nDefault: null",
+ "type": [
+ "boolean",
+ "null"
+ ]
},
"reevaluate_context": {
"default": false,
- "description": "Controls whether the task context is reevaluated prior to execution of a task. If it is not, environment variables such as ZED_COLUMN, ZED_FILE are gonna be the same as in the last execution of a task If it is, these variables will be updated to reflect current state of editor at the time task::Rerun is executed. default: false",
+ "description": "Controls whether the task context is reevaluated prior to execution of a task.\nIf it is not, environment variables such as ZED_COLUMN, ZED_FILE are gonna be the same as in the last execution of a task\nIf it is, these variables will be updated to reflect current state of editor at the time task::Rerun is executed.\ndefault: false",
"type": "boolean"
},
"use_new_terminal": {
"default": null,
- "description": "Overrides `use_new_terminal` property of the task being reran. Default: null",
- "type": "boolean"
+ "description": "Overrides `use_new_terminal` property of the task being reran.\nDefault: null",
+ "type": [
+ "boolean",
+ "null"
+ ]
}
},
"type": "object"
@@ -16067,7 +15733,14 @@
"description": "Spawns a task by the name given.",
"properties": {
"reveal_target": {
- "$ref": "#/definitions/RevealTarget",
+ "anyOf": [
+ {
+ "$ref": "#/definitions/RevealTarget"
+ },
+ {
+ "type": "null"
+ }
+ ],
"default": null
},
"task_name": {
@@ -16083,7 +15756,14 @@
"description": "Spawns a task by the name given.",
"properties": {
"reveal_target": {
- "$ref": "#/definitions/RevealTarget",
+ "anyOf": [
+ {
+ "$ref": "#/definitions/RevealTarget"
+ },
+ {
+ "type": "null"
+ }
+ ],
"default": null
},
"task_tag": {
@@ -16099,7 +15779,14 @@
"description": "Spawns a task via modal's selection.",
"properties": {
"reveal_target": {
- "$ref": "#/definitions/RevealTarget",
+ "anyOf": [
+ {
+ "$ref": "#/definitions/RevealTarget"
+ },
+ {
+ "type": "null"
+ }
+ ],
"default": null,
"description": "Selected task's `reveal_target` property override."
}
@@ -16225,7 +15912,10 @@
"items": {
"type": "string"
},
- "type": "array"
+ "type": [
+ "array",
+ "null"
+ ]
}
},
"type": "object"
@@ -16508,8 +16198,8 @@
}
},
"required": [
- "backwards",
- "query"
+ "query",
+ "backwards"
],
"type": "object"
}
@@ -16953,17 +16643,17 @@
},
{
"const": "vim::Number",
- "description": "Number is used to manage vim's count. Pushing a digit multiplies the current value by 10 and adds the digit.",
+ "description": "Number is used to manage vim's count. Pushing a digit\nmultiplies the current value by 10 and adds the digit.",
"type": "string"
},
{
"items": [
{
"const": "vim::Number",
- "description": "Number is used to manage vim's count. Pushing a digit multiplies the current value by 10 and adds the digit."
+ "description": "Number is used to manage vim's count. Pushing a digit\nmultiplies the current value by 10 and adds the digit."
},
{
- "description": "Number is used to manage vim's count. Pushing a digit multiplies the current value by 10 and adds the digit.",
+ "description": "Number is used to manage vim's count. Pushing a digit\nmultiplies the current value by 10 and adds the digit.",
"format": "uint",
"minimum": 0,
"type": "integer"
@@ -17190,7 +16880,14 @@
"additionalProperties": false,
"properties": {
"target": {
- "$ref": "#/definitions/Object"
+ "anyOf": [
+ {
+ "$ref": "#/definitions/Object"
+ },
+ {
+ "type": "null"
+ }
+ ]
}
},
"type": "object"
@@ -17223,7 +16920,10 @@
"first_char": {
"maxLength": 1,
"minLength": 1,
- "type": "string"
+ "type": [
+ "string",
+ "null"
+ ]
}
},
"type": "object"
@@ -17340,7 +17040,10 @@
"additionalProperties": false,
"properties": {
"prefix": {
- "type": "string"
+ "type": [
+ "string",
+ "null"
+ ]
}
},
"type": "object"
@@ -17443,7 +17146,10 @@
"first_char": {
"maxLength": 1,
"minLength": 1,
- "type": "string"
+ "type": [
+ "string",
+ "null"
+ ]
}
},
"type": "object"
@@ -17468,7 +17174,10 @@
"first_char": {
"maxLength": 1,
"minLength": 1,
- "type": "string"
+ "type": [
+ "string",
+ "null"
+ ]
}
},
"type": "object"
@@ -18052,7 +17761,14 @@
"additionalProperties": false,
"properties": {
"save_intent": {
- "$ref": "#/definitions/SaveIntent"
+ "anyOf": [
+ {
+ "$ref": "#/definitions/SaveIntent"
+ },
+ {
+ "type": "null"
+ }
+ ]
}
},
"type": "object"
@@ -18075,7 +17791,14 @@
"additionalProperties": false,
"properties": {
"save_intent": {
- "$ref": "#/definitions/SaveIntent"
+ "anyOf": [
+ {
+ "$ref": "#/definitions/SaveIntent"
+ },
+ {
+ "type": "null"
+ }
+ ]
}
},
"type": "object"
@@ -18262,7 +17985,10 @@
"additionalProperties": false,
"properties": {
"binary_path": {
- "type": "string"
+ "type": [
+ "string",
+ "null"
+ ]
}
},
"type": "object"
@@ -18293,7 +18019,14 @@
"additionalProperties": false,
"properties": {
"save_intent": {
- "$ref": "#/definitions/SaveIntent"
+ "anyOf": [
+ {
+ "$ref": "#/definitions/SaveIntent"
+ },
+ {
+ "type": "null"
+ }
+ ]
}
},
"type": "object"
@@ -18316,7 +18049,14 @@
"additionalProperties": false,
"properties": {
"save_intent": {
- "$ref": "#/definitions/SaveIntent"
+ "anyOf": [
+ {
+ "$ref": "#/definitions/SaveIntent"
+ },
+ {
+ "type": "null"
+ }
+ ]
}
},
"type": "object"
@@ -18485,7 +18225,14 @@
{
"properties": {
"category_filter": {
- "$ref": "#/definitions/ExtensionCategoryFilter",
+ "anyOf": [
+ {
+ "$ref": "#/definitions/ExtensionCategoryFilter"
+ },
+ {
+ "type": "null"
+ }
+ ],
"description": "Filters the extensions page down to extensions that are in the specified category."
}
},
@@ -18844,17 +18591,20 @@
"additionalProperties": {
"$ref": "#/definitions/KeymapAction"
},
- "description": "This keymap section's bindings, as a JSON object mapping keystrokes to actions. The keystrokes key is a string representing a sequence of keystrokes to type, where the keystrokes are separated by whitespace. Each keystroke is a sequence of modifiers (`ctrl`, `alt`, `shift`, `fn`, `cmd`, `super`, or `win`) followed by a key, separated by `-`. The order of bindings does matter. When the same keystrokes are bound at the same context depth, the binding that occurs later in the file is preferred. For displaying keystrokes in the UI, the later binding for the same action is preferred.",
- "type": "object"
+ "description": "This keymap section's bindings, as a JSON object mapping keystrokes to actions. The\nkeystrokes key is a string representing a sequence of keystrokes to type, where the\nkeystrokes are separated by whitespace. Each keystroke is a sequence of modifiers (`ctrl`,\n`alt`, `shift`, `fn`, `cmd`, `super`, or `win`) followed by a key, separated by `-`. The\norder of bindings does matter. When the same keystrokes are bound at the same context depth,\nthe binding that occurs later in the file is preferred. For displaying keystrokes in the UI,\nthe later binding for the same action is preferred.",
+ "type": [
+ "object",
+ "null"
+ ]
},
"context": {
"default": "",
- "description": "Determines when these bindings are active. When just a name is provided, like `Editor` or `Workspace`, the bindings will be active in that context. Boolean expressions like `X && Y`, `X || Y`, `!X` are also supported. Some more complex logic including checking OS and the current file extension are also supported - see [the documentation](https://zed.dev/docs/key-bindings#contexts) for more details.",
+ "description": "Determines when these bindings are active. When just a name is provided, like `Editor` or\n`Workspace`, the bindings will be active in that context. Boolean expressions like `X && Y`,\n`X || Y`, `!X` are also supported. Some more complex logic including checking OS and the\ncurrent file extension are also supported - see [the\ndocumentation](https://zed.dev/docs/key-bindings#contexts) for more details.",
"type": "string"
},
"use_key_equivalents": {
"default": false,
- "description": "This option enables specifying keys based on their position on a QWERTY keyboard, by using position-equivalent mappings for some non-QWERTY keyboards. This is currently only supported on macOS. See the documentation for more details.",
+ "description": "This option enables specifying keys based on their position on a QWERTY keyboard, by using\nposition-equivalent mappings for some non-QWERTY keyboards. This is currently only supported\non macOS. See the documentation for more details.",
"type": "boolean"
}
},
@@ -18953,24 +18703,18 @@
"description": "What to do with the terminal pane and tab, after the command was started.",
"oneOf": [
{
+ "const": "always",
"description": "Always show the task's pane, and focus the corresponding tab in it.",
- "enum": [
- "always"
- ],
"type": "string"
},
{
+ "const": "no_focus",
"description": "Always show the task's pane, add the task's tab in it, but don't focus it.",
- "enum": [
- "no_focus"
- ],
"type": "string"
},
{
+ "const": "never",
"description": "Do not alter focus, but still add/reuse the task's tab in its pane.",
- "enum": [
- "never"
- ],
"type": "string"
}
]
@@ -18979,17 +18723,13 @@
"description": "Where to spawn the task in the UI.",
"oneOf": [
{
+ "const": "center",
"description": "In the central pane group, \"main\" editor area.",
- "enum": [
- "center"
- ],
"type": "string"
},
{
+ "const": "dock",
"description": "In the terminal dock, \"regular\" terminal items' place.",
- "enum": [
- "dock"
- ],
"type": "string"
}
]
@@ -18997,52 +18737,38 @@
"SaveIntent": {
"oneOf": [
{
- "description": "write all files (even if unchanged) prompt before overwriting on-disk changes",
- "enum": [
- "save"
- ],
+ "const": "save",
+ "description": "write all files (even if unchanged)\nprompt before overwriting on-disk changes",
"type": "string"
},
{
+ "const": "save_without_format",
"description": "same as Save, but without auto formatting",
- "enum": [
- "save_without_format"
- ],
"type": "string"
},
{
- "description": "write any files that have local changes prompt before overwriting on-disk changes",
- "enum": [
- "save_all"
- ],
+ "const": "save_all",
+ "description": "write any files that have local changes\nprompt before overwriting on-disk changes",
"type": "string"
},
{
+ "const": "save_as",
"description": "always prompt for a new path",
- "enum": [
- "save_as"
- ],
"type": "string"
},
{
+ "const": "close",
"description": "prompt \"you have unsaved changes\" before writing",
- "enum": [
- "close"
- ],
"type": "string"
},
{
+ "const": "overwrite",
"description": "write all dirty files, don't prompt on conflict",
- "enum": [
- "overwrite"
- ],
"type": "string"
},
{
+ "const": "skip",
"description": "skip all save-related behavior",
- "enum": [
- "skip"
- ],
"type": "string"
}
]
@@ -19060,10 +18786,11 @@
"type": "string"
}
},
+ "description": "Keymap configuration consisting of sections. Each section may have a context predicate which\ndetermines whether its bindings are used.",
"items": {
"$ref": "#/definitions/KeymapSection"
},
- "title": "Array_of_KeymapSection",
+ "title": "KeymapFile",
"type": "array"
}
},
@@ -19079,24 +18806,18 @@
"description": "What to do with the terminal pane and tab, after the command has finished.",
"oneOf": [
{
+ "const": "never",
"description": "Do nothing when the command finishes.",
- "enum": [
- "never"
- ],
"type": "string"
},
{
+ "const": "always",
"description": "Always hide the terminal tab, hide the pane also if it was the last tab in it.",
- "enum": [
- "always"
- ],
"type": "string"
},
{
+ "const": "on_success",
"description": "Hide the terminal tab on task success only, otherwise behaves similar to `Always`.",
- "enum": [
- "on_success"
- ],
"type": "string"
}
]
@@ -19105,24 +18826,18 @@
"description": "What to do with the terminal pane and tab, after the command was started.",
"oneOf": [
{
+ "const": "always",
"description": "Always show the task's pane, and focus the corresponding tab in it.",
- "enum": [
- "always"
- ],
"type": "string"
},
{
+ "const": "no_focus",
"description": "Always show the task's pane, add the task's tab in it, but don't focus it.",
- "enum": [
- "no_focus"
- ],
"type": "string"
},
{
+ "const": "never",
"description": "Do not alter focus, but still add/reuse the task's tab in its pane.",
- "enum": [
- "never"
- ],
"type": "string"
}
]
@@ -19131,17 +18846,13 @@
"description": "Where to spawn the task in the UI.",
"oneOf": [
{
+ "const": "center",
"description": "In the central pane group, \"main\" editor area.",
- "enum": [
- "center"
- ],
"type": "string"
},
{
+ "const": "dock",
"description": "In the terminal dock, \"regular\" terminal items' place.",
- "enum": [
- "dock"
- ],
"type": "string"
}
]
@@ -19150,10 +18861,8 @@
"description": "Shell configuration to open the terminal with.",
"oneOf": [
{
+ "const": "system",
"description": "Use the system's default terminal configuration in /etc/passwd",
- "enum": [
- "system"
- ],
"type": "string"
},
{
@@ -19187,17 +18896,16 @@
"type": "string"
},
"title_override": {
- "allOf": [
- {
- "$ref": "#/definitions/String"
- }
- ],
- "description": "An optional string to override the title of the terminal tab"
+ "description": "An optional string to override the title of the terminal tab",
+ "type": [
+ "string",
+ "null"
+ ]
}
},
"required": [
- "args",
- "program"
+ "program",
+ "args"
],
"type": "object"
}
@@ -19209,11 +18917,8 @@
}
]
},
- "String": {
- "type": "string"
- },
"TaskTemplate": {
- "description": "A template definition of a Zed task to run. May use the [`VariableName`] to get the corresponding substitutions into its fields.\n\nTemplate itself is not ready to spawn a task, it needs to be resolved with a [`TaskContext`] first, that contains all relevant Zed state in task variables. A single template may produce different tasks (or none) for different contexts.",
+ "description": "A template definition of a Zed task to run.\nMay use the [`VariableName`] to get the corresponding substitutions into its fields.\n\nTemplate itself is not ready to spawn a task, it needs to be resolved with a [`TaskContext`] first, that\ncontains all relevant Zed state in task variables.\nA single template may produce different tasks (or none) for different contexts.",
"properties": {
"allow_concurrent_runs": {
"default": false,
@@ -19235,7 +18940,10 @@
"cwd": {
"default": null,
"description": "Current working directory to spawn the command into, defaults to current project root.",
- "type": "string"
+ "type": [
+ "string",
+ "null"
+ ]
},
"env": {
"additionalProperties": {
@@ -19252,7 +18960,7 @@
}
],
"default": "never",
- "description": "What to do with the terminal pane and tab, after the command had finished: * `never` — do nothing when the command finishes (default) * `always` — always hide the terminal tab, hide the pane also if it was the last tab in it * `on_success` — hide the terminal tab on task success only, otherwise behaves similar to `always`."
+ "description": "What to do with the terminal pane and tab, after the command had finished:\n* `never` — do nothing when the command finishes (default)\n* `always` — always hide the terminal tab, hide the pane also if it was the last tab in it\n* `on_success` — hide the terminal tab on task success only, otherwise behaves similar to `always`."
},
"label": {
"description": "Human readable name of the task to display in the UI.",
@@ -19265,7 +18973,7 @@
}
],
"default": "always",
- "description": "What to do with the terminal pane and tab, after the command was started: * `always` — always show the task's pane, and focus the corresponding tab in it (default)"
+ "description": "What to do with the terminal pane and tab, after the command was started:\n* `always` — always show the task's pane, and focus the corresponding tab in it (default)"
},
"reveal_target": {
"allOf": [
@@ -19274,7 +18982,7 @@
}
],
"default": "dock",
- "description": "Where to place the task's terminal item after starting the task. * `dock` — in the terminal dock, \"regular\" terminal items' place (default). * `center` — in the central pane group, \"main\" editor area."
+ "description": "Where to place the task's terminal item after starting the task.\n* `dock` — in the terminal dock, \"regular\" terminal items' place (default).\n* `center` — in the central pane group, \"main\" editor area."
},
"shell": {
"allOf": [
@@ -19297,14 +19005,12 @@
},
"tags": {
"default": [],
- "description": "Represents the tags which this template attaches to. Adding this removes this task from other UI and gives you ability to run it by tag.",
- "format": "vec-of-non-empty-strings",
+ "description": "Represents the tags which this template attaches to.\nAdding this removes this task from other UI and gives you ability to run it by tag.",
"items": {
- "minLength": 1,
"type": "string"
},
- "type": "array",
- "uniqueItems": true
+ "minItems": 1,
+ "type": "array"
},
"use_new_terminal": {
"default": false,
@@ -19313,8 +19019,8 @@
}
},
"required": [
- "command",
- "label"
+ "label",
+ "command"
],
"type": "object"
}
@@ -19361,17 +19067,23 @@
"description": "The snippet content. Use `$1` and `${1:defaultText}` to define cursor positions and `$0` for final cursor position."
},
"description": {
- "allOf": [
+ "anyOf": [
{
"$ref": "#/definitions/ListOrDirect"
+ },
+ {
+ "type": "null"
}
],
"description": "The snippet description displayed inside the completion menu."
},
"prefix": {
- "allOf": [
+ "anyOf": [
{
"$ref": "#/definitions/ListOrDirect"
+ },
+ {
+ "type": "null"
}
],
"description": "The snippet prefix used to decide whether a completion menu should be shown."
@@ -19383,7 +19095,8 @@
"type": "object"
}
},
- "title": "VsSnippetsFile"
+ "title": "VsSnippetsFile",
+ "type": "object"
}
},
{
@@ -19398,24 +19111,18 @@
"description": "What to do with the terminal pane and tab, after the command has finished.",
"oneOf": [
{
+ "const": "never",
"description": "Do nothing when the command finishes.",
- "enum": [
- "never"
- ],
"type": "string"
},
{
+ "const": "always",
"description": "Always hide the terminal tab, hide the pane also if it was the last tab in it.",
- "enum": [
- "always"
- ],
"type": "string"
},
{
+ "const": "on_success",
"description": "Hide the terminal tab on task success only, otherwise behaves similar to `Always`.",
- "enum": [
- "on_success"
- ],
"type": "string"
}
]
@@ -19424,24 +19131,18 @@
"description": "What to do with the terminal pane and tab, after the command was started.",
"oneOf": [
{
+ "const": "always",
"description": "Always show the task's pane, and focus the corresponding tab in it.",
- "enum": [
- "always"
- ],
"type": "string"
},
{
+ "const": "no_focus",
"description": "Always show the task's pane, add the task's tab in it, but don't focus it.",
- "enum": [
- "no_focus"
- ],
"type": "string"
},
{
+ "const": "never",
"description": "Do not alter focus, but still add/reuse the task's tab in its pane.",
- "enum": [
- "never"
- ],
"type": "string"
}
]
@@ -19450,17 +19151,13 @@
"description": "Where to spawn the task in the UI.",
"oneOf": [
{
+ "const": "center",
"description": "In the central pane group, \"main\" editor area.",
- "enum": [
- "center"
- ],
"type": "string"
},
{
+ "const": "dock",
"description": "In the terminal dock, \"regular\" terminal items' place.",
- "enum": [
- "dock"
- ],
"type": "string"
}
]
@@ -19469,10 +19166,8 @@
"description": "Shell configuration to open the terminal with.",
"oneOf": [
{
+ "const": "system",
"description": "Use the system's default terminal configuration in /etc/passwd",
- "enum": [
- "system"
- ],
"type": "string"
},
{
@@ -19506,20 +19201,16 @@
"type": "string"
},
"title_override": {
- "anyOf": [
- {
- "$ref": "#/definitions/String"
- },
- {
- "type": "null"
- }
- ],
- "description": "An optional string to override the title of the terminal tab"
+ "description": "An optional string to override the title of the terminal tab",
+ "type": [
+ "string",
+ "null"
+ ]
}
},
"required": [
- "args",
- "program"
+ "program",
+ "args"
],
"type": "object"
}
@@ -19530,9 +19221,6 @@
"type": "object"
}
]
- },
- "String": {
- "type": "string"
}
},
"description": "Configuration for debug scenarios",
@@ -21284,10 +20972,10 @@
"$schema": "http://json-schema.org/draft-07/schema#",
"anyOf": [
{
- "$ref": "#/definitions/String"
+ "type": "string"
},
{
- "description": "A template definition of a Zed task to run. May use the [`VariableName`] to get the corresponding substitutions into its fields.\n\nTemplate itself is not ready to spawn a task, it needs to be resolved with a [`TaskContext`] first, that contains all relevant Zed state in task variables. A single template may produce different tasks (or none) for different contexts.",
+ "description": "A template definition of a Zed task to run.\nMay use the [`VariableName`] to get the corresponding substitutions into its fields.\n\nTemplate itself is not ready to spawn a task, it needs to be resolved with a [`TaskContext`] first, that\ncontains all relevant Zed state in task variables.\nA single template may produce different tasks (or none) for different contexts.",
"properties": {
"allow_concurrent_runs": {
"default": false,
@@ -21329,7 +21017,7 @@
}
],
"default": "never",
- "description": "What to do with the terminal pane and tab, after the command had finished: * `never` — do nothing when the command finishes (default) * `always` — always hide the terminal tab, hide the pane also if it was the last tab in it * `on_success` — hide the terminal tab on task success only, otherwise behaves similar to `always`."
+ "description": "What to do with the terminal pane and tab, after the command had finished:\n* `never` — do nothing when the command finishes (default)\n* `always` — always hide the terminal tab, hide the pane also if it was the last tab in it\n* `on_success` — hide the terminal tab on task success only, otherwise behaves similar to `always`."
},
"reveal": {
"allOf": [
@@ -21338,7 +21026,7 @@
}
],
"default": "always",
- "description": "What to do with the terminal pane and tab, after the command was started: * `always` — always show the task's pane, and focus the corresponding tab in it (default)"
+ "description": "What to do with the terminal pane and tab, after the command was started:\n* `always` — always show the task's pane, and focus the corresponding tab in it (default)"
},
"reveal_target": {
"allOf": [
@@ -21347,7 +21035,7 @@
}
],
"default": "dock",
- "description": "Where to place the task's terminal item after starting the task. * `dock` — in the terminal dock, \"regular\" terminal items' place (default). * `center` — in the central pane group, \"main\" editor area."
+ "description": "Where to place the task's terminal item after starting the task.\n* `dock` — in the terminal dock, \"regular\" terminal items' place (default).\n* `center` — in the central pane group, \"main\" editor area."
},
"shell": {
"allOf": [
@@ -21370,14 +21058,12 @@
},
"tags": {
"default": [],
- "description": "Represents the tags which this template attaches to. Adding this removes this task from other UI and gives you ability to run it by tag.",
- "format": "vec-of-non-empty-strings",
+ "description": "Represents the tags which this template attaches to.\nAdding this removes this task from other UI and gives you ability to run it by tag.",
"items": {
- "minLength": 1,
"type": "string"
},
- "type": "array",
- "uniqueItems": true
+ "minItems": 1,
+ "type": "array"
},
"use_new_terminal": {
"default": false,
@@ -21396,24 +21082,18 @@
"description": "What to do with the terminal pane and tab, after the command has finished.",
"oneOf": [
{
+ "const": "never",
"description": "Do nothing when the command finishes.",
- "enum": [
- "never"
- ],
"type": "string"
},
{
+ "const": "always",
"description": "Always hide the terminal tab, hide the pane also if it was the last tab in it.",
- "enum": [
- "always"
- ],
"type": "string"
},
{
+ "const": "on_success",
"description": "Hide the terminal tab on task success only, otherwise behaves similar to `Always`.",
- "enum": [
- "on_success"
- ],
"type": "string"
}
]
@@ -21422,24 +21102,18 @@
"description": "What to do with the terminal pane and tab, after the command was started.",
"oneOf": [
{
+ "const": "always",
"description": "Always show the task's pane, and focus the corresponding tab in it.",
- "enum": [
- "always"
- ],
"type": "string"
},
{
+ "const": "no_focus",
"description": "Always show the task's pane, add the task's tab in it, but don't focus it.",
- "enum": [
- "no_focus"
- ],
"type": "string"
},
{
+ "const": "never",
"description": "Do not alter focus, but still add/reuse the task's tab in its pane.",
- "enum": [
- "never"
- ],
"type": "string"
}
]
@@ -21448,17 +21122,13 @@
"description": "Where to spawn the task in the UI.",
"oneOf": [
{
+ "const": "center",
"description": "In the central pane group, \"main\" editor area.",
- "enum": [
- "center"
- ],
"type": "string"
},
{
+ "const": "dock",
"description": "In the terminal dock, \"regular\" terminal items' place.",
- "enum": [
- "dock"
- ],
"type": "string"
}
]
@@ -21467,10 +21137,8 @@
"description": "Shell configuration to open the terminal with.",
"oneOf": [
{
+ "const": "system",
"description": "Use the system's default terminal configuration in /etc/passwd",
- "enum": [
- "system"
- ],
"type": "string"
},
{
@@ -21504,20 +21172,16 @@
"type": "string"
},
"title_override": {
- "anyOf": [
- {
- "$ref": "#/definitions/String"
- },
- {
- "type": "null"
- }
- ],
- "description": "An optional string to override the title of the terminal tab"
+ "description": "An optional string to override the title of the terminal tab",
+ "type": [
+ "string",
+ "null"
+ ]
}
},
"required": [
- "args",
- "program"
+ "program",
+ "args"
],
"type": "object"
}
@@ -21528,9 +21192,6 @@
"type": "object"
}
]
- },
- "String": {
- "type": "string"
}
},
"title": "BuildTaskDefinition"
@@ -21581,123 +21242,91 @@
"type": "string"
},
"AlignContent": {
- "description": "Sets the distribution of space between and around content items For Flexbox it controls alignment in the cross axis For Grid it controls alignment in the block axis\n\n[MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/align-content)",
+ "description": "Sets the distribution of space between and around content items\nFor Flexbox it controls alignment in the cross axis\nFor Grid it controls alignment in the block axis\n\n[MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/align-content)",
"oneOf": [
{
+ "const": "Start",
"description": "Items are packed toward the start of the axis",
- "enum": [
- "Start"
- ],
"type": "string"
},
{
+ "const": "End",
"description": "Items are packed toward the end of the axis",
- "enum": [
- "End"
- ],
"type": "string"
},
{
- "description": "Items are packed towards the flex-relative start of the axis.\n\nFor flex containers with flex_direction RowReverse or ColumnReverse this is equivalent to End. In all other cases it is equivalent to Start.",
- "enum": [
- "FlexStart"
- ],
+ "const": "FlexStart",
+ "description": "Items are packed towards the flex-relative start of the axis.\n\nFor flex containers with flex_direction RowReverse or ColumnReverse this is equivalent\nto End. In all other cases it is equivalent to Start.",
"type": "string"
},
{
- "description": "Items are packed towards the flex-relative end of the axis.\n\nFor flex containers with flex_direction RowReverse or ColumnReverse this is equivalent to Start. In all other cases it is equivalent to End.",
- "enum": [
- "FlexEnd"
- ],
+ "const": "FlexEnd",
+ "description": "Items are packed towards the flex-relative end of the axis.\n\nFor flex containers with flex_direction RowReverse or ColumnReverse this is equivalent\nto Start. In all other cases it is equivalent to End.",
"type": "string"
},
{
+ "const": "Center",
"description": "Items are centered around the middle of the axis",
- "enum": [
- "Center"
- ],
"type": "string"
},
{
+ "const": "Stretch",
"description": "Items are stretched to fill the container",
- "enum": [
- "Stretch"
- ],
"type": "string"
},
{
- "description": "The first and last items are aligned flush with the edges of the container (no gap) The gap between items is distributed evenly.",
- "enum": [
- "SpaceBetween"
- ],
+ "const": "SpaceBetween",
+ "description": "The first and last items are aligned flush with the edges of the container (no gap)\nThe gap between items is distributed evenly.",
"type": "string"
},
{
- "description": "The gap between the first and last items is exactly THE SAME as the gap between items. The gaps are distributed evenly",
- "enum": [
- "SpaceEvenly"
- ],
+ "const": "SpaceEvenly",
+ "description": "The gap between the first and last items is exactly THE SAME as the gap between items.\nThe gaps are distributed evenly",
"type": "string"
},
{
- "description": "The gap between the first and last items is exactly HALF the gap between items. The gaps are distributed evenly in proportion to these ratios.",
- "enum": [
- "SpaceAround"
- ],
+ "const": "SpaceAround",
+ "description": "The gap between the first and last items is exactly HALF the gap between items.\nThe gaps are distributed evenly in proportion to these ratios.",
"type": "string"
}
]
},
"AlignItems": {
- "description": "Used to control how child nodes are aligned. For Flexbox it controls alignment in the cross axis For Grid it controls alignment in the block axis\n\n[MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/align-items)",
+ "description": "Used to control how child nodes are aligned.\nFor Flexbox it controls alignment in the cross axis\nFor Grid it controls alignment in the block axis\n\n[MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/align-items)",
"oneOf": [
{
+ "const": "Start",
"description": "Items are packed toward the start of the axis",
- "enum": [
- "Start"
- ],
"type": "string"
},
{
+ "const": "End",
"description": "Items are packed toward the end of the axis",
- "enum": [
- "End"
- ],
"type": "string"
},
{
- "description": "Items are packed towards the flex-relative start of the axis.\n\nFor flex containers with flex_direction RowReverse or ColumnReverse this is equivalent to End. In all other cases it is equivalent to Start.",
- "enum": [
- "FlexStart"
- ],
+ "const": "FlexStart",
+ "description": "Items are packed towards the flex-relative start of the axis.\n\nFor flex containers with flex_direction RowReverse or ColumnReverse this is equivalent\nto End. In all other cases it is equivalent to Start.",
"type": "string"
},
{
- "description": "Items are packed towards the flex-relative end of the axis.\n\nFor flex containers with flex_direction RowReverse or ColumnReverse this is equivalent to Start. In all other cases it is equivalent to End.",
- "enum": [
- "FlexEnd"
- ],
+ "const": "FlexEnd",
+ "description": "Items are packed towards the flex-relative end of the axis.\n\nFor flex containers with flex_direction RowReverse or ColumnReverse this is equivalent\nto Start. In all other cases it is equivalent to End.",
"type": "string"
},
{
+ "const": "Center",
"description": "Items are packed along the center of the cross axis",
- "enum": [
- "Center"
- ],
"type": "string"
},
{
+ "const": "Baseline",
"description": "Items are aligned such as their baselines align",
- "enum": [
- "Baseline"
- ],
"type": "string"
},
{
+ "const": "Stretch",
"description": "Stretch to fill the container",
- "enum": [
- "Stretch"
- ],
"type": "string"
}
]
@@ -21734,12 +21363,12 @@
}
},
"required": [
+ "tag",
"color_space",
- "colors",
- "gradient_angle_or_pattern_height",
- "pad",
"solid",
- "tag"
+ "gradient_angle_or_pattern_height",
+ "colors",
+ "pad"
],
"type": "object"
},
@@ -21755,17 +21384,13 @@
"description": "The style of a border.",
"oneOf": [
{
+ "const": "Solid",
"description": "A solid border.",
- "enum": [
- "Solid"
- ],
"type": "string"
},
{
+ "const": "Dashed",
"description": "A dashed border.",
- "enum": [
- "Dashed"
- ],
"type": "string"
}
]
@@ -21792,7 +21417,7 @@
"offset": {
"allOf": [
{
- "$ref": "#/definitions/Point_for_Pixels"
+ "$ref": "#/definitions/Point"
}
],
"description": "How should it be offset from its element?"
@@ -21807,46 +21432,70 @@
}
},
"required": [
- "blur_radius",
"color",
"offset",
+ "blur_radius",
"spread_radius"
],
"type": "object"
},
"ColorSpace": {
- "description": "A color space for color interpolation.\n\nReferences: - <https://developer.mozilla.org/en-US/docs/Web/CSS/color-interpolation-method> - <https://www.w3.org/TR/css-color-4/#typedef-color-space>",
+ "description": "A color space for color interpolation.\n\nReferences:\n- <https://developer.mozilla.org/en-US/docs/Web/CSS/color-interpolation-method>\n- <https://www.w3.org/TR/css-color-4/#typedef-color-space>",
"oneOf": [
{
+ "const": "Srgb",
"description": "The sRGB color space.",
- "enum": [
- "Srgb"
- ],
"type": "string"
},
{
+ "const": "Oklab",
"description": "The Oklab color space.",
- "enum": [
- "Oklab"
- ],
"type": "string"
}
]
},
- "CornersRefinement_for_AbsoluteLength": {
+ "CornersRefinement": {
"description": "A refinable version of [`#ident`], see that documentation for details.",
"properties": {
"bottom_left": {
- "$ref": "#/definitions/AbsoluteLength"
+ "anyOf": [
+ {
+ "$ref": "#/definitions/AbsoluteLength"
+ },
+ {
+ "type": "null"
+ }
+ ]
},
"bottom_right": {
- "$ref": "#/definitions/AbsoluteLength"
+ "anyOf": [
+ {
+ "$ref": "#/definitions/AbsoluteLength"
+ },
+ {
+ "type": "null"
+ }
+ ]
},
"top_left": {
- "$ref": "#/definitions/AbsoluteLength"
+ "anyOf": [
+ {
+ "$ref": "#/definitions/AbsoluteLength"
+ },
+ {
+ "type": "null"
+ }
+ ]
},
"top_right": {
- "$ref": "#/definitions/AbsoluteLength"
+ "anyOf": [
+ {
+ "$ref": "#/definitions/AbsoluteLength"
+ },
+ {
+ "type": "null"
+ }
+ ]
}
},
"type": "object"
@@ -21855,157 +21504,113 @@
"description": "The style of the cursor (pointer)",
"oneOf": [
{
+ "const": "Arrow",
"description": "The default cursor",
- "enum": [
- "Arrow"
- ],
"type": "string"
},
{
- "description": "A text input cursor corresponds to the CSS cursor value `text`",
- "enum": [
- "IBeam"
- ],
+ "const": "IBeam",
+ "description": "A text input cursor\ncorresponds to the CSS cursor value `text`",
"type": "string"
},
{
- "description": "A crosshair cursor corresponds to the CSS cursor value `crosshair`",
- "enum": [
- "Crosshair"
- ],
+ "const": "Crosshair",
+ "description": "A crosshair cursor\ncorresponds to the CSS cursor value `crosshair`",
"type": "string"
},
{
- "description": "A closed hand cursor corresponds to the CSS cursor value `grabbing`",
- "enum": [
- "ClosedHand"
- ],
+ "const": "ClosedHand",
+ "description": "A closed hand cursor\ncorresponds to the CSS cursor value `grabbing`",
"type": "string"
},
{
- "description": "An open hand cursor corresponds to the CSS cursor value `grab`",
- "enum": [
- "OpenHand"
- ],
+ "const": "OpenHand",
+ "description": "An open hand cursor\ncorresponds to the CSS cursor value `grab`",
"type": "string"
},
{
- "description": "A pointing hand cursor corresponds to the CSS cursor value `pointer`",
- "enum": [
- "PointingHand"
- ],
+ "const": "PointingHand",
+ "description": "A pointing hand cursor\ncorresponds to the CSS cursor value `pointer`",
"type": "string"
},
{
- "description": "A resize left cursor corresponds to the CSS cursor value `w-resize`",
- "enum": [
- "ResizeLeft"
- ],
+ "const": "ResizeLeft",
+ "description": "A resize left cursor\ncorresponds to the CSS cursor value `w-resize`",
"type": "string"
},
{
- "description": "A resize right cursor corresponds to the CSS cursor value `e-resize`",
- "enum": [
- "ResizeRight"
- ],
+ "const": "ResizeRight",
+ "description": "A resize right cursor\ncorresponds to the CSS cursor value `e-resize`",
"type": "string"
},
{
- "description": "A resize cursor to the left and right corresponds to the CSS cursor value `ew-resize`",
- "enum": [
- "ResizeLeftRight"
- ],
+ "const": "ResizeLeftRight",
+ "description": "A resize cursor to the left and right\ncorresponds to the CSS cursor value `ew-resize`",
"type": "string"
},
{
- "description": "A resize up cursor corresponds to the CSS cursor value `n-resize`",
- "enum": [
- "ResizeUp"
- ],
+ "const": "ResizeUp",
+ "description": "A resize up cursor\ncorresponds to the CSS cursor value `n-resize`",
"type": "string"
},
{
- "description": "A resize down cursor corresponds to the CSS cursor value `s-resize`",
- "enum": [
- "ResizeDown"
- ],
+ "const": "ResizeDown",
+ "description": "A resize down cursor\ncorresponds to the CSS cursor value `s-resize`",
"type": "string"
},
{
- "description": "A resize cursor directing up and down corresponds to the CSS cursor value `ns-resize`",
- "enum": [
- "ResizeUpDown"
- ],
+ "const": "ResizeUpDown",
+ "description": "A resize cursor directing up and down\ncorresponds to the CSS cursor value `ns-resize`",
"type": "string"
},
{
- "description": "A resize cursor directing up-left and down-right corresponds to the CSS cursor value `nesw-resize`",
- "enum": [
- "ResizeUpLeftDownRight"
- ],
+ "const": "ResizeUpLeftDownRight",
+ "description": "A resize cursor directing up-left and down-right\ncorresponds to the CSS cursor value `nesw-resize`",
"type": "string"
},
{
- "description": "A resize cursor directing up-right and down-left corresponds to the CSS cursor value `nwse-resize`",
- "enum": [
- "ResizeUpRightDownLeft"
- ],
+ "const": "ResizeUpRightDownLeft",
+ "description": "A resize cursor directing up-right and down-left\ncorresponds to the CSS cursor value `nwse-resize`",
"type": "string"
},
{
- "description": "A cursor indicating that the item/column can be resized horizontally. corresponds to the CSS cursor value `col-resize`",
- "enum": [
- "ResizeColumn"
- ],
+ "const": "ResizeColumn",
+ "description": "A cursor indicating that the item/column can be resized horizontally.\ncorresponds to the CSS cursor value `col-resize`",
"type": "string"
},
{
- "description": "A cursor indicating that the item/row can be resized vertically. corresponds to the CSS cursor value `row-resize`",
- "enum": [
- "ResizeRow"
- ],
+ "const": "ResizeRow",
+ "description": "A cursor indicating that the item/row can be resized vertically.\ncorresponds to the CSS cursor value `row-resize`",
"type": "string"
},
{
- "description": "A text input cursor for vertical layout corresponds to the CSS cursor value `vertical-text`",
- "enum": [
- "IBeamCursorForVerticalLayout"
- ],
+ "const": "IBeamCursorForVerticalLayout",
+ "description": "A text input cursor for vertical layout\ncorresponds to the CSS cursor value `vertical-text`",
"type": "string"
},
{
- "description": "A cursor indicating that the operation is not allowed corresponds to the CSS cursor value `not-allowed`",
- "enum": [
- "OperationNotAllowed"
- ],
+ "const": "OperationNotAllowed",
+ "description": "A cursor indicating that the operation is not allowed\ncorresponds to the CSS cursor value `not-allowed`",
"type": "string"
},
{
- "description": "A cursor indicating that the operation will result in a link corresponds to the CSS cursor value `alias`",
- "enum": [
- "DragLink"
- ],
+ "const": "DragLink",
+ "description": "A cursor indicating that the operation will result in a link\ncorresponds to the CSS cursor value `alias`",
"type": "string"
},
{
- "description": "A cursor indicating that the operation will result in a copy corresponds to the CSS cursor value `copy`",
- "enum": [
- "DragCopy"
- ],
+ "const": "DragCopy",
+ "description": "A cursor indicating that the operation will result in a copy\ncorresponds to the CSS cursor value `copy`",
"type": "string"
},
{
- "description": "A cursor indicating that the operation will result in a context menu corresponds to the CSS cursor value `context-menu`",
- "enum": [
- "ContextualMenu"
- ],
+ "const": "ContextualMenu",
+ "description": "A cursor indicating that the operation will result in a context menu\ncorresponds to the CSS cursor value `context-menu`",
"type": "string"
},
{
+ "const": "None",
"description": "Hide the cursor",
- "enum": [
- "None"
- ],
"type": "string"
}
]
@@ -22018,85 +21623,161 @@
"description": "Sets the layout used for the children of this node\n\nThe default values depends on on which feature flags are enabled. The order of precedence is: Flex, Grid, Block, None.",
"oneOf": [
{
+ "const": "Block",
"description": "The children will follow the block layout algorithm",
- "enum": [
- "Block"
- ],
"type": "string"
},
{
+ "const": "Flex",
"description": "The children will follow the flexbox layout algorithm",
- "enum": [
- "Flex"
- ],
"type": "string"
},
{
+ "const": "Grid",
"description": "The children will follow the CSS Grid layout algorithm",
- "enum": [
- "Grid"
- ],
"type": "string"
},
{
+ "const": "None",
"description": "The children will not be laid out, and will follow absolute positioning",
- "enum": [
- "None"
- ],
"type": "string"
}
]
},
- "EdgesRefinement_for_AbsoluteLength": {
+ "EdgesRefinement": {
"description": "A refinable version of [`#ident`], see that documentation for details.",
"properties": {
"bottom": {
- "$ref": "#/definitions/AbsoluteLength"
+ "anyOf": [
+ {
+ "$ref": "#/definitions/Length"
+ },
+ {
+ "type": "null"
+ }
+ ]
},
"left": {
- "$ref": "#/definitions/AbsoluteLength"
+ "anyOf": [
+ {
+ "$ref": "#/definitions/Length"
+ },
+ {
+ "type": "null"
+ }
+ ]
},
"right": {
- "$ref": "#/definitions/AbsoluteLength"
+ "anyOf": [
+ {
+ "$ref": "#/definitions/Length"
+ },
+ {
+ "type": "null"
+ }
+ ]
},
"top": {
- "$ref": "#/definitions/AbsoluteLength"
+ "anyOf": [
+ {
+ "$ref": "#/definitions/Length"
+ },
+ {
+ "type": "null"
+ }
+ ]
}
},
"type": "object"
},
- "EdgesRefinement_for_DefiniteLength": {
+ "EdgesRefinement2": {
"description": "A refinable version of [`#ident`], see that documentation for details.",
"properties": {
"bottom": {
- "$ref": "#/definitions/DefiniteLength"
+ "anyOf": [
+ {
+ "$ref": "#/definitions/DefiniteLength"
+ },
+ {
+ "type": "null"
+ }
+ ]
},
"left": {
- "$ref": "#/definitions/DefiniteLength"
+ "anyOf": [
+ {
+ "$ref": "#/definitions/DefiniteLength"
+ },
+ {
+ "type": "null"
+ }
+ ]
},
"right": {
- "$ref": "#/definitions/DefiniteLength"
+ "anyOf": [
+ {
+ "$ref": "#/definitions/DefiniteLength"
+ },
+ {
+ "type": "null"
+ }
+ ]
},
"top": {
- "$ref": "#/definitions/DefiniteLength"
+ "anyOf": [
+ {
+ "$ref": "#/definitions/DefiniteLength"
+ },
+ {
+ "type": "null"
+ }
+ ]
}
},
"type": "object"
},
- "EdgesRefinement_for_Length": {
+ "EdgesRefinement3": {
"description": "A refinable version of [`#ident`], see that documentation for details.",
"properties": {
"bottom": {
- "$ref": "#/definitions/Length"
+ "anyOf": [
+ {
+ "$ref": "#/definitions/AbsoluteLength"
+ },
+ {
+ "type": "null"
+ }
+ ]
},
"left": {
- "$ref": "#/definitions/Length"
+ "anyOf": [
+ {
+ "$ref": "#/definitions/AbsoluteLength"
+ },
+ {
+ "type": "null"
+ }
+ ]
},
"right": {
- "$ref": "#/definitions/Length"
+ "anyOf": [
+ {
+ "$ref": "#/definitions/AbsoluteLength"
+ },
+ {
+ "type": "null"
+ }
+ ]
},
"top": {
- "$ref": "#/definitions/Length"
+ "anyOf": [
+ {
+ "$ref": "#/definitions/AbsoluteLength"
+ },
+ {
+ "type": "null"
+ }
+ ]
}
},
"type": "object"
@@ -22120,34 +21801,26 @@
]
},
"FlexDirection": {
- "description": "The direction of the flexbox layout main axis.\n\nThere are always two perpendicular layout axes: main (or primary) and cross (or secondary). Adding items will cause them to be positioned adjacent to each other along the main axis. By varying this value throughout your tree, you can create complex axis-aligned layouts.\n\nItems are always aligned relative to the cross axis, and justified relative to the main axis.\n\nThe default behavior is [`FlexDirection::Row`].\n\n[Specification](https://www.w3.org/TR/css-flexbox-1/#flex-direction-property)",
+ "description": "The direction of the flexbox layout main axis.\n\nThere are always two perpendicular layout axes: main (or primary) and cross (or secondary).\nAdding items will cause them to be positioned adjacent to each other along the main axis.\nBy varying this value throughout your tree, you can create complex axis-aligned layouts.\n\nItems are always aligned relative to the cross axis, and justified relative to the main axis.\n\nThe default behavior is [`FlexDirection::Row`].\n\n[Specification](https://www.w3.org/TR/css-flexbox-1/#flex-direction-property)",
"oneOf": [
{
+ "const": "Row",
"description": "Defines +x as the main axis\n\nItems will be added from left to right in a row.",
- "enum": [
- "Row"
- ],
"type": "string"
},
{
+ "const": "Column",
"description": "Defines +y as the main axis\n\nItems will be added from top to bottom in a column.",
- "enum": [
- "Column"
- ],
"type": "string"
},
{
+ "const": "RowReverse",
"description": "Defines -x as the main axis\n\nItems will be added from right to left in a row.",
- "enum": [
- "RowReverse"
- ],
"type": "string"
},
{
+ "const": "ColumnReverse",
"description": "Defines -y as the main axis\n\nItems will be added from bottom to top in a column.",
- "enum": [
- "ColumnReverse"
- ],
"type": "string"
}
]
@@ -22156,30 +21829,24 @@
"description": "Controls whether flex items are forced onto one line or can wrap onto multiple lines.\n\nDefaults to [`FlexWrap::NoWrap`]\n\n[Specification](https://www.w3.org/TR/css-flexbox-1/#flex-wrap-property)",
"oneOf": [
{
+ "const": "NoWrap",
"description": "Items will not wrap and stay on a single line",
- "enum": [
- "NoWrap"
- ],
"type": "string"
},
{
+ "const": "Wrap",
"description": "Items will wrap according to this item's [`FlexDirection`]",
- "enum": [
- "Wrap"
- ],
"type": "string"
},
{
+ "const": "WrapReverse",
"description": "Items will wrap in the opposite direction to this item's [`FlexDirection`]",
- "enum": [
- "WrapReverse"
- ],
"type": "string"
}
]
},
"FontFallbacks": {
- "description": "The fallback fonts that can be configured for a given font. Fallback fonts family names are stored here.",
+ "description": "The fallback fonts that can be configured for a given font.\nFallback fonts family names are stored here.",
"items": {
"type": "string"
},
@@ -22202,30 +21869,24 @@
"description": "Allows italic or oblique faces to be selected.",
"oneOf": [
{
+ "const": "Normal",
"description": "A face that is neither italic not obliqued.",
- "enum": [
- "Normal"
- ],
"type": "string"
},
{
+ "const": "Italic",
"description": "A form that is generally cursive in nature.",
- "enum": [
- "Italic"
- ],
"type": "string"
},
{
+ "const": "Oblique",
"description": "A typically-sloped version of the regular face.",
- "enum": [
- "Oblique"
- ],
"type": "string"
}
]
},
"FontWeight": {
- "description": "The degree of blackness or stroke thickness of a font. This value ranges from 100.0 to 900.0, with 400.0 as normal.",
+ "description": "The degree of blackness or stroke thickness of a font. This value ranges from 100.0 to 900.0,\nwith 400.0 as normal.",
"format": "float",
"type": "number"
},
@@ -22257,57 +21918,37 @@
"type": "object"
},
"Overflow": {
- "description": "How children overflowing their container should affect layout\n\nIn CSS the primary effect of this property is to control whether contents of a parent container that overflow that container should be displayed anyway, be clipped, or trigger the container to become a scroll container. However it also has secondary effects on layout, the main ones being:\n\n- The automatic minimum size Flexbox/CSS Grid items with non-`Visible` overflow is `0` rather than being content based - `Overflow::Scroll` nodes have space in the layout reserved for a scrollbar (width controlled by the `scrollbar_width` property)\n\nIn Taffy, we only implement the layout related secondary effects as we are not concerned with drawing/painting. The amount of space reserved for a scrollbar is controlled by the `scrollbar_width` property. If this is `0` then `Scroll` behaves identically to `Hidden`.\n\n<https://developer.mozilla.org/en-US/docs/Web/CSS/overflow>",
+ "description": "How children overflowing their container should affect layout\n\nIn CSS the primary effect of this property is to control whether contents of a parent container that overflow that container should\nbe displayed anyway, be clipped, or trigger the container to become a scroll container. However it also has secondary effects on layout,\nthe main ones being:\n\n - The automatic minimum size Flexbox/CSS Grid items with non-`Visible` overflow is `0` rather than being content based\n - `Overflow::Scroll` nodes have space in the layout reserved for a scrollbar (width controlled by the `scrollbar_width` property)\n\nIn Taffy, we only implement the layout related secondary effects as we are not concerned with drawing/painting. The amount of space reserved for\na scrollbar is controlled by the `scrollbar_width` property. If this is `0` then `Scroll` behaves identically to `Hidden`.\n\n<https://developer.mozilla.org/en-US/docs/Web/CSS/overflow>",
"oneOf": [
{
- "description": "The automatic minimum size of this node as a flexbox/grid item should be based on the size of its content. Content that overflows this node *should* contribute to the scroll region of its parent.",
- "enum": [
- "Visible"
- ],
+ "const": "Visible",
+ "description": "The automatic minimum size of this node as a flexbox/grid item should be based on the size of its content.\nContent that overflows this node *should* contribute to the scroll region of its parent.",
"type": "string"
},
{
- "description": "The automatic minimum size of this node as a flexbox/grid item should be based on the size of its content. Content that overflows this node should *not* contribute to the scroll region of its parent.",
- "enum": [
- "Clip"
- ],
+ "const": "Clip",
+ "description": "The automatic minimum size of this node as a flexbox/grid item should be based on the size of its content.\nContent that overflows this node should *not* contribute to the scroll region of its parent.",
"type": "string"
},
{
- "description": "The automatic minimum size of this node as a flexbox/grid item should be `0`. Content that overflows this node should *not* contribute to the scroll region of its parent.",
- "enum": [
- "Hidden"
- ],
+ "const": "Hidden",
+ "description": "The automatic minimum size of this node as a flexbox/grid item should be `0`.\nContent that overflows this node should *not* contribute to the scroll region of its parent.",
"type": "string"
},
{
- "description": "The automatic minimum size of this node as a flexbox/grid item should be `0`. Additionally, space should be reserved for a scrollbar. The amount of space reserved is controlled by the `scrollbar_width` property. Content that overflows this node should *not* contribute to the scroll region of its parent.",
- "enum": [
- "Scroll"
- ],
+ "const": "Scroll",
+ "description": "The automatic minimum size of this node as a flexbox/grid item should be `0`. Additionally, space should be reserved\nfor a scrollbar. The amount of space reserved is controlled by the `scrollbar_width` property.\nContent that overflows this node should *not* contribute to the scroll region of its parent.",
"type": "string"
}
]
},
"Pixels": {
- "description": "Represents a length in pixels, the base unit of measurement in the UI framework.\n\n`Pixels` is a value type that represents an absolute length in pixels, which is used for specifying sizes, positions, and distances in the UI. It is the fundamental unit of measurement for all visual elements and layout calculations.\n\nThe inner value is an `f32`, allowing for sub-pixel precision which can be useful for anti-aliasing and animations. However, when applied to actual pixel grids, the value is typically rounded to the nearest integer.\n\n# Examples\n\n``` use gpui::Pixels;\n\n// Define a length of 10 pixels let length = Pixels(10.0);\n\n// Define a length and scale it by a factor of 2 let scaled_length = length.scale(2.0); assert_eq!(scaled_length, Pixels(20.0)); ```",
+ "description": "Represents a length in pixels, the base unit of measurement in the UI framework.\n\n`Pixels` is a value type that represents an absolute length in pixels, which is used\nfor specifying sizes, positions, and distances in the UI. It is the fundamental unit\nof measurement for all visual elements and layout calculations.\n\nThe inner value is an `f32`, allowing for sub-pixel precision which can be useful for\nanti-aliasing and animations. However, when applied to actual pixel grids, the value\nis typically rounded to the nearest integer.\n\n# Examples\n\n```\nuse gpui::Pixels;\n\n// Define a length of 10 pixels\nlet length = Pixels(10.0);\n\n// Define a length and scale it by a factor of 2\nlet scaled_length = length.scale(2.0);\nassert_eq!(scaled_length, Pixels(20.0));\n```",
"format": "float",
"type": "number"
},
- "PointRefinement_for_Overflow": {
- "description": "A refinable version of [`#ident`], see that documentation for details.",
- "properties": {
- "x": {
- "$ref": "#/definitions/Overflow"
- },
- "y": {
- "$ref": "#/definitions/Overflow"
- }
- },
- "type": "object"
- },
- "Point_for_Pixels": {
- "description": "Describes a location in a 2D cartesian space.\n\nIt holds two public fields, `x` and `y`, which represent the coordinates in the space. The type `T` for the coordinates can be any type that implements `Default`, `Clone`, and `Debug`.\n\n# Examples\n\n``` # use gpui::Point; let point = Point { x: 10, y: 20 }; println!(\"{:?}\", point); // Outputs: Point { x: 10, y: 20 } ```",
+ "Point": {
+ "description": "Describes a location in a 2D cartesian space.\n\nIt holds two public fields, `x` and `y`, which represent the coordinates in the space.\nThe type `T` for the coordinates can be any type that implements `Default`, `Clone`, and `Debug`.\n\n# Examples\n\n```\n# use gpui::Point;\nlet point = Point { x: 10, y: 20 };\nprintln!(\"{:?}\", point); // Outputs: Point { x: 10, y: 20 }\n```",
"properties": {
"x": {
"allOf": [
@@ -22332,21 +21973,43 @@
],
"type": "object"
},
+ "PointRefinement": {
+ "description": "A refinable version of [`#ident`], see that documentation for details.",
+ "properties": {
+ "x": {
+ "anyOf": [
+ {
+ "$ref": "#/definitions/Overflow"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "y": {
+ "anyOf": [
+ {
+ "$ref": "#/definitions/Overflow"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "type": "object"
+ },
"Position": {
- "description": "The positioning strategy for this item.\n\nThis controls both how the origin is determined for the [`Style::position`] field, and whether or not the item will be controlled by flexbox's layout algorithm.\n\nWARNING: this enum follows the behavior of [CSS's `position` property](https://developer.mozilla.org/en-US/docs/Web/CSS/position), which can be unintuitive.\n\n[`Position::Relative`] is the default value, in contrast to the default behavior in CSS.",
+ "description": "The positioning strategy for this item.\n\nThis controls both how the origin is determined for the [`Style::position`] field,\nand whether or not the item will be controlled by flexbox's layout algorithm.\n\nWARNING: this enum follows the behavior of [CSS's `position` property](https://developer.mozilla.org/en-US/docs/Web/CSS/position),\nwhich can be unintuitive.\n\n[`Position::Relative`] is the default value, in contrast to the default behavior in CSS.",
"oneOf": [
{
- "description": "The offset is computed relative to the final position given by the layout algorithm. Offsets do not affect the position of any other items; they are effectively a correction factor applied at the end.",
- "enum": [
- "Relative"
- ],
+ "const": "Relative",
+ "description": "The offset is computed relative to the final position given by the layout algorithm.\nOffsets do not affect the position of any other items; they are effectively a correction factor applied at the end.",
"type": "string"
},
{
- "description": "The offset is computed relative to this item's closest positioned ancestor, if any. Otherwise, it is placed relative to the origin. No space is created for the item in the page layout, and its size will not be altered.\n\nWARNING: to opt-out of layouting entirely, you must use [`Display::None`] instead on your [`Style`] object.",
- "enum": [
- "Absolute"
- ],
+ "const": "Absolute",
+ "description": "The offset is computed relative to this item's closest positioned ancestor, if any.\nOtherwise, it is placed relative to the origin.\nNo space is created for the item in the page layout, and its size will not be altered.\n\nWARNING: to opt-out of layouting entirely, you must use [`Display::None`] instead on your [`Style`] object.",
"type": "string"
}
]
@@ -22355,26 +22018,54 @@
"pattern": "^#([0-9a-fA-F]{3}|[0-9a-fA-F]{4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$",
"type": "string"
},
- "SizeRefinement_for_DefiniteLength": {
+ "SizeRefinement": {
"description": "A refinable version of [`#ident`], see that documentation for details.",
"properties": {
"height": {
- "$ref": "#/definitions/DefiniteLength"
+ "anyOf": [
+ {
+ "$ref": "#/definitions/Length"
+ },
+ {
+ "type": "null"
+ }
+ ]
},
"width": {
- "$ref": "#/definitions/DefiniteLength"
+ "anyOf": [
+ {
+ "$ref": "#/definitions/Length"
+ },
+ {
+ "type": "null"
+ }
+ ]
}
},
"type": "object"
},
- "SizeRefinement_for_Length": {
+ "SizeRefinement2": {
"description": "A refinable version of [`#ident`], see that documentation for details.",
"properties": {
"height": {
- "$ref": "#/definitions/Length"
+ "anyOf": [
+ {
+ "$ref": "#/definitions/DefiniteLength"
+ },
+ {
+ "type": "null"
+ }
+ ]
},
"width": {
- "$ref": "#/definitions/Length"
+ "anyOf": [
+ {
+ "$ref": "#/definitions/DefiniteLength"
+ },
+ {
+ "type": "null"
+ }
+ ]
}
},
"type": "object"
@@ -22383,9 +22074,12 @@
"description": "The properties that can be applied to a strikethrough.",
"properties": {
"color": {
- "allOf": [
+ "anyOf": [
{
"$ref": "#/definitions/Rgba"
+ },
+ {
+ "type": "null"
}
],
"description": "The color of the strikethrough."
@@ -22404,31 +22098,22 @@
],
"type": "object"
},
- "String": {
- "type": "string"
- },
"TextAlign": {
"description": "How to align text within the element",
"oneOf": [
{
+ "const": "Left",
"description": "Align the text to the left of the element",
- "enum": [
- "Left"
- ],
"type": "string"
},
{
+ "const": "Center",
"description": "Center the text within the element",
- "enum": [
- "Center"
- ],
"type": "string"
},
{
+ "const": "Right",
"description": "Align the text to the right of the element",
- "enum": [
- "Right"
- ],
"type": "string"
}
]
@@ -22438,10 +22123,10 @@
"oneOf": [
{
"additionalProperties": false,
- "description": "Truncate the text when it doesn't fit, and represent this truncation by displaying the provided string.",
+ "description": "Truncate the text when it doesn't fit, and represent this truncation by displaying the\nprovided string.",
"properties": {
"Truncate": {
- "$ref": "#/definitions/String"
+ "type": "string"
}
},
"required": [
@@ -22455,51 +22140,148 @@
"description": "A refinable version of [`#ident`], see that documentation for details.",
"properties": {
"background_color": {
- "$ref": "#/definitions/Rgba"
+ "anyOf": [
+ {
+ "$ref": "#/definitions/Rgba"
+ },
+ {
+ "type": "null"
+ }
+ ]
},
"color": {
- "$ref": "#/definitions/Rgba"
+ "anyOf": [
+ {
+ "$ref": "#/definitions/Rgba"
+ },
+ {
+ "type": "null"
+ }
+ ]
},
"font_fallbacks": {
- "$ref": "#/definitions/FontFallbacks"
+ "anyOf": [
+ {
+ "$ref": "#/definitions/FontFallbacks"
+ },
+ {
+ "type": "null"
+ }
+ ]
},
"font_family": {
- "$ref": "#/definitions/String"
+ "type": [
+ "string",
+ "null"
+ ]
},
"font_features": {
- "$ref": "#/definitions/FontFeatures"
+ "anyOf": [
+ {
+ "$ref": "#/definitions/FontFeatures"
+ },
+ {
+ "type": "null"
+ }
+ ]
},
"font_size": {
- "$ref": "#/definitions/AbsoluteLength"
+ "anyOf": [
+ {
+ "$ref": "#/definitions/AbsoluteLength"
+ },
+ {
+ "type": "null"
+ }
+ ]
},
"font_style": {
- "$ref": "#/definitions/FontStyle"
+ "anyOf": [
+ {
+ "$ref": "#/definitions/FontStyle"
+ },
+ {
+ "type": "null"
+ }
+ ]
},
"font_weight": {
- "$ref": "#/definitions/FontWeight"
+ "anyOf": [
+ {
+ "$ref": "#/definitions/FontWeight"
+ },
+ {
+ "type": "null"
+ }
+ ]
},
"line_clamp": {
"format": "uint",
"minimum": 0,
- "type": "integer"
+ "type": [
+ "integer",
+ "null"
+ ]
},
"line_height": {
- "$ref": "#/definitions/DefiniteLength"
+ "anyOf": [
+ {
+ "$ref": "#/definitions/DefiniteLength"
+ },
+ {
+ "type": "null"
+ }
+ ]
},
"strikethrough": {
- "$ref": "#/definitions/StrikethroughStyle"
+ "anyOf": [
+ {
+ "$ref": "#/definitions/StrikethroughStyle"
+ },
+ {
+ "type": "null"
+ }
+ ]
},
"text_align": {
- "$ref": "#/definitions/TextAlign"
+ "anyOf": [
+ {
+ "$ref": "#/definitions/TextAlign"
+ },
+ {
+ "type": "null"
+ }
+ ]
},
"text_overflow": {
- "$ref": "#/definitions/TextOverflow"
+ "anyOf": [
+ {
+ "$ref": "#/definitions/TextOverflow"
+ },
+ {
+ "type": "null"
+ }
+ ]
},
"underline": {
- "$ref": "#/definitions/UnderlineStyle"
+ "anyOf": [
+ {
+ "$ref": "#/definitions/UnderlineStyle"
+ },
+ {
+ "type": "null"
+ }
+ ]
},
"white_space": {
- "$ref": "#/definitions/WhiteSpace"
+ "anyOf": [
+ {
+ "$ref": "#/definitions/WhiteSpace"
+ },
+ {
+ "type": "null"
+ }
+ ]
}
},
"type": "object"
@@ -22508,9 +22290,12 @@
"description": "The properties that can be applied to an underline.",
"properties": {
"color": {
- "allOf": [
+ "anyOf": [
{
"$ref": "#/definitions/Rgba"
+ },
+ {
+ "type": "null"
}
],
"description": "The color of the underline."
@@ -22538,17 +22323,13 @@
"description": "The value of the visibility property, similar to the CSS property `visibility`",
"oneOf": [
{
+ "const": "Visible",
"description": "The element should be drawn as normal.",
- "enum": [
- "Visible"
- ],
"type": "string"
},
{
+ "const": "Hidden",
"description": "The element should not be drawn, but should still take up space in the layout.",
- "enum": [
- "Hidden"
- ],
"type": "string"
}
]
@@ -22557,17 +22338,13 @@
"description": "How to handle whitespace in text",
"oneOf": [
{
+ "const": "Normal",
"description": "Normal line wrapping when text overflows the width of the element",
- "enum": [
- "Normal"
- ],
"type": "string"
},
{
+ "const": "Nowrap",
"description": "No line wrapping, text will overflow the width of the element",
- "enum": [
- "Nowrap"
- ],
"type": "string"
}
]
@@ -22576,117 +22353,252 @@
"description": "A refinable version of [`#ident`], see that documentation for details.",
"properties": {
"align_content": {
- "$ref": "#/definitions/AlignContent"
+ "anyOf": [
+ {
+ "$ref": "#/definitions/AlignContent"
+ },
+ {
+ "type": "null"
+ }
+ ]
},
"align_items": {
- "$ref": "#/definitions/AlignItems"
+ "anyOf": [
+ {
+ "$ref": "#/definitions/AlignItems"
+ },
+ {
+ "type": "null"
+ }
+ ]
},
"align_self": {
- "$ref": "#/definitions/AlignItems"
+ "anyOf": [
+ {
+ "$ref": "#/definitions/AlignItems"
+ },
+ {
+ "type": "null"
+ }
+ ]
},
"allow_concurrent_scroll": {
- "type": "boolean"
+ "type": [
+ "boolean",
+ "null"
+ ]
},
"aspect_ratio": {
"format": "float",
- "type": "number"
+ "type": [
+ "number",
+ "null"
+ ]
},
"background": {
- "$ref": "#/definitions/Fill"
+ "anyOf": [
+ {
+ "$ref": "#/definitions/Fill"
+ },
+ {
+ "type": "null"
+ }
+ ]
},
"border_color": {
- "$ref": "#/definitions/Rgba"
+ "anyOf": [
+ {
+ "$ref": "#/definitions/Rgba"
+ },
+ {
+ "type": "null"
+ }
+ ]
},
"border_style": {
- "$ref": "#/definitions/BorderStyle"
+ "anyOf": [
+ {
+ "$ref": "#/definitions/BorderStyle"
+ },
+ {
+ "type": "null"
+ }
+ ]
},
"border_widths": {
- "$ref": "#/definitions/EdgesRefinement_for_AbsoluteLength"
+ "$ref": "#/definitions/EdgesRefinement3"
},
"box_shadow": {
"items": {
"$ref": "#/definitions/BoxShadow"
},
- "type": "array"
+ "type": [
+ "array",
+ "null"
+ ]
},
"corner_radii": {
- "$ref": "#/definitions/CornersRefinement_for_AbsoluteLength"
+ "$ref": "#/definitions/CornersRefinement"
},
"debug": {
- "type": "boolean"
+ "type": [
+ "boolean",
+ "null"
+ ]
},
"debug_below": {
- "type": "boolean"
+ "type": [
+ "boolean",
+ "null"
+ ]
},
"display": {
- "$ref": "#/definitions/Display"
+ "anyOf": [
+ {
+ "$ref": "#/definitions/Display"
+ },
+ {
+ "type": "null"
+ }
+ ]
},
"flex_basis": {
- "$ref": "#/definitions/Length"
+ "anyOf": [
+ {
+ "$ref": "#/definitions/Length"
+ },
+ {
+ "type": "null"
+ }
+ ]
},
"flex_direction": {
- "$ref": "#/definitions/FlexDirection"
+ "anyOf": [
+ {
+ "$ref": "#/definitions/FlexDirection"
+ },
+ {
+ "type": "null"
+ }
+ ]
},
"flex_grow": {
"format": "float",
- "type": "number"
+ "type": [
+ "number",
+ "null"
+ ]
},
"flex_shrink": {
"format": "float",
- "type": "number"
+ "type": [
+ "number",
+ "null"
+ ]
},
"flex_wrap": {
- "$ref": "#/definitions/FlexWrap"
+ "anyOf": [
+ {
+ "$ref": "#/definitions/FlexWrap"
+ },
+ {
+ "type": "null"
+ }
+ ]
},
"gap": {
- "$ref": "#/definitions/SizeRefinement_for_DefiniteLength"
+ "$ref": "#/definitions/SizeRefinement2"
},
"inset": {
- "$ref": "#/definitions/EdgesRefinement_for_Length"
+ "$ref": "#/definitions/EdgesRefinement"
},
"justify_content": {
- "$ref": "#/definitions/AlignContent"
+ "anyOf": [
+ {
+ "$ref": "#/definitions/AlignContent"
+ },
+ {
+ "type": "null"
+ }
+ ]
},
"margin": {
- "$ref": "#/definitions/EdgesRefinement_for_Length"
+ "$ref": "#/definitions/EdgesRefinement"
},
"max_size": {
- "$ref": "#/definitions/SizeRefinement_for_Length"
+ "$ref": "#/definitions/SizeRefinement"
},
"min_size": {
- "$ref": "#/definitions/SizeRefinement_for_Length"
+ "$ref": "#/definitions/SizeRefinement"
},
"mouse_cursor": {
- "$ref": "#/definitions/CursorStyle"
+ "anyOf": [
+ {
+ "$ref": "#/definitions/CursorStyle"
+ },
+ {
+ "type": "null"
+ }
+ ]
},
"opacity": {
"format": "float",
- "type": "number"
+ "type": [
+ "number",
+ "null"
+ ]
},
"overflow": {
- "$ref": "#/definitions/PointRefinement_for_Overflow"
+ "$ref": "#/definitions/PointRefinement"
},
"padding": {
- "$ref": "#/definitions/EdgesRefinement_for_DefiniteLength"
+ "$ref": "#/definitions/EdgesRefinement2"
},
"position": {
- "$ref": "#/definitions/Position"
+ "anyOf": [
+ {
+ "$ref": "#/definitions/Position"
+ },
+ {
+ "type": "null"
+ }
+ ]
},
"restrict_scroll_to_axis": {
- "type": "boolean"
+ "type": [
+ "boolean",
+ "null"
+ ]
},
"scrollbar_width": {
"format": "float",
- "type": "number"
+ "type": [
+ "number",
+ "null"
+ ]
},
"size": {
- "$ref": "#/definitions/SizeRefinement_for_Length"
+ "$ref": "#/definitions/SizeRefinement"
},
"text": {
- "$ref": "#/definitions/TextStyleRefinement"
+ "anyOf": [
+ {
+ "$ref": "#/definitions/TextStyleRefinement"
+ },
+ {
+ "type": "null"
+ }
+ ]
},
"visibility": {
- "$ref": "#/definitions/Visibility"
+ "anyOf": [
+ {
+ "$ref": "#/definitions/Visibility"
+ },
+ {
+ "type": "null"
+ }
+ ]
}
},
"title": "StyleRefinement",
This file has been truncated, but you can view the full file.
{
"json": {
"format": {
"enable": true
},
"schemas": [
{
"fileMatch": [
"tsconfig.json"
],
"schema": {
"$schema": "http://json-schema.org/draft-04/schema#",
"allOf": [
{
"$ref": "#/definitions/compilerOptionsDefinition"
},
{
"$ref": "#/definitions/compileOnSaveDefinition"
},
{
"$ref": "#/definitions/typeAcquisitionDefinition"
},
{
"$ref": "#/definitions/extendsDefinition"
},
{
"$ref": "#/definitions/watchOptionsDefinition"
},
{
"$ref": "#/definitions/buildOptionsDefinition"
},
{
"$ref": "#/definitions/tsNodeDefinition"
},
{
"anyOf": [
{
"$ref": "#/definitions/filesDefinition"
},
{
"$ref": "#/definitions/excludeDefinition"
},
{
"$ref": "#/definitions/includeDefinition"
},
{
"$ref": "#/definitions/referencesDefinition"
}
]
}
],
"allowTrailingCommas": true,
"definitions": {
"//": {
"explainer": "https://www.typescriptlang.org/docs/handbook/tsconfig-json.html#overview",
"reference": "https://www.typescriptlang.org/tsconfig",
"reference metadata": "https://github.com/microsoft/TypeScript-Website/blob/v2/packages/tsconfig-reference/scripts/tsconfigRules.ts"
},
"buildOptionsDefinition": {
"properties": {
"buildOptions": {
"properties": {
"assumeChangesOnlyAffectDirectDependencies": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"default": false,
"description": "Have recompiles in projects that use `incremental` and `watch` mode assume that changes within a file will only affect files directly depending on it.",
"markdownDescription": "Have recompiles in projects that use `incremental` and `watch` mode assume that changes within a file will only affect files directly depending on it.\n\nSee more: https://www.typescriptlang.org/tsconfig#assumeChangesOnlyAffectDirectDependencies",
"type": [
"boolean",
"null"
]
},
"dry": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"default": false,
"description": "~",
"type": [
"boolean",
"null"
]
},
"force": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"default": false,
"description": "Build all projects, including those that appear to be up to date",
"markdownDescription": "Build all projects, including those that appear to be up to date\n\nSee more: https://www.typescriptlang.org/tsconfig#force",
"type": [
"boolean",
"null"
]
},
"incremental": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"default": false,
"description": "Save .tsbuildinfo files to allow for incremental compilation of projects.",
"markdownDescription": "Save .tsbuildinfo files to allow for incremental compilation of projects.\n\nSee more: https://www.typescriptlang.org/tsconfig#incremental",
"type": [
"boolean",
"null"
]
},
"traceResolution": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"default": false,
"description": "Log paths used during the `moduleResolution` process.",
"markdownDescription": "Log paths used during the `moduleResolution` process.\n\nSee more: https://www.typescriptlang.org/tsconfig#traceResolution",
"type": [
"boolean",
"null"
]
},
"verbose": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"default": false,
"description": "Enable verbose logging",
"markdownDescription": "Enable verbose logging\n\nSee more: https://www.typescriptlang.org/tsconfig#verbose",
"type": [
"boolean",
"null"
]
}
}
}
}
},
"compileOnSaveDefinition": {
"properties": {
"compileOnSave": {
"description": "Enable Compile-on-Save for this project.",
"type": [
"boolean",
"null"
]
}
}
},
"compilerOptionsDefinition": {
"properties": {
"compilerOptions": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"description": "Instructs the TypeScript compiler how to compile .ts files.",
"properties": {
"allowArbitraryExtensions": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"description": "Enable importing files with any extension, provided a declaration file is present.",
"markdownDescription": "Enable importing files with any extension, provided a declaration file is present.\n\nSee more: https://www.typescriptlang.org/tsconfig#allowArbitraryExtensions",
"type": [
"boolean",
"null"
]
},
"allowImportingTsExtensions": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"description": "Allow imports to include TypeScript file extensions. Requires '--moduleResolution bundler' and either '--noEmit' or '--emitDeclarationOnly' to be set.",
"markdownDescription": "Allow imports to include TypeScript file extensions. Requires '--moduleResolution bundler' and either '--noEmit' or '--emitDeclarationOnly' to be set.\n\nSee more: https://www.typescriptlang.org/tsconfig#allowImportingTsExtensions",
"type": [
"boolean",
"null"
]
},
"allowJs": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"default": false,
"description": "Allow JavaScript files to be a part of your program. Use the `checkJS` option to get errors from these files.",
"markdownDescription": "Allow JavaScript files to be a part of your program. Use the `checkJS` option to get errors from these files.\n\nSee more: https://www.typescriptlang.org/tsconfig#allowJs",
"type": [
"boolean",
"null"
]
},
"allowSyntheticDefaultImports": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"description": "Allow 'import x from y' when a module doesn't have a default export.",
"markdownDescription": "Allow 'import x from y' when a module doesn't have a default export.\n\nSee more: https://www.typescriptlang.org/tsconfig#allowSyntheticDefaultImports",
"type": [
"boolean",
"null"
]
},
"allowUmdGlobalAccess": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"default": false,
"description": "Allow accessing UMD globals from modules.",
"markdownDescription": "Allow accessing UMD globals from modules.\n\nSee more: https://www.typescriptlang.org/tsconfig#allowUmdGlobalAccess",
"type": [
"boolean",
"null"
]
},
"allowUnreachableCode": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"description": "Disable error reporting for unreachable code.",
"markdownDescription": "Disable error reporting for unreachable code.\n\nSee more: https://www.typescriptlang.org/tsconfig#allowUnreachableCode",
"type": [
"boolean",
"null"
]
},
"allowUnusedLabels": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"description": "Disable error reporting for unused labels.",
"markdownDescription": "Disable error reporting for unused labels.\n\nSee more: https://www.typescriptlang.org/tsconfig#allowUnusedLabels",
"type": [
"boolean",
"null"
]
},
"alwaysStrict": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"description": "Ensure 'use strict' is always emitted.",
"markdownDescription": "Ensure 'use strict' is always emitted.\n\nSee more: https://www.typescriptlang.org/tsconfig#alwaysStrict",
"type": [
"boolean",
"null"
]
},
"assumeChangesOnlyAffectDirectDependencies": {
"description": "Have recompiles in '--incremental' and '--watch' assume that changes within a file will only affect files directly depending on it. Requires TypeScript version 3.8 or later.",
"type": [
"boolean",
"null"
]
},
"baseUrl": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"description": "Specify the base directory to resolve non-relative module names.",
"markdownDescription": "Specify the base directory to resolve non-relative module names.\n\nSee more: https://www.typescriptlang.org/tsconfig#baseUrl",
"type": [
"string",
"null"
]
},
"charset": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"description": "No longer supported. In early versions, manually set the text encoding for reading files.",
"markdownDescription": "No longer supported. In early versions, manually set the text encoding for reading files.\n\nSee more: https://www.typescriptlang.org/tsconfig#charset",
"type": [
"string",
"null"
]
},
"checkJs": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"default": false,
"description": "Enable error reporting in type-checked JavaScript files.",
"markdownDescription": "Enable error reporting in type-checked JavaScript files.\n\nSee more: https://www.typescriptlang.org/tsconfig#checkJs",
"type": [
"boolean",
"null"
]
},
"composite": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"default": true,
"description": "Enable constraints that allow a TypeScript project to be used with project references.",
"markdownDescription": "Enable constraints that allow a TypeScript project to be used with project references.\n\nSee more: https://www.typescriptlang.org/tsconfig#composite",
"type": [
"boolean",
"null"
]
},
"customConditions": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"description": "Conditions to set in addition to the resolver-specific defaults when resolving imports.",
"items": {
"type": [
"string",
"null"
]
},
"markdownDescription": "Conditions to set in addition to the resolver-specific defaults when resolving imports.\n\nSee more: https://www.typescriptlang.org/tsconfig#customConditions",
"type": [
"array",
"null"
],
"uniqueItems": true
},
"declaration": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"default": false,
"description": "Generate .d.ts files from TypeScript and JavaScript files in your project.",
"markdownDescription": "Generate .d.ts files from TypeScript and JavaScript files in your project.\n\nSee more: https://www.typescriptlang.org/tsconfig#declaration",
"type": [
"boolean",
"null"
]
},
"declarationDir": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"description": "Specify the output directory for generated declaration files.",
"markdownDescription": "Specify the output directory for generated declaration files.\n\nSee more: https://www.typescriptlang.org/tsconfig#declarationDir",
"type": [
"string",
"null"
]
},
"declarationMap": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"default": false,
"description": "Create sourcemaps for d.ts files.",
"markdownDescription": "Create sourcemaps for d.ts files.\n\nSee more: https://www.typescriptlang.org/tsconfig#declarationMap",
"type": [
"boolean",
"null"
]
},
"diagnostics": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"description": "Output compiler performance information after building.",
"markdownDescription": "Output compiler performance information after building.\n\nSee more: https://www.typescriptlang.org/tsconfig#diagnostics",
"type": [
"boolean",
"null"
]
},
"disableReferencedProjectLoad": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"description": "Reduce the number of projects loaded automatically by TypeScript.",
"markdownDescription": "Reduce the number of projects loaded automatically by TypeScript.\n\nSee more: https://www.typescriptlang.org/tsconfig#disableReferencedProjectLoad",
"type": [
"boolean",
"null"
]
},
"disableSizeLimit": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"default": false,
"description": "Remove the 20mb cap on total source code size for JavaScript files in the TypeScript language server.",
"markdownDescription": "Remove the 20mb cap on total source code size for JavaScript files in the TypeScript language server.\n\nSee more: https://www.typescriptlang.org/tsconfig#disableSizeLimit",
"type": [
"boolean",
"null"
]
},
"disableSolutionSearching": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"description": "Opt a project out of multi-project reference checking when editing.",
"markdownDescription": "Opt a project out of multi-project reference checking when editing.\n\nSee more: https://www.typescriptlang.org/tsconfig#disableSolutionSearching",
"type": [
"boolean",
"null"
]
},
"disableSourceOfProjectReferenceRedirect": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"description": "Disable preferring source files instead of declaration files when referencing composite projects",
"markdownDescription": "Disable preferring source files instead of declaration files when referencing composite projects\n\nSee more: https://www.typescriptlang.org/tsconfig#disableSourceOfProjectReferenceRedirect",
"type": [
"boolean",
"null"
]
},
"downlevelIteration": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"default": false,
"description": "Emit more compliant, but verbose and less performant JavaScript for iteration.",
"markdownDescription": "Emit more compliant, but verbose and less performant JavaScript for iteration.\n\nSee more: https://www.typescriptlang.org/tsconfig#downlevelIteration",
"type": [
"boolean",
"null"
]
},
"emitBOM": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"default": false,
"description": "Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files.",
"markdownDescription": "Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files.\n\nSee more: https://www.typescriptlang.org/tsconfig#emitBOM",
"type": [
"boolean",
"null"
]
},
"emitDeclarationOnly": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"default": false,
"description": "Only output d.ts files and not JavaScript files.",
"markdownDescription": "Only output d.ts files and not JavaScript files.\n\nSee more: https://www.typescriptlang.org/tsconfig#emitDeclarationOnly",
"type": [
"boolean",
"null"
]
},
"emitDecoratorMetadata": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"description": "Emit design-type metadata for decorated declarations in source files.",
"markdownDescription": "Emit design-type metadata for decorated declarations in source files.\n\nSee more: https://www.typescriptlang.org/tsconfig#emitDecoratorMetadata",
"type": [
"boolean",
"null"
]
},
"esModuleInterop": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"default": false,
"description": "Emit additional JavaScript to ease support for importing CommonJS modules. This enables `allowSyntheticDefaultImports` for type compatibility.",
"markdownDescription": "Emit additional JavaScript to ease support for importing CommonJS modules. This enables `allowSyntheticDefaultImports` for type compatibility.\n\nSee more: https://www.typescriptlang.org/tsconfig#esModuleInterop",
"type": [
"boolean",
"null"
]
},
"exactOptionalPropertyTypes": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"default": false,
"description": "Differentiate between undefined and not present when type checking",
"markdownDescription": "Differentiate between undefined and not present when type checking\n\nSee more: https://www.typescriptlang.org/tsconfig#exactOptionalPropertyTypes",
"type": [
"boolean",
"null"
]
},
"experimentalDecorators": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"description": "Enable experimental support for TC39 stage 2 draft decorators.",
"markdownDescription": "Enable experimental support for TC39 stage 2 draft decorators.\n\nSee more: https://www.typescriptlang.org/tsconfig#experimentalDecorators",
"type": [
"boolean",
"null"
]
},
"extendedDiagnostics": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"default": false,
"description": "Output more detailed compiler performance information after building.",
"markdownDescription": "Output more detailed compiler performance information after building.\n\nSee more: https://www.typescriptlang.org/tsconfig#extendedDiagnostics",
"type": [
"boolean",
"null"
]
},
"fallbackPolling": {
"description": "Specify the polling strategy to use when the system runs out of or doesn't support native file watchers. Requires TypeScript version 3.8 or later.",
"enum": [
"fixedPollingInterval",
"priorityPollingInterval",
"dynamicPriorityPolling",
"fixedInterval",
"priorityInterval",
"dynamicPriority",
"fixedChunkSize"
]
},
"forceConsistentCasingInFileNames": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"default": true,
"description": "Ensure that casing is correct in imports.",
"markdownDescription": "Ensure that casing is correct in imports.\n\nSee more: https://www.typescriptlang.org/tsconfig#forceConsistentCasingInFileNames",
"type": [
"boolean",
"null"
]
},
"generateCpuProfile": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"default": "profile.cpuprofile",
"description": "Emit a v8 CPU profile of the compiler run for debugging.",
"markdownDescription": "Emit a v8 CPU profile of the compiler run for debugging.\n\nSee more: https://www.typescriptlang.org/tsconfig#generateCpuProfile",
"type": [
"string",
"null"
]
},
"importHelpers": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"default": false,
"description": "Allow importing helper functions from tslib once per project, instead of including them per-file.",
"markdownDescription": "Allow importing helper functions from tslib once per project, instead of including them per-file.\n\nSee more: https://www.typescriptlang.org/tsconfig#importHelpers",
"type": [
"boolean",
"null"
]
},
"importsNotUsedAsValues": {
"default": "remove",
"description": "Specify emit/checking behavior for imports that are only used for types.",
"enum": [
"remove",
"preserve",
"error"
]
},
"incremental": {
"description": "Enable incremental compilation. Requires TypeScript version 3.4 or later.",
"type": [
"boolean",
"null"
]
},
"inlineSourceMap": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"default": false,
"description": "Include sourcemap files inside the emitted JavaScript.",
"markdownDescription": "Include sourcemap files inside the emitted JavaScript.\n\nSee more: https://www.typescriptlang.org/tsconfig#inlineSourceMap",
"type": [
"boolean",
"null"
]
},
"inlineSources": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"default": false,
"description": "Include source code in the sourcemaps inside the emitted JavaScript.",
"markdownDescription": "Include source code in the sourcemaps inside the emitted JavaScript.\n\nSee more: https://www.typescriptlang.org/tsconfig#inlineSources",
"type": [
"boolean",
"null"
]
},
"isolatedDeclarations": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"default": false,
"description": "Require sufficient annotation on exports so other tools can trivially generate declaration files.",
"markdownDescription": "Require sufficient annotation on exports so other tools can trivially generate declaration files.\n\nSee more: https://www.typescriptlang.org/tsconfig#isolatedDeclarations",
"type": [
"boolean",
"null"
]
},
"isolatedModules": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"default": false,
"description": "Ensure that each file can be safely transpiled without relying on other imports.",
"markdownDescription": "Ensure that each file can be safely transpiled without relying on other imports.\n\nSee more: https://www.typescriptlang.org/tsconfig#isolatedModules",
"type": [
"boolean",
"null"
]
},
"jsx": {
"description": "Specify what JSX code is generated.",
"enum": [
"preserve",
"react",
"react-jsx",
"react-jsxdev",
"react-native"
]
},
"jsxFactory": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"default": "React.createElement",
"description": "Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h'",
"markdownDescription": "Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h'\n\nSee more: https://www.typescriptlang.org/tsconfig#jsxFactory",
"type": [
"string",
"null"
]
},
"jsxFragmentFactory": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"default": "React.Fragment",
"description": "Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'.",
"markdownDescription": "Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'.\n\nSee more: https://www.typescriptlang.org/tsconfig#jsxFragmentFactory",
"type": [
"string",
"null"
]
},
"jsxImportSource": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"default": "react",
"description": "Specify module specifier used to import the JSX factory functions when using `jsx: react-jsx`.",
"markdownDescription": "Specify module specifier used to import the JSX factory functions when using `jsx: react-jsx`.\n\nSee more: https://www.typescriptlang.org/tsconfig#jsxImportSource",
"type": [
"string",
"null"
]
},
"keyofStringsOnly": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"default": false,
"description": "Make keyof only return strings instead of string, numbers or symbols. Legacy option.",
"markdownDescription": "Make keyof only return strings instead of string, numbers or symbols. Legacy option.\n\nSee more: https://www.typescriptlang.org/tsconfig#keyofStringsOnly",
"type": [
"boolean",
"null"
]
},
"lib": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"description": "Specify a set of bundled library declaration files that describe the target runtime environment.",
"items": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"anyOf": [
{
"enum": [
"ES5",
"ES6",
"ES2015",
"ES2015.Collection",
"ES2015.Core",
"ES2015.Generator",
"ES2015.Iterable",
"ES2015.Promise",
"ES2015.Proxy",
"ES2015.Reflect",
"ES2015.Symbol.WellKnown",
"ES2015.Symbol",
"ES2016",
"ES2016.Array.Include",
"ES2017",
"ES2017.Intl",
"ES2017.Object",
"ES2017.SharedMemory",
"ES2017.String",
"ES2017.TypedArrays",
"ES2017.ArrayBuffer",
"ES2018",
"ES2018.AsyncGenerator",
"ES2018.AsyncIterable",
"ES2018.Intl",
"ES2018.Promise",
"ES2018.Regexp",
"ES2019",
"ES2019.Array",
"ES2019.Intl",
"ES2019.Object",
"ES2019.String",
"ES2019.Symbol",
"ES2020",
"ES2020.BigInt",
"ES2020.Promise",
"ES2020.String",
"ES2020.Symbol.WellKnown",
"ESNext",
"ESNext.Array",
"ESNext.AsyncIterable",
"ESNext.BigInt",
"ESNext.Collection",
"ESNext.Intl",
"ESNext.Object",
"ESNext.Promise",
"ESNext.Regexp",
"ESNext.String",
"ESNext.Symbol",
"DOM",
"DOM.AsyncIterable",
"DOM.Iterable",
"ScriptHost",
"WebWorker",
"WebWorker.AsyncIterable",
"WebWorker.ImportScripts",
"Webworker.Iterable",
"ES7",
"ES2021",
"ES2020.SharedMemory",
"ES2020.Intl",
"ES2020.Date",
"ES2020.Number",
"ES2021.Promise",
"ES2021.String",
"ES2021.WeakRef",
"ESNext.WeakRef",
"ES2021.Intl",
"ES2022",
"ES2022.Array",
"ES2022.Error",
"ES2022.Intl",
"ES2022.Object",
"ES2022.String",
"ES2022.SharedMemory",
"ES2022.RegExp",
"ES2023",
"ES2023.Array",
"ES2024",
"ES2024.ArrayBuffer",
"ES2024.Collection",
"ES2024.Object",
"ES2024.Promise",
"ES2024.Regexp",
"ES2024.SharedMemory",
"ES2024.String",
"Decorators",
"Decorators.Legacy",
"ES2017.Date",
"ES2023.Collection",
"ESNext.Decorators",
"ESNext.Disposable"
]
},
{
"pattern": "^[Ee][Ss]5|[Ee][Ss]6|[Ee][Ss]7$"
},
{
"pattern": "^[Ee][Ss]2015(\\.([Cc][Oo][Ll][Ll][Ee][Cc][Tt][Ii][Oo][Nn]|[Cc][Oo][Rr][Ee]|[Gg][Ee][Nn][Ee][Rr][Aa][Tt][Oo][Rr]|[Ii][Tt][Ee][Rr][Aa][Bb][Ll][Ee]|[Pp][Rr][Oo][Mm][Ii][Ss][Ee]|[Pp][Rr][Oo][Xx][Yy]|[Rr][Ee][Ff][Ll][Ee][Cc][Tt]|[Ss][Yy][Mm][Bb][Oo][Ll]\\.[Ww][Ee][Ll][Ll][Kk][Nn][Oo][Ww][Nn]|[Ss][Yy][Mm][Bb][Oo][Ll]))?$"
},
{
"pattern": "^[Ee][Ss]2016(\\.[Aa][Rr][Rr][Aa][Yy]\\.[Ii][Nn][Cc][Ll][Uu][Dd][Ee])?$"
},
{
"pattern": "^[Ee][Ss]2017(\\.([Ii][Nn][Tt][Ll]|[Oo][Bb][Jj][Ee][Cc][Tt]|[Ss][Hh][Aa][Rr][Ee][Dd][Mm][Ee][Mm][Oo][Rr][Yy]|[Ss][Tt][Rr][Ii][Nn][Gg]|[Tt][Yy][Pp][Ee][Dd][Aa][Rr][Rr][Aa][Yy][Ss]|[Dd][Aa][Tt][Ee]|[Aa][Rr][Rr][Aa][Yy][Bb][Uu][Ff][Ff][Ee][Rr]))?$"
},
{
"pattern": "^[Ee][Ss]2018(\\.([Aa][Ss][Yy][Nn][Cc][Gg][Ee][Nn][Ee][Rr][Aa][Tt][Oo][Rr]|[Aa][Ss][Yy][Nn][Cc][Ii][Tt][Ee][Rr][Aa][Bb][Ll][Ee]|[Ii][Nn][Tt][Ll]|[Pp][Rr][Oo][Mm][Ii][Ss][Ee]|[Rr][Ee][Gg][Ee][Xx][Pp]))?$"
},
{
"pattern": "^[Ee][Ss]2019(\\.([Aa][Rr][Rr][Aa][Yy]|[Ii][Nn][Tt][Ll]|[Oo][Bb][Jj][Ee][Cc][Tt]|[Ss][Tt][Rr][Ii][Nn][Gg]|[Ss][Yy][Mm][Bb][Oo][Ll]))?$"
},
{
"pattern": "^[Ee][Ss]2020(\\.([Bb][Ii][Gg][Ii][Nn][Tt]|[Pp][Rr][Oo][Mm][Ii][Ss][Ee]|[Ss][Tt][Rr][Ii][Nn][Gg]|[Ss][Yy][Mm][Bb][Oo][Ll]\\.[Ww][Ee][Ll][Ll][Kk][Nn][Oo][Ww][Nn]|[Ss][Hh][Aa][Rr][Ee][Dd][Mm][Ee][Mm][Oo][Rr][Yy]|[Ii][Nn][Tt][Ll]|[Dd][Aa][Tt][Ee]|[Nn][Uu][Mm][Bb][Ee][Rr]))?$"
},
{
"pattern": "^[Ee][Ss]2021(\\.([Ii][Nn][Tt][Ll]|[Pp][Rr][Oo][Mm][Ii][Ss][Ee]|[Ss][Tt][Rr][Ii][Nn][Gg]|[Ww][Ee][Aa][Kk][Rr][Ee][Ff]))?$"
},
{
"pattern": "^[Ee][Ss]2022(\\.([Aa][Rr][Rr][Aa][Yy]|[Ee][Rr][Rr][Oo][Rr]|[Ii][Nn][Tt][Ll]|[Oo][Bb][Jj][Ee][Cc][Tt]|[Ss][Tt][Rr][Ii][Nn][Gg]|[Ss][Hh][Aa][Rr][Ee][Dd][Mm][Ee][Mm][Oo][Rr][Yy]|[Rr][Ee][Gg][Ee][Xx][Pp]))?$"
},
{
"pattern": "^[Ee][Ss]2023(\\.([Aa][Rr][Rr][Aa][Yy]|[Cc][Oo][Ll][Ll][Ee][Cc][Tt][Ii][Oo][Nn]))?$"
},
{
"pattern": "^[Ee][Ss]2024(\\.([Aa][Rr][Rr][Aa][Yy][Bb][Uu][Ff][Ff][Ee][Rr]|[Cc][Oo][Ll][Ll][Ee][Cc][Tt][Ii][Oo][Nn]|[Oo][Bb][Jj][Ee][Cc][Tt]|[Pp][Rr][Oo][Mm][Ii][Ss][Ee]|[Rr][Ee][Gg][Ee][Xx][Pp]|[Ss][Hh][Aa][Rr][Ee][Dd][Mm][Ee][Mm][Oo][Rr][Yy]|[Ss][Tt][Rr][Ii][Nn][Gg]))?$"
},
{
"pattern": "^[Ee][Ss][Nn][Ee][Xx][Tt](\\.([Aa][Rr][Rr][Aa][Yy]|[Aa][Ss][Yy][Nn][Cc][Ii][Tt][Ee][Rr][Aa][Bb][Ll][Ee]|[Bb][Ii][Gg][Ii][Nn][Tt]|[Ii][Nn][Tt][Ll]|[Pp][Rr][Oo][Mm][Ii][Ss][Ee]|[Ss][Tt][Rr][Ii][Nn][Gg]|[Ss][Yy][Mm][Bb][Oo][Ll]|[Ww][Ee][Aa][Kk][Rr][Ee][Ff]|[Dd][Ee][Cc][Oo][Rr][Aa][Tt][Oo][Rr][Ss]|[Dd][Ii][Ss][Pp][Oo][Ss][Aa][Bb][Ll][Ee]))?$"
},
{
"pattern": "^[Dd][Oo][Mm](\\.([Aa][Ss][Yy][Nn][Cc])?[Ii][Tt][Ee][Rr][Aa][Bb][Ll][Ee])?$"
},
{
"pattern": "^[Ss][Cc][Rr][Ii][Pp][Tt][Hh][Oo][Ss][Tt]$"
},
{
"pattern": "^[Ww][Ee][Bb][Ww][Oo][Rr][Kk][Ee][Rr](\\.([Ii][Mm][Pp][Oo][Rr][Tt][Ss][Cc][Rr][Ii][Pp][Tt][Ss]|([Aa][Ss][Yy][Nn][Cc])?[Ii][Tt][Ee][Rr][Aa][Bb][Ll][Ee]))?$"
},
{
"pattern": "^[Dd][Ee][Cc][Oo][Rr][Aa][Tt][Oo][Rr][Ss](\\.([Ll][Ee][Gg][Aa][Cc][Yy]))?$"
}
],
"type": [
"string",
"null"
]
},
"markdownDescription": "Specify a set of bundled library declaration files that describe the target runtime environment.\n\nSee more: https://www.typescriptlang.org/tsconfig#lib",
"type": [
"array",
"null"
],
"uniqueItems": true
},
"listEmittedFiles": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"default": false,
"description": "Print the names of emitted files after a compilation.",
"markdownDescription": "Print the names of emitted files after a compilation.\n\nSee more: https://www.typescriptlang.org/tsconfig#listEmittedFiles",
"type": [
"boolean",
"null"
]
},
"listFiles": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"default": false,
"description": "Print all of the files read during the compilation.",
"markdownDescription": "Print all of the files read during the compilation.\n\nSee more: https://www.typescriptlang.org/tsconfig#listFiles",
"type": [
"boolean",
"null"
]
},
"listFilesOnly": {
"description": "Print names of files that are part of the compilation and then stop processing.",
"type": [
"boolean",
"null"
]
},
"mapRoot": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"description": "Specify the location where debugger should locate map files instead of generated locations.",
"markdownDescription": "Specify the location where debugger should locate map files instead of generated locations.\n\nSee more: https://www.typescriptlang.org/tsconfig#mapRoot",
"type": [
"string",
"null"
]
},
"maxNodeModuleJsDepth": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"default": 0,
"description": "Specify the maximum folder depth used for checking JavaScript files from `node_modules`. Only applicable with `allowJs`.",
"markdownDescription": "Specify the maximum folder depth used for checking JavaScript files from `node_modules`. Only applicable with `allowJs`.\n\nSee more: https://www.typescriptlang.org/tsconfig#maxNodeModuleJsDepth",
"type": [
"number",
"null"
]
},
"module": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"anyOf": [
{
"enum": [
"CommonJS",
"AMD",
"System",
"UMD",
"ES6",
"ES2015",
"ES2020",
"ESNext",
"None",
"ES2022",
"Node16",
"NodeNext",
"Preserve"
]
},
{
"pattern": "^([Cc][Oo][Mm][Mm][Oo][Nn][Jj][Ss]|[AaUu][Mm][Dd]|[Ss][Yy][Ss][Tt][Ee][Mm]|[Ee][Ss]([356]|20(1[567]|2[02])|[Nn][Ee][Xx][Tt])|[Nn][Oo][dD][Ee]16|[Nn][Oo][Dd][Ee][Nn][Ee][Xx][Tt]|[Nn][Oo][Nn][Ee]|[Pp][Rr][Ee][Ss][Ee][Rr][Vv][Ee])$"
}
],
"description": "Specify what module code is generated.",
"markdownDescription": "Specify what module code is generated.\n\nSee more: https://www.typescriptlang.org/tsconfig#module",
"type": [
"string",
"null"
]
},
"moduleDetection": {
"description": "Specify how TypeScript determine a file as module.",
"enum": [
"auto",
"legacy",
"force"
]
},
"moduleResolution": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"anyOf": [
{
"enum": [
"classic",
"node",
"node10",
"node16",
"nodenext",
"bundler"
],
"markdownEnumDescriptions": [
"It’s recommended to use `\"node16\"` instead",
"Deprecated, use `\"node10\"` in TypeScript 5.0+ instead",
"It’s recommended to use `\"node16\"` instead",
"This is the recommended setting for libraries and Node.js applications",
"This is the recommended setting for libraries and Node.js applications",
"This is the recommended setting in TypeScript 5.0+ for applications that use a bundler"
]
},
{
"pattern": "^(([Nn]ode)|([Nn]ode1[06])|([Nn]ode[Nn]ext)|([Cc]lassic)|([Bb]undler))$"
}
],
"description": "Specify how TypeScript looks up a file from a given module specifier.",
"markdownDescription": "Specify how TypeScript looks up a file from a given module specifier.\n\nSee more: https://www.typescriptlang.org/tsconfig#moduleResolution",
"type": [
"string",
"null"
]
},
"newLine": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"anyOf": [
{
"enum": [
"crlf",
"lf"
]
},
{
"pattern": "^(CRLF|LF|crlf|lf)$"
}
],
"default": "lf",
"description": "Set the newline character for emitting files.",
"markdownDescription": "Set the newline character for emitting files.\n\nSee more: https://www.typescriptlang.org/tsconfig#newLine",
"type": [
"string",
"null"
]
},
"noCheck": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"default": false,
"description": "Disable full type checking (only critical parse and emit errors will be reported)",
"markdownDescription": "Disable full type checking (only critical parse and emit errors will be reported)\n\nSee more: https://www.typescriptlang.org/tsconfig#noCheck",
"type": [
"boolean",
"null"
]
},
"noEmit": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"default": false,
"description": "Disable emitting file from a compilation.",
"markdownDescription": "Disable emitting file from a compilation.\n\nSee more: https://www.typescriptlang.org/tsconfig#noEmit",
"type": [
"boolean",
"null"
]
},
"noEmitHelpers": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"default": false,
"description": "Disable generating custom helper functions like `__extends` in compiled output.",
"markdownDescription": "Disable generating custom helper functions like `__extends` in compiled output.\n\nSee more: https://www.typescriptlang.org/tsconfig#noEmitHelpers",
"type": [
"boolean",
"null"
]
},
"noEmitOnError": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"default": false,
"description": "Disable emitting files if any type checking errors are reported.",
"markdownDescription": "Disable emitting files if any type checking errors are reported.\n\nSee more: https://www.typescriptlang.org/tsconfig#noEmitOnError",
"type": [
"boolean",
"null"
]
},
"noErrorTruncation": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"default": false,
"description": "Disable truncating types in error messages.",
"markdownDescription": "Disable truncating types in error messages.\n\nSee more: https://www.typescriptlang.org/tsconfig#noErrorTruncation",
"type": [
"boolean",
"null"
]
},
"noFallthroughCasesInSwitch": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"default": false,
"description": "Enable error reporting for fallthrough cases in switch statements.",
"markdownDescription": "Enable error reporting for fallthrough cases in switch statements.\n\nSee more: https://www.typescriptlang.org/tsconfig#noFallthroughCasesInSwitch",
"type": [
"boolean",
"null"
]
},
"noImplicitAny": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"description": "Enable error reporting for expressions and declarations with an implied `any` type..",
"markdownDescription": "Enable error reporting for expressions and declarations with an implied `any` type..\n\nSee more: https://www.typescriptlang.org/tsconfig#noImplicitAny",
"type": [
"boolean",
"null"
]
},
"noImplicitOverride": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"default": false,
"description": "Ensure overriding members in derived classes are marked with an override modifier.",
"markdownDescription": "Ensure overriding members in derived classes are marked with an override modifier.\n\nSee more: https://www.typescriptlang.org/tsconfig#noImplicitOverride",
"type": [
"boolean",
"null"
]
},
"noImplicitReturns": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"default": false,
"description": "Enable error reporting for codepaths that do not explicitly return in a function.",
"markdownDescription": "Enable error reporting for codepaths that do not explicitly return in a function.\n\nSee more: https://www.typescriptlang.org/tsconfig#noImplicitReturns",
"type": [
"boolean",
"null"
]
},
"noImplicitThis": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"description": "Enable error reporting when `this` is given the type `any`.",
"markdownDescription": "Enable error reporting when `this` is given the type `any`.\n\nSee more: https://www.typescriptlang.org/tsconfig#noImplicitThis",
"type": [
"boolean",
"null"
]
},
"noImplicitUseStrict": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"default": false,
"description": "Disable adding 'use strict' directives in emitted JavaScript files.",
"markdownDescription": "Disable adding 'use strict' directives in emitted JavaScript files.\n\nSee more: https://www.typescriptlang.org/tsconfig#noImplicitUseStrict",
"type": [
"boolean",
"null"
]
},
"noLib": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"default": false,
"description": "Disable including any library files, including the default lib.d.ts.",
"markdownDescription": "Disable including any library files, including the default lib.d.ts.\n\nSee more: https://www.typescriptlang.org/tsconfig#noLib",
"type": [
"boolean",
"null"
]
},
"noPropertyAccessFromIndexSignature": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"description": "Enforces using indexed accessors for keys declared using an indexed type",
"markdownDescription": "Enforces using indexed accessors for keys declared using an indexed type\n\nSee more: https://www.typescriptlang.org/tsconfig#noPropertyAccessFromIndexSignature",
"type": [
"boolean",
"null"
]
},
"noResolve": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"default": false,
"description": "Disallow `import`s, `require`s or `<reference>`s from expanding the number of files TypeScript should add to a project.",
"markdownDescription": "Disallow `import`s, `require`s or `<reference>`s from expanding the number of files TypeScript should add to a project.\n\nSee more: https://www.typescriptlang.org/tsconfig#noResolve",
"type": [
"boolean",
"null"
]
},
"noStrictGenericChecks": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"default": false,
"description": "Disable strict checking of generic signatures in function types.",
"markdownDescription": "Disable strict checking of generic signatures in function types.\n\nSee more: https://www.typescriptlang.org/tsconfig#noStrictGenericChecks",
"type": [
"boolean",
"null"
]
},
"noUncheckedIndexedAccess": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"description": "Add `undefined` to a type when accessed using an index.",
"markdownDescription": "Add `undefined` to a type when accessed using an index.\n\nSee more: https://www.typescriptlang.org/tsconfig#noUncheckedIndexedAccess",
"type": [
"boolean",
"null"
]
},
"noUncheckedSideEffectImports": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"default": false,
"description": "Check side effect imports.",
"markdownDescription": "Check side effect imports.\n\nSee more: https://www.typescriptlang.org/tsconfig#noUncheckedSideEffectImports",
"type": [
"boolean",
"null"
]
},
"noUnusedLocals": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"default": false,
"description": "Enable error reporting when a local variable isn't read.",
"markdownDescription": "Enable error reporting when a local variable isn't read.\n\nSee more: https://www.typescriptlang.org/tsconfig#noUnusedLocals",
"type": [
"boolean",
"null"
]
},
"noUnusedParameters": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"default": false,
"description": "Raise an error when a function parameter isn't read",
"markdownDescription": "Raise an error when a function parameter isn't read\n\nSee more: https://www.typescriptlang.org/tsconfig#noUnusedParameters",
"type": [
"boolean",
"null"
]
},
"outDir": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"description": "Specify an output folder for all emitted files.",
"markdownDescription": "Specify an output folder for all emitted files.\n\nSee more: https://www.typescriptlang.org/tsconfig#outDir",
"type": [
"string",
"null"
]
},
"outFile": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"description": "Specify a file that bundles all outputs into one JavaScript file. If `declaration` is true, also designates a file that bundles all .d.ts output.",
"markdownDescription": "Specify a file that bundles all outputs into one JavaScript file. If `declaration` is true, also designates a file that bundles all .d.ts output.\n\nSee more: https://www.typescriptlang.org/tsconfig#outFile",
"type": [
"string",
"null"
]
},
"paths": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"additionalProperties": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"items": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"description": "Path mapping to be computed relative to baseUrl option.",
"type": [
"string",
"null"
]
},
"type": [
"array",
"null"
],
"uniqueItems": true
},
"description": "Specify a set of entries that re-map imports to additional lookup locations.",
"markdownDescription": "Specify a set of entries that re-map imports to additional lookup locations.\n\nSee more: https://www.typescriptlang.org/tsconfig#paths",
"type": [
"object",
"null"
]
},
"plugins": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"description": "Specify a list of language service plugins to include.",
"items": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"properties": {
"name": {
"description": "Plugin name.",
"type": [
"string",
"null"
]
}
},
"type": [
"object",
"null"
]
},
"markdownDescription": "Specify a list of language service plugins to include.\n\nSee more: https://www.typescriptlang.org/tsconfig#plugins",
"type": [
"array",
"null"
]
},
"preserveConstEnums": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"default": false,
"description": "Disable erasing `const enum` declarations in generated code.",
"markdownDescription": "Disable erasing `const enum` declarations in generated code.\n\nSee more: https://www.typescriptlang.org/tsconfig#preserveConstEnums",
"type": [
"boolean",
"null"
]
},
"preserveSymlinks": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"default": false,
"description": "Disable resolving symlinks to their realpath. This correlates to the same flag in node.",
"markdownDescription": "Disable resolving symlinks to their realpath. This correlates to the same flag in node.\n\nSee more: https://www.typescriptlang.org/tsconfig#preserveSymlinks",
"type": [
"boolean",
"null"
]
},
"preserveValueImports": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"default": false,
"description": "Preserve unused imported values in the JavaScript output that would otherwise be removed",
"markdownDescription": "Preserve unused imported values in the JavaScript output that would otherwise be removed\n\nSee more: https://www.typescriptlang.org/tsconfig#preserveValueImports",
"type": [
"boolean",
"null"
]
},
"preserveWatchOutput": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"description": "Disable wiping the console in watch mode",
"markdownDescription": "Disable wiping the console in watch mode\n\nSee more: https://www.typescriptlang.org/tsconfig#preserveWatchOutput",
"type": [
"boolean",
"null"
]
},
"pretty": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"default": true,
"description": "Enable color and formatting in output to make compiler errors easier to read",
"markdownDescription": "Enable color and formatting in output to make compiler errors easier to read\n\nSee more: https://www.typescriptlang.org/tsconfig#pretty",
"type": [
"boolean",
"null"
]
},
"reactNamespace": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"default": "React",
"description": "Specify the object invoked for `createElement`. This only applies when targeting `react` JSX emit.",
"markdownDescription": "Specify the object invoked for `createElement`. This only applies when targeting `react` JSX emit.\n\nSee more: https://www.typescriptlang.org/tsconfig#reactNamespace",
"type": [
"string",
"null"
]
},
"removeComments": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"default": false,
"description": "Disable emitting comments.",
"markdownDescription": "Disable emitting comments.\n\nSee more: https://www.typescriptlang.org/tsconfig#removeComments",
"type": [
"boolean",
"null"
]
},
"resolveJsonModule": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"default": false,
"description": "Enable importing .json files",
"markdownDescription": "Enable importing .json files\n\nSee more: https://www.typescriptlang.org/tsconfig#resolveJsonModule",
"type": [
"boolean",
"null"
]
},
"resolvePackageJsonExports": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"default": false,
"description": "Use the package.json 'exports' field when resolving package imports.",
"markdownDescription": "Use the package.json 'exports' field when resolving package imports.\n\nSee more: https://www.typescriptlang.org/tsconfig#resolvePackageJsonExports",
"type": [
"boolean",
"null"
]
},
"resolvePackageJsonImports": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"default": false,
"description": "Use the package.json 'imports' field when resolving imports.",
"markdownDescription": "Use the package.json 'imports' field when resolving imports.\n\nSee more: https://www.typescriptlang.org/tsconfig#resolvePackageJsonImports",
"type": [
"boolean",
"null"
]
},
"rootDir": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"description": "Specify the root folder within your source files.",
"markdownDescription": "Specify the root folder within your source files.\n\nSee more: https://www.typescriptlang.org/tsconfig#rootDir",
"type": [
"string",
"null"
]
},
"rootDirs": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"description": "Allow multiple folders to be treated as one when resolving modules.",
"items": {
"type": [
"string",
"null"
]
},
"markdownDescription": "Allow multiple folders to be treated as one when resolving modules.\n\nSee more: https://www.typescriptlang.org/tsconfig#rootDirs",
"type": [
"array",
"null"
],
"uniqueItems": true
},
"skipDefaultLibCheck": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"default": false,
"description": "Skip type checking .d.ts files that are included with TypeScript.",
"markdownDescription": "Skip type checking .d.ts files that are included with TypeScript.\n\nSee more: https://www.typescriptlang.org/tsconfig#skipDefaultLibCheck",
"type": [
"boolean",
"null"
]
},
"skipLibCheck": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"default": false,
"description": "Skip type checking all .d.ts files.",
"markdownDescription": "Skip type checking all .d.ts files.\n\nSee more: https://www.typescriptlang.org/tsconfig#skipLibCheck",
"type": [
"boolean",
"null"
]
},
"sourceMap": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"default": false,
"description": "Create source map files for emitted JavaScript files.",
"markdownDescription": "Create source map files for emitted JavaScript files.\n\nSee more: https://www.typescriptlang.org/tsconfig#sourceMap",
"type": [
"boolean",
"null"
]
},
"sourceRoot": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"description": "Specify the root path for debuggers to find the reference source code.",
"markdownDescription": "Specify the root path for debuggers to find the reference source code.\n\nSee more: https://www.typescriptlang.org/tsconfig#sourceRoot",
"type": [
"string",
"null"
]
},
"strict": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"default": false,
"description": "Enable all strict type checking options.",
"markdownDescription": "Enable all strict type checking options.\n\nSee more: https://www.typescriptlang.org/tsconfig#strict",
"type": [
"boolean",
"null"
]
},
"strictBindCallApply": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"default": false,
"description": "Check that the arguments for `bind`, `call`, and `apply` methods match the original function.",
"markdownDescription": "Check that the arguments for `bind`, `call`, and `apply` methods match the original function.\n\nSee more: https://www.typescriptlang.org/tsconfig#strictBindCallApply",
"type": [
"boolean",
"null"
]
},
"strictBuiltinIteratorReturn": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"default": false,
"description": "Built-in iterators are instantiated with a 'TReturn' type of 'undefined' instead of 'any'.",
"markdownDescription": "Built-in iterators are instantiated with a 'TReturn' type of 'undefined' instead of 'any'.\n\nSee more: https://www.typescriptlang.org/tsconfig#strictBuiltinIteratorReturn",
"type": [
"boolean",
"null"
]
},
"strictFunctionTypes": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"default": false,
"description": "When assigning functions, check to ensure parameters and the return values are subtype-compatible.",
"markdownDescription": "When assigning functions, check to ensure parameters and the return values are subtype-compatible.\n\nSee more: https://www.typescriptlang.org/tsconfig#strictFunctionTypes",
"type": [
"boolean",
"null"
]
},
"strictNullChecks": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"default": false,
"description": "When type checking, take into account `null` and `undefined`.",
"markdownDescription": "When type checking, take into account `null` and `undefined`.\n\nSee more: https://www.typescriptlang.org/tsconfig#strictNullChecks",
"type": [
"boolean",
"null"
]
},
"strictPropertyInitialization": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"default": false,
"description": "Check for class properties that are declared but not set in the constructor.",
"markdownDescription": "Check for class properties that are declared but not set in the constructor.\n\nSee more: https://www.typescriptlang.org/tsconfig#strictPropertyInitialization",
"type": [
"boolean",
"null"
]
},
"stripInternal": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"description": "Disable emitting declarations that have `@internal` in their JSDoc comments.",
"markdownDescription": "Disable emitting declarations that have `@internal` in their JSDoc comments.\n\nSee more: https://www.typescriptlang.org/tsconfig#stripInternal",
"type": [
"boolean",
"null"
]
},
"suppressExcessPropertyErrors": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"default": false,
"description": "Disable reporting of excess property errors during the creation of object literals.",
"markdownDescription": "Disable reporting of excess property errors during the creation of object literals.\n\nSee more: https://www.typescriptlang.org/tsconfig#suppressExcessPropertyErrors",
"type": [
"boolean",
"null"
]
},
"suppressImplicitAnyIndexErrors": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"default": false,
"description": "Suppress `noImplicitAny` errors when indexing objects that lack index signatures.",
"markdownDescription": "Suppress `noImplicitAny` errors when indexing objects that lack index signatures.\n\nSee more: https://www.typescriptlang.org/tsconfig#suppressImplicitAnyIndexErrors",
"type": [
"boolean",
"null"
]
},
"target": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"anyOf": [
{
"enum": [
"ES3",
"ES5",
"ES6",
"ES2015",
"ES2016",
"ES2017",
"ES2018",
"ES2019",
"ES2020",
"ES2021",
"ES2022",
"ES2023",
"ES2024",
"ESNext"
]
},
{
"pattern": "^([Ee][Ss]([356]|(20(1[56789]|2[01234]))|[Nn][Ee][Xx][Tt]))$"
}
],
"default": "ES3",
"description": "Set the JavaScript language version for emitted JavaScript and include compatible library declarations.",
"markdownDescription": "Set the JavaScript language version for emitted JavaScript and include compatible library declarations.\n\nSee more: https://www.typescriptlang.org/tsconfig#target",
"type": [
"string",
"null"
]
},
"traceResolution": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"default": false,
"description": "Enable tracing of the name resolution process. Requires TypeScript version 2.0 or later.",
"type": [
"boolean",
"null"
]
},
"tsBuildInfoFile": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"default": ".tsbuildinfo",
"description": "Specify the folder for .tsbuildinfo incremental compilation files.",
"markdownDescription": "Specify the folder for .tsbuildinfo incremental compilation files.\n\nSee more: https://www.typescriptlang.org/tsconfig#tsBuildInfoFile",
"type": [
"string",
"null"
]
},
"typeRoots": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"description": "Specify multiple folders that act like `./node_modules/@types`.",
"items": {
"type": [
"string",
"null"
]
},
"markdownDescription": "Specify multiple folders that act like `./node_modules/@types`.\n\nSee more: https://www.typescriptlang.org/tsconfig#typeRoots",
"type": [
"array",
"null"
],
"uniqueItems": true
},
"types": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"description": "Specify type package names to be included without being referenced in a source file.",
"items": {
"type": [
"string",
"null"
]
},
"markdownDescription": "Specify type package names to be included without being referenced in a source file.\n\nSee more: https://www.typescriptlang.org/tsconfig#types",
"type": [
"array",
"null"
],
"uniqueItems": true
},
"useDefineForClassFields": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"default": false,
"description": "Emit ECMAScript-standard-compliant class fields.",
"markdownDescription": "Emit ECMAScript-standard-compliant class fields.\n\nSee more: https://www.typescriptlang.org/tsconfig#useDefineForClassFields",
"type": [
"boolean",
"null"
]
},
"useUnknownInCatchVariables": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"default": false,
"description": "Default catch clause variables as `unknown` instead of `any`.",
"markdownDescription": "Default catch clause variables as `unknown` instead of `any`.\n\nSee more: https://www.typescriptlang.org/tsconfig#useUnknownInCatchVariables",
"type": [
"boolean",
"null"
]
},
"verbatimModuleSyntax": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"description": "Do not transform or elide any imports or exports not marked as type-only, ensuring they are written in the output file's format based on the 'module' setting.",
"markdownDescription": "Do not transform or elide any imports or exports not marked as type-only, ensuring they are written in the output file's format based on the 'module' setting.\n\nSee more: https://www.typescriptlang.org/tsconfig#verbatimModuleSyntax",
"type": [
"boolean",
"null"
]
},
"watch": {
"description": "Watch input files.",
"type": [
"boolean",
"null"
]
},
"watchDirectory": {
"default": "useFsEvents",
"description": "Specify the strategy for watching directories under systems that lack recursive file-watching functionality. Requires TypeScript version 3.8 or later.",
"enum": [
"useFsEvents",
"fixedPollingInterval",
"dynamicPriorityPolling",
"fixedChunkSizePolling"
]
},
"watchFile": {
"default": "useFsEvents",
"description": "Specify the strategy for watching individual files. Requires TypeScript version 3.8 or later.",
"enum": [
"fixedPollingInterval",
"priorityPollingInterval",
"dynamicPriorityPolling",
"useFsEvents",
"useFsEventsOnParentDirectory",
"fixedChunkSizePolling"
]
}
},
"type": [
"object",
"null"
]
}
}
},
"excludeDefinition": {
"properties": {
"exclude": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"description": "Specifies a list of files to be excluded from compilation. The 'exclude' property only affects the files included via the 'include' property and not the 'files' property. Glob patterns require TypeScript version 2.0 or later.",
"items": {
"type": [
"string",
"null"
]
},
"type": [
"array",
"null"
],
"uniqueItems": true
}
}
},
"extendsDefinition": {
"properties": {
"extends": {
"description": "Path to base configuration file to inherit from (requires TypeScript version 2.1 or later), or array of base files, with the rightmost files having the greater priority (requires TypeScript version 5.0 or later).",
"oneOf": [
{
"default": "",
"type": "string"
},
{
"default": [],
"items": {
"type": "string"
},
"type": "array"
}
]
}
}
},
"filesDefinition": {
"properties": {
"files": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"description": "If no 'files' or 'include' property is present in a tsconfig.json, the compiler defaults to including all files in the containing directory and subdirectories except those specified by 'exclude'. When a 'files' property is specified, only those files and those specified by 'include' are included.",
"items": {
"type": [
"string",
"null"
]
},
"type": [
"array",
"null"
],
"uniqueItems": true
}
}
},
"includeDefinition": {
"properties": {
"include": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"description": "Specifies a list of glob patterns that match files to be included in compilation. If no 'files' or 'include' property is present in a tsconfig.json, the compiler defaults to including all files in the containing directory and subdirectories except those specified by 'exclude'. Requires TypeScript version 2.0 or later.",
"items": {
"type": [
"string",
"null"
]
},
"type": [
"array",
"null"
],
"uniqueItems": true
}
}
},
"referencesDefinition": {
"properties": {
"references": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"description": "Referenced projects. Requires TypeScript version 3.0 or later.",
"items": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"description": "Project reference.",
"properties": {
"path": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"description": "Path to referenced tsconfig or to folder containing tsconfig.",
"type": [
"string",
"null"
]
}
},
"type": [
"object",
"null"
]
},
"type": [
"array",
"null"
],
"uniqueItems": true
}
}
},
"tsNodeDefinition": {
"properties": {
"ts-node": {
"description": "ts-node options. See also: https://typestrong.org/ts-node/docs/configuration\n\nts-node offers TypeScript execution and REPL for node.js, with source map support.",
"properties": {
"compiler": {
"default": "typescript",
"description": "Specify a custom TypeScript compiler.",
"type": [
"string",
"null"
]
},
"compilerHost": {
"default": false,
"description": "Use TypeScript's compiler host API instead of the language service API.",
"type": [
"boolean",
"null"
]
},
"compilerOptions": {
"additionalProperties": true,
"allOf": [
{
"$ref": "#/definitions/compilerOptionsDefinition/properties/compilerOptions"
}
],
"description": "JSON object to merge with TypeScript `compilerOptions`.",
"properties": {},
"type": [
"object",
"null"
]
},
"emit": {
"default": false,
"description": "Emit output files into `.ts-node` directory.",
"type": [
"boolean",
"null"
]
},
"esm": {
"description": "Enable native ESM support.\n\nFor details, see https://typestrong.org/ts-node/docs/imports#native-ecmascript-modules",
"type": [
"boolean",
"null"
]
},
"experimentalReplAwait": {
"description": "Allows the usage of top level await in REPL.\n\nUses node's implementation which accomplishes this with an AST syntax transformation.\n\nEnabled by default when tsconfig target is es2018 or above. Set to false to disable.\n\n**Note**: setting to `true` when tsconfig target is too low will throw an Error. Leave as `undefined`\nto get default, automatic behavior.",
"type": [
"boolean",
"null"
]
},
"experimentalResolver": {
"description": "Enable experimental features that re-map imports and require calls to support:\n`baseUrl`, `paths`, `rootDirs`, `.js` to `.ts` file extension mappings,\n`outDir` to `rootDir` mappings for composite projects and monorepos.\n\nFor details, see https://github.com/TypeStrong/ts-node/issues/1514",
"type": [
"boolean",
"null"
]
},
"experimentalSpecifierResolution": {
"description": "Like node's `--experimental-specifier-resolution`, , but can also be set in your `tsconfig.json` for convenience.\n\nFor details, see https://nodejs.org/dist/latest-v18.x/docs/api/esm.html#customizing-esm-specifier-resolution-algorithm",
"enum": [
"explicit",
"node"
],
"type": [
"string",
"null"
]
},
"files": {
"default": false,
"description": "Load \"files\" and \"include\" from `tsconfig.json` on startup.\n\nDefault is to override `tsconfig.json` \"files\" and \"include\" to only include the entrypoint script.",
"type": [
"boolean",
"null"
]
},
"ignore": {
"default": [
"(?:^|/)node_modules/"
],
"description": "Paths which should not be compiled.\n\nEach string in the array is converted to a regular expression via `new RegExp()` and tested against source paths prior to compilation.\n\nSource paths are normalized to posix-style separators, relative to the directory containing `tsconfig.json` or to cwd if no `tsconfig.json` is loaded.\n\nDefault is to ignore all node_modules subdirectories.",
"items": {
"type": [
"string",
"null"
]
},
"type": [
"array",
"null"
]
},
"ignoreDiagnostics": {
"description": "Ignore TypeScript warnings by diagnostic code.",
"items": {
"type": [
"string",
"number"
]
},
"type": [
"array",
"null"
]
},
"logError": {
"default": false,
"description": "Logs TypeScript errors to stderr instead of throwing exceptions.",
"type": [
"boolean",
"null"
]
},
"moduleTypes": {
"$ref": "#/definitions/tsNodeModuleTypes",
"description": "Override certain paths to be compiled and executed as CommonJS or ECMAScript modules.\nWhen overridden, the tsconfig \"module\" and package.json \"type\" fields are overridden, and\nthe file extension is ignored.\nThis is useful if you cannot use .mts, .cts, .mjs, or .cjs file extensions;\nit achieves the same effect.\n\nEach key is a glob pattern following the same rules as tsconfig's \"include\" array.\nWhen multiple patterns match the same file, the last pattern takes precedence.\n\n`cjs` overrides matches files to compile and execute as CommonJS.\n`esm` overrides matches files to compile and execute as native ECMAScript modules.\n`package` overrides either of the above to default behavior, which obeys package.json \"type\" and\ntsconfig.json \"module\" options."
},
"preferTsExts": {
"default": false,
"description": "Re-order file extensions so that TypeScript imports are preferred.\n\nFor example, when both `index.js` and `index.ts` exist, enabling this option causes `require('./index')` to resolve to `index.ts` instead of `index.js`",
"type": [
"boolean",
"null"
]
},
"pretty": {
"default": false,
"description": "Use pretty diagnostic formatter.",
"type": [
"boolean",
"null"
]
},
"require": {
"description": "Modules to require, like node's `--require` flag.\n\nIf specified in `tsconfig.json`, the modules will be resolved relative to the `tsconfig.json` file.\n\nIf specified programmatically, each input string should be pre-resolved to an absolute path for\nbest results.",
"items": {
"type": [
"string",
"null"
]
},
"type": [
"array",
"null"
]
},
"scope": {
"default": false,
"description": "Scope compiler to files within `scopeDir`.",
"type": [
"boolean",
"null"
]
},
"scopeDir": {
"default": "First of: `tsconfig.json` \"rootDir\" if specified, directory containing `tsconfig.json`, or cwd if no `tsconfig.json` is loaded.",
"type": [
"string",
"null"
]
},
"skipIgnore": {
"default": false,
"description": "Skip ignore check, so that compilation will be attempted for all files with matching extensions.",
"type": [
"boolean",
"null"
]
},
"swc": {
"description": "Transpile with swc instead of the TypeScript compiler, and skip typechecking.\n\nEquivalent to setting both `transpileOnly: true` and `transpiler: 'ts-node/transpilers/swc'`\n\nFor complete instructions: https://typestrong.org/ts-node/docs/transpilers",
"type": [
"boolean",
"null"
]
},
"transpileOnly": {
"default": false,
"description": "Use TypeScript's faster `transpileModule`.",
"type": [
"boolean",
"null"
]
},
"transpiler": {
"anyOf": [
{
"items": [
{
"type": [
"string",
"null"
]
},
{
"additionalProperties": true,
"properties": {},
"type": [
"object",
"null"
]
}
],
"maxItems": 2,
"minItems": 2,
"type": [
"array",
"null"
]
},
{
"type": [
"string",
"null"
]
}
],
"description": "Specify a custom transpiler for use with transpileOnly"
},
"typeCheck": {
"default": true,
"description": "**DEPRECATED** Specify type-check is enabled (e.g. `transpileOnly == false`).",
"type": [
"boolean",
"null"
]
}
},
"type": [
"object",
"null"
]
}
}
},
"tsNodeModuleTypes": {
"type": [
"object",
"null"
]
},
"typeAcquisitionDefinition": {
"properties": {
"typeAcquisition": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"description": "Auto type (.d.ts) acquisition options for this project. Requires TypeScript version 2.1 or later.",
"properties": {
"enable": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"default": false,
"description": "Enable auto type acquisition",
"type": [
"boolean",
"null"
]
},
"exclude": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"description": "Specifies a list of type declarations to be excluded from auto type acquisition. Ex. [\"jquery\", \"lodash\"]",
"items": {
"type": [
"string",
"null"
]
},
"type": [
"array",
"null"
],
"uniqueItems": true
},
"include": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"description": "Specifies a list of type declarations to be included in auto type acquisition. Ex. [\"jquery\", \"lodash\"]",
"items": {
"type": [
"string",
"null"
]
},
"type": [
"array",
"null"
],
"uniqueItems": true
}
},
"type": [
"object",
"null"
]
}
}
},
"watchOptionsDefinition": {
"properties": {
"watchOptions": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"description": "Settings for the watch mode in TypeScript.",
"properties": {
"excludeDirectories": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"description": "Remove a list of directories from the watch process.",
"items": {
"type": [
"string",
"null"
]
},
"markdownDescription": "Remove a list of directories from the watch process.\n\nSee more: https://www.typescriptlang.org/tsconfig#excludeDirectories",
"type": [
"array",
"null"
],
"uniqueItems": true
},
"excludeFiles": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"description": "Remove a list of files from the watch mode's processing.",
"items": {
"type": [
"string",
"null"
]
},
"markdownDescription": "Remove a list of files from the watch mode's processing.\n\nSee more: https://www.typescriptlang.org/tsconfig#excludeFiles",
"type": [
"array",
"null"
],
"uniqueItems": true
},
"fallbackPolling": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"description": "Specify what approach the watcher should use if the system runs out of native file watchers.",
"markdownDescription": "Specify what approach the watcher should use if the system runs out of native file watchers.\n\nSee more: https://www.typescriptlang.org/tsconfig#fallbackPolling",
"type": [
"string",
"null"
]
},
"force": {
"description": "~",
"type": [
"string",
"null"
]
},
"synchronousWatchDirectory": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"description": "Synchronously call callbacks and update the state of directory watchers on platforms that don`t support recursive watching natively.",
"markdownDescription": "Synchronously call callbacks and update the state of directory watchers on platforms that don`t support recursive watching natively.\n\nSee more: https://www.typescriptlang.org/tsconfig#synchronousWatchDirectory",
"type": [
"boolean",
"null"
]
},
"watchDirectory": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"description": "Specify how directories are watched on systems that lack recursive file-watching functionality.",
"markdownDescription": "Specify how directories are watched on systems that lack recursive file-watching functionality.\n\nSee more: https://www.typescriptlang.org/tsconfig#watchDirectory",
"type": [
"string",
"null"
]
},
"watchFile": {
"$comment": "The value of 'null' is UNDOCUMENTED (https://github.com/microsoft/TypeScript/pull/18058).",
"description": "Specify how the TypeScript watch mode works.",
"markdownDescription": "Specify how the TypeScript watch mode works.\n\nSee more: https://www.typescriptlang.org/tsconfig#watchFile",
"type": [
"string",
"null"
]
}
},
"type": [
"object",
"null"
]
}
}
}
},
"id": "https://json.schemastore.org/tsconfig",
"title": "JSON schema for the TypeScript compiler's configuration file",
"type": "object"
}
},
{
"fileMatch": [
"package.json"
],
"schema": {
"$id": "https://json.schemastore.org/package.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"anyOf": [
{
"not": {
"required": [
"bundledDependencies",
"bundleDependencies"
]
},
"type": "object"
},
{
"not": {
"required": [
"bundleDependencies"
]
},
"required": [
"bundledDependencies"
],
"type": "object"
},
{
"not": {
"required": [
"bundledDependencies"
]
},
"required": [
"bundleDependencies"
],
"type": "object"
}
],
"definitions": {
"dependency": {
"additionalProperties": {
"type": "string"
},
"description": "Dependencies are specified with a simple hash of package name to version range. The version range is a string which has one or more space-separated descriptors. Dependencies can also be identified with a tarball or git URL.",
"type": "object"
},
"devDependency": {
"additionalProperties": {
"type": "string"
},
"description": "Specifies dependencies that are required for the development and testing of the project. These dependencies are not needed in the production environment.",
"type": "object"
},
"fundingUrl": {
"description": "URL to a website with details about how to fund the package.",
"format": "uri",
"type": "string"
},
"fundingWay": {
"additionalProperties": false,
"description": "Used to inform about ways to help fund development of the package.",
"properties": {
"type": {
"description": "The type of funding or the platform through which funding can be provided, e.g. patreon, opencollective, tidelift or github.",
"type": "string"
},
"url": {
"$ref": "#/definitions/fundingUrl"
}
},
"required": [
"url"
],
"type": "object"
},
"license": {
"anyOf": [
{
"type": "string"
},
{
"enum": [
"AGPL-3.0-only",
"Apache-2.0",
"BSD-2-Clause",
"BSD-3-Clause",
"BSL-1.0",
"CC0-1.0",
"CDDL-1.0",
"CDDL-1.1",
"EPL-1.0",
"EPL-2.0",
"GPL-2.0-only",
"GPL-3.0-only",
"ISC",
"LGPL-2.0-only",
"LGPL-2.1-only",
"LGPL-2.1-or-later",
"LGPL-3.0-only",
"LGPL-3.0-or-later",
"MIT",
"MPL-2.0",
"MS-PL",
"UNLICENSED"
]
}
]
},
"optionalDependency": {
"additionalProperties": {
"type": "string"
},
"description": "Specifies dependencies that are optional for your project. These dependencies are attempted to be installed during the npm install process, but if they fail to install, the installation process will not fail.",
"type": "object"
},
"packageExportsEntry": {
"oneOf": [
{
"$ref": "#/definitions/packageExportsEntryPath"
},
{
"$ref": "#/definitions/packageExportsEntryObject"
}
]
},
"packageExportsEntryObject": {
"additionalProperties": false,
"description": "Used to specify conditional exports, note that Conditional exports are unsupported in older environments, so it's recommended to use the fallback array option if support for those environments is a concern.",
"patternProperties": {
"^[^.0-9]+$": {
"$ref": "#/definitions/packageExportsEntryOrFallback",
"description": "The module path that is resolved when this environment matches the property name."
},
"^types@.+$": {
"$ref": "#/definitions/packageExportsEntryOrFallback",
"description": "The module path that is resolved for TypeScript types when this specifier is imported. Should be listed before other conditions. Additionally, versioned \"types\" condition in the form \"types@{selector}\" are supported."
}
},
"properties": {
"default": {
"$ref": "#/definitions/packageExportsEntryOrFallback",
"description": "The module path that is resolved when no other export type matches."
},
"import": {
"$ref": "#/definitions/packageExportsEntryOrFallback",
"description": "The module path that is resolved when this specifier is imported as an ECMAScript module using an `import` declaration or the dynamic `import(...)` function."
},
"node": {
"$ref": "#/definitions/packageExportsEntryOrFallback",
"description": "The module path that is resolved when this environment is Node.js."
},
"require": {
"$ref": "#/definitions/packageExportsEntryOrFallback",
"description": "The module path that is resolved when this specifier is imported as a CommonJS module using the `require(...)` function."
},
"types": {
"$ref": "#/definitions/packageExportsEntryOrFallback",
"description": "The module path that is resolved for TypeScript types when this specifier is imported. Should be listed before other conditions. Additionally, versioned \"types\" condition in the form \"types@{selector}\" are supported."
}
},
"type": "object"
},
"packageExportsEntryOrFallback": {
"oneOf": [
{
"$ref": "#/definitions/packageExportsEntry"
},
{
"$ref": "#/definitions/packageExportsFallback"
}
]
},
"packageExportsEntryPath": {
"description": "The module path that is resolved when this specifier is imported. Set to `null` to disallow importing this module.",
"pattern": "^\\./",
"type": [
"string",
"null"
]
},
"packageExportsFallback": {
"description": "Used to allow fallbacks in case this environment doesn't support the preceding entries.",
"items": {
"$ref": "#/definitions/packageExportsEntry"
},
"type": "array"
},
"packageImportsEntry": {
"oneOf": [
{
"$ref": "#/definitions/packageImportsEntryPath"
},
{
"$ref": "#/definitions/packageImportsEntryObject"
}
]
},
"packageImportsEntryObject": {
"additionalProperties": false,
"description": "Used to specify conditional exports, note that Conditional exports are unsupported in older environments, so it's recommended to use the fallback array option if support for those environments is a concern.",
"patternProperties": {
"^[^.0-9]+$": {
"$ref": "#/definitions/packageImportsEntryOrFallback",
"description": "The module path that is resolved when this environment matches the property name."
},
"^types@.+$": {
"$ref": "#/definitions/packageImportsEntryOrFallback",
"description": "The module path that is resolved for TypeScript types when this specifier is imported. Should be listed before other conditions. Additionally, versioned \"types\" condition in the form \"types@{selector}\" are supported."
}
},
"properties": {
"default": {
"$ref": "#/definitions/packageImportsEntryOrFallback",
"description": "The module path that is resolved when no other export type matches."
},
"import": {
"$ref": "#/definitions/packageImportsEntryOrFallback",
"description": "The module path that is resolved when this specifier is imported as an ECMAScript module using an `import` declaration or the dynamic `import(...)` function."
},
"node": {
"$ref": "#/definitions/packageImportsEntryOrFallback",
"description": "The module path that is resolved when this environment is Node.js."
},
"require": {
"$ref": "#/definitions/packageImportsEntryOrFallback",
"description": "The module path that is resolved when this specifier is imported as a CommonJS module using the `require(...)` function."
},
"types": {
"$ref": "#/definitions/packageImportsEntryOrFallback",
"description": "The module path that is resolved for TypeScript types when this specifier is imported. Should be listed before other conditions. Additionally, versioned \"types\" condition in the form \"types@{selector}\" are supported."
}
},
"type": "object"
},
"packageImportsEntryOrFallback": {
"oneOf": [
{
"$ref": "#/definitions/packageImportsEntry"
},
{
"$ref": "#/definitions/packageImportsFallback"
}
]
},
"packageImportsEntryPath": {
"description": "The module path that is resolved when this specifier is imported. Set to `null` to disallow importing this module.",
"type": [
"string",
"null"
]
},
"packageImportsFallback": {
"description": "Used to allow fallbacks in case this environment doesn't support the preceding entries.",
"items": {
"$ref": "#/definitions/packageImportsEntry"
},
"type": "array"
},
"peerDependency": {
"additionalProperties": {
"type": "string"
},
"description": "Specifies dependencies that are required by the package but are expected to be provided by the consumer of the package.",
"type": "object"
},
"peerDependencyMeta": {
"additionalProperties": {
"additionalProperties": true,
"properties": {
"optional": {
"description": "Specifies that this peer dependency is optional and should not be installed automatically.",
"type": "boolean"
}
},
"type": "object"
},
"description": "When a user installs your package, warnings are emitted if packages specified in \"peerDependencies\" are not already installed. The \"peerDependenciesMeta\" field serves to provide more information on how your peer dependencies are utilized. Most commonly, it allows peer dependencies to be marked as optional. Metadata for this field is specified with a simple hash of the package name to a metadata object.",
"type": "object"
},
"person": {
"description": "A person who has been involved in creating or maintaining this package.",
"properties": {
"email": {
"format": "email",
"type": "string"
},
"name": {
"type": "string"
},
"url": {
"format": "uri",
"type": "string"
}
},
"required": [
"name"
],
"type": [
"object",
"string"
]
},
"scriptsInstallAfter": {
"description": "Run AFTER the package is installed.",
"type": "string",
"x-intellij-language-injection": "Shell Script"
},
"scriptsPublishAfter": {
"description": "Run AFTER the package is published.",
"type": "string",
"x-intellij-language-injection": "Shell Script"
},
"scriptsRestart": {
"description": "Run by the 'npm restart' command. Note: 'npm restart' will run the stop and start scripts if no restart script is provided.",
"type": "string",
"x-intellij-language-injection": "Shell Script"
},
"scriptsStart": {
"description": "Run by the 'npm start' command.",
"type": "string",
"x-intellij-language-injection": "Shell Script"
},
"scriptsStop": {
"description": "Run by the 'npm stop' command.",
"type": "string",
"x-intellij-language-injection": "Shell Script"
},
"scriptsTest": {
"description": "Run by the 'npm test' command.",
"type": "string",
"x-intellij-language-injection": "Shell Script"
},
"scriptsUninstallBefore": {
"description": "Run BEFORE the package is uninstalled.",
"type": "string",
"x-intellij-language-injection": "Shell Script"
},
"scriptsVersionBefore": {
"description": "Run BEFORE bump the package version.",
"type": "string",
"x-intellij-language-injection": "Shell Script"
}
},
"patternProperties": {
"^_": {
"description": "Any property starting with _ is valid.",
"tsType": "any"
}
},
"properties": {
"author": {
"$ref": "#/definitions/person"
},
"ava": {
"$ref": "https://json.schemastore.org/ava.json"
},
"bin": {
"additionalProperties": {
"type": "string"
},
"type": [
"string",
"object"
]
},
"bugs": {
"description": "The url to your project's issue tracker and / or the email address to which issues should be reported. These are helpful for people who encounter issues with your package.",
"properties": {
"email": {
"description": "The email address to which issues should be reported.",
"format": "email",
"type": "string"
},
"url": {
"description": "The url to your project's issue tracker.",
"format": "uri",
"type": "string"
}
},
"type": [
"object",
"string"
]
},
"bundleDependencies": {
"description": "Array of package names that will be bundled when publishing the package.",
"oneOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "boolean"
}
]
},
"bundledDependencies": {
"description": "DEPRECATED: This field is honored, but \"bundleDependencies\" is the correct field name.",
"oneOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "boolean"
}
]
},
"config": {
"additionalProperties": true,
"description": "A 'config' hash can be used to set configuration parameters used in package scripts that persist across upgrades.",
"type": "object"
},
"contributors": {
"description": "A list of people who contributed to this package.",
"items": {
"$ref": "#/definitions/person"
},
"type": "array"
},
"cpu": {
"description": "Specify that your code only runs on certain cpu architectures.",
"items": {
"type": "string"
},
"type": "array"
},
"dependencies": {
"$ref": "#/definitions/dependency"
},
"description": {
"description": "This helps people discover your package, as it's listed in 'npm search'.",
"type": "string"
},
"devDependencies": {
"$ref": "#/definitions/devDependency"
},
"directories": {
"properties": {
"bin": {
"description": "If you specify a 'bin' directory, then all the files in that folder will be used as the 'bin' hash.",
"type": "string"
},
"doc": {
"description": "Put markdown files in here. Eventually, these will be displayed nicely, maybe, someday.",
"type": "string"
},
"example": {
"description": "Put example scripts in here. Someday, it might be exposed in some clever way.",
"type": "string"
},
"lib": {
"description": "Tell people where the bulk of your library is. Nothing special is done with the lib folder in any way, but it's useful meta info.",
"type": "string"
},
"man": {
"description": "A folder that is full of man pages. Sugar to generate a 'man' array by walking the folder.",
"type": "string"
},
"test": {
"type": "string"
}
},
"type": "object"
},
"dist": {
"properties": {
"shasum": {
"type": "string"
},
"tarball": {
"type": "string"
}
},
"type": "object"
},
"engineStrict": {
"type": "boolean"
},
"engines": {
"additionalProperties": {
"type": "string"
},
"properties": {
"node": {
"type": "string"
}
},
"type": "object"
},
"eslintConfig": {
"$ref": "https://json.schemastore.org/eslintrc.json"
},
"esnext": {
"additionalProperties": {
"type": "string"
},
"description": "A module ID with untranspiled code that is the primary entry point to your program.",
"properties": {
"browser": {
"type": "string"
},
"main": {
"type": "string"
}
},
"type": [
"string",
"object"
]
},
"exports": {
"description": "The \"exports\" field is used to restrict external access to non-exported module files, also enables a module to import itself using \"name\".",
"oneOf": [
{
"$ref": "#/definitions/packageExportsEntryPath",
"description": "The module path that is resolved when the module specifier matches \"name\", shadows the \"main\" field."
},
{
"additionalProperties": false,
"patternProperties": {
"^\\./.+": {
"$ref": "#/definitions/packageExportsEntryOrFallback",
"description": "The module path prefix that is resolved when the module specifier starts with \"name/\", set to \"./*\" to allow external modules to import any subpath."
}
},
"properties": {
".": {
"$ref": "#/definitions/packageExportsEntryOrFallback",
"description": "The module path that is resolved when the module specifier matches \"name\", shadows the \"main\" field."
}
},
"type": "object"
},
{
"$ref": "#/definitions/packageExportsEntryObject",
"description": "The module path that is resolved when the module specifier matches \"name\", shadows the \"main\" field."
},
{
"$ref": "#/definitions/packageExportsFallback",
"description": "The module path that is resolved when the module specifier matches \"name\", shadows the \"main\" field."
}
]
},
"files": {
"description": "The 'files' field is an array of files to include in your project. If you name a folder in the array, then it will also include the files inside that folder.",
"items": {
"type": "string"
},
"type": "array"
},
"funding": {
"oneOf": [
{
"$ref": "#/definitions/fundingUrl"
},
{
"$ref": "#/definitions/fundingWay"
},
{
"items": {
"oneOf": [
{
"$ref": "#/definitions/fundingUrl"
},
{
"$ref": "#/definitions/fundingWay"
}
]
},
"minItems": 1,
"type": "array",
"uniqueItems": true
}
]
},
"homepage": {
"description": "The url to the project homepage.",
"type": "string"
},
"imports": {
"additionalProperties": false,
"description": "The \"imports\" field is used to create private mappings that only apply to import specifiers from within the package itself.",
"patternProperties": {
"^#.+$": {
"$ref": "#/definitions/packageImportsEntryOrFallback",
"description": "The module path that is resolved when this environment matches the property name."
}
},
"type": "object"
},
"jscpd": {
"$ref": "https://json.schemastore.org/jscpd.json"
},
"jspm": {
"$ref": "#"
},
"keywords": {
"description": "This helps people discover your package as it's listed in 'npm search'.",
"items": {
"type": "string"
},
"type": "array"
},
"license": {
"$ref": "#/definitions/license",
"description": "You should specify a license for your package so that people know how they are permitted to use it, and any restrictions you're placing on it."
},
"licenses": {
"description": "DEPRECATED: Instead, use SPDX expressions, like this: { \"license\": \"ISC\" } or { \"license\": \"(MIT OR Apache-2.0)\" } see: 'https://docs.npmjs.com/files/package.json#license'.",
"items": {
"properties": {
"type": {
"$ref": "#/definitions/license"
},
"url": {
"format": "uri",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"main": {
"description": "The main field is a module ID that is the primary entry point to your program.",
"type": "string"
},
"maintainers": {
"description": "A list of people who maintains this package.",
"items": {
"$ref": "#/definitions/person"
},
"type": "array"
},
"man": {
"description": "Specify either a single file or an array of filenames to put in place for the man program to find.",
"items": {
"type": "string"
},
"type": [
"array",
"string"
]
},
"module": {
"description": "An ECMAScript module ID that is the primary entry point to your program.",
"type": "string"
},
"name": {
"description": "The name of the package.",
"maxLength": 214,
"minLength": 1,
"pattern": "^(?:(?:@(?:[a-z0-9-*~][a-z0-9-*._~]*)?/[a-z0-9-._~])|[a-z0-9-~])[a-z0-9-._~]*$",
"type": "string"
},
"optionalDependencies": {
"$ref": "#/definitions/optionalDependency"
},
"os": {
"description": "Specify which operating systems your module will run on.",
"items": {
"type": "string"
},
"type": "array"
},
"overrides": {
"description": "Overrides is used to support selective version overrides using npm, which lets you define custom package versions or ranges inside your dependencies. For yarn, use resolutions instead. See: https://docs.npmjs.com/cli/v9/configuring-npm/package-json#overrides",
"type": "object"
},
"packageManager": {
"description": "Defines which package manager is expected to be used when working on the current project. This field is currently experimental and needs to be opted-in; see https://nodejs.org/api/corepack.html",
"pattern": "(npm|pnpm|yarn|bun)@\\d+\\.\\d+\\.\\d+(-.+)?",
"type": "string"
},
"peerDependencies": {
"$ref": "#/definitions/peerDependency"
},
"peerDependenciesMeta": {
"$ref": "#/definitions/peerDependencyMeta"
},
"pnpm": {
"additionalProperties": false,
"description": "Defines pnpm specific configuration.",
"properties": {
"allowNonAppliedPatches": {
"description": "When true, installation won't fail if some of the patches from the \"patchedDependencies\" field were not applied.",
"type": "boolean"
},
"allowedDeprecatedVersions": {
"description": "A list of deprecated versions that the warnings are suppressed.",
"type": "object"
},
"auditConfig": {
"additionalProperties": false,
"properties": {
"ignoreCves": {
"description": "A list of CVE IDs that will be ignored by \"pnpm audit\".",
"items": {
"pattern": "^CVE-\\d{4}-\\d{4,7}$",
"type": "string"
},
"type": "array"
},
"ignoreGhsas": {
"description": "A list of GHSA Codes that will be ignored by \"pnpm audit\".",
"items": {
"pattern": "^GHSA(-[23456789cfghjmpqrvwx]{4}){3}$",
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"configDependencies": {
"description": "Configurational dependencies are installed before all the other types of dependencies (before 'dependencies', 'devDependencies', 'optionalDependencies').",
"type": "object"
},
"executionEnv": {
"additionalProperties": false,
"properties": {
"nodeVersion": {
"description": "Specifies which exact Node.js version should be used for the project's runtime.",
"type": "string"
}
},
"type": "object"
},
"ignoredBuiltDependencies": {
"description": "A list of package names that should not be built during installation.",
"items": {
"type": "string"
},
"type": "array"
},
"ignoredOptionalDependencies": {
"description": "A list of optional dependencies that the install should be skipped.",
"items": {
"type": "string"
},
"type": "array"
},
"neverBuiltDependencies": {
"description": "A list of dependencies to run builds for.",
"items": {
"type": "string"
},
"type": "array"
},
"onlyBuiltDependencies": {
"description": "A list of package names that are allowed to be executed during installation.",
"items": {
"type": "string"
},
"type": "array"
},
"onlyBuiltDependenciesFile": {
"description": "Specifies a JSON file that lists the only packages permitted to run installation scripts during the pnpm install process.",
"type": "string"
},
"overrides": {
"description": "Used to override any dependency in the dependency graph.",
"type": "object"
},
"packageExtensions": {
"additionalProperties": false,
"description": "Used to extend the existing package definitions with additional information.",
"patternProperties": {
"^.+$": {
"additionalProperties": false,
"properties": {
"dependencies": {
"$ref": "#/definitions/dependency"
},
"optionalDependencies": {
"$ref": "#/definitions/optionalDependency"
},
"peerDependencies": {
"$ref": "#/definitions/peerDependency"
},
"peerDependenciesMeta": {
"$ref": "#/definitions/peerDependencyMeta"
}
},
"type": "object"
}
},
"type": "object"
},
"patchedDependencies": {
"description": "A list of dependencies that are patched.",
"type": "object"
},
"peerDependencyRules": {
"additionalProperties": false,
"properties": {
"allowAny": {
"description": "Any peer dependency matching the pattern will be resolved from any version, regardless of the range specified in \"peerDependencies\".",
"items": {
"type": "string"
},
"type": "array"
},
"allowedVersions": {
"description": "Unmet peer dependency warnings will not be printed for peer dependencies of the specified range.",
"type": "object"
},
"ignoreMissing": {
"description": "pnpm will not print warnings about missing peer dependencies from this list.",
"items": {
"type": "string"
},
"type": "array"
}
}
},
"requiredScripts": {
"description": "A list of scripts that must exist in each project.",
"items": {
"type": "string"
},
"type": "array"
},
"supportedArchitectures": {
"additionalProperties": false,
"description": "Specifies architectures for which you'd like to install optional dependencies, even if they don't match the architecture of the system running the install.",
"properties": {
"cpu": {
"items": {
"type": "string"
},
"type": "array"
},
"libc": {
"items": {
"type": "string"
},
"type": "array"
},
"os": {
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"updateConfig": {
"additionalProperties": false,
"properties": {
"ignoreDependencies": {
"description": "A list of packages that should be ignored when running \"pnpm outdated\" or \"pnpm update --latest\".",
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
},
"preferGlobal": {
"description": "DEPRECATED: This option used to trigger an npm warning, but it will no longer warn. It is purely there for informational purposes. It is now recommended that you install any binaries as local devDependencies wherever possible.",
"type": "boolean"
},
"prettier": {
"$ref": "https://json.schemastore.org/prettierrc.json"
},
"private": {
"description": "If set to true, then npm will refuse to publish it.",
"oneOf": [
{
"type": "boolean"
},
{
"enum": [
"false",
"true"
]
}
]
},
"publishConfig": {
"additionalProperties": true,
"properties": {
"access": {
"enum": [
"public",
"restricted"
],
"type": "string"
},
"provenance": {
"type": "boolean"
},
"registry": {
"format": "uri",
"type": "string"
},
"tag": {
"type": "string"
}
},
"type": "object"
},
"readme": {
"type": "string"
},
"release": {
"$ref": "https://json.schemastore.org/semantic-release.json"
},
"repository": {
"description": "Specify the place where your code lives. This is helpful for people who want to contribute.",
"properties": {
"directory": {
"type": "string"
},
"type": {
"type": "string"
},
"url": {
"type": "string"
}
},
"type": [
"object",
"string"
]
},
"resolutions": {
"description": "Resolutions is used to support selective version resolutions using yarn, which lets you define custom package versions or ranges inside your dependencies. For npm, use overrides instead. See: https://classic.yarnpkg.com/en/docs/selective-version-resolutions",
"type": "object"
},
"scripts": {
"additionalProperties": {
"tsType": "string | undefined",
"type": "string",
"x-intellij-language-injection": "Shell Script"
},
"description": "The 'scripts' member is an object hash of script commands that are run at various times in the lifecycle of your package. The key is the lifecycle event, and the value is the command to run at that point.",
"properties": {
"install": {
"$ref": "#/definitions/scriptsInstallAfter"
},
"lint": {
"description": "Run code quality tools, e.g. ESLint, TSLint, etc.",
"type": "string"
},
"postinstall": {
"$ref": "#/definitions/scriptsInstallAfter"
},
"postpack": {
"description": "Run AFTER the tarball has been generated and moved to its final destination.",
"type": "string"
},
"postpublish": {
"$ref": "#/definitions/scriptsPublishAfter"
},
"postrestart": {
"$ref": "#/definitions/scriptsRestart"
},
"poststart": {
"$ref": "#/definitions/scriptsStart"
},
"poststop": {
"$ref": "#/definitions/scriptsStop"
},
"posttest": {
"$ref": "#/definitions/scriptsTest"
},
"postuninstall": {
"description": "Run AFTER the package is uninstalled.",
"type": "string"
},
"postversion": {
"description": "Run AFTER bump the package version.",
"type": "string"
},
"preinstall": {
"description": "Run BEFORE the package is installed.",
"type": "string"
},
"prepack": {
"description": "run BEFORE a tarball is packed (on npm pack, npm publish, and when installing git dependencies).",
"type": "string"
},
"prepare": {
"description": "Runs BEFORE the package is packed, i.e. during \"npm publish\" and \"npm pack\", and on local \"npm install\" without any arguments. This is run AFTER \"prepublish\", but BEFORE \"prepublishOnly\".",
"type": "string"
},
"prepublish": {
"description": "Run BEFORE the package is published (Also run on local npm install without any arguments).",
"type": "string"
},
"prepublishOnly": {
"description": "Run BEFORE the package is prepared and packed, ONLY on npm publish.",
"type": "string"
},
"prerestart": {
"$ref": "#/definitions/scriptsRestart"
},
"prestart": {
"$ref": "#/definitions/scriptsStart"
},
"prestop": {
"$ref": "#/definitions/scriptsStop"
},
"pretest": {
"$ref": "#/definitions/scriptsTest"
},
"preuninstall": {
"$ref": "#/definitions/scriptsUninstallBefore"
},
"preversion": {
"$ref": "#/definitions/scriptsVersionBefore"
},
"publish": {
"description": "Publishes a package to the registry so that it can be installed by name. See https://docs.npmjs.com/cli/v8/commands/npm-publish",
"type": "string"
},
"restart": {
"$ref": "#/definitions/scriptsRestart"
},
"serve": {
"description": "Start dev server to serve application files",
"type": "string"
},
"start": {
"$ref": "#/definitions/scriptsStart"
},
"stop": {
"$ref": "#/definitions/scriptsStop"
},
"test": {
"$ref": "#/definitions/scriptsTest"
},
"uninstall": {
"$ref": "#/definitions/scriptsUninstallBefore"
},
"version": {
"$ref": "#/definitions/scriptsVersionBefore"
}
},
"type": "object"
},
"stylelint": {
"$ref": "https://json.schemastore.org/stylelintrc.json"
},
"type": {
"default": "commonjs",
"description": "When set to \"module\", the type field allows a package to specify all .js files within are ES modules. If the \"type\" field is omitted or set to \"commonjs\", all .js files are treated as CommonJS.",
"enum": [
"commonjs",
"module"
],
"type": "string"
},
"types": {
"description": "Set the types property to point to your bundled declaration file.",
"type": "string"
},
"typesVersions": {
"additionalProperties": {
"additionalProperties": false,
"description": "Contains overrides for the TypeScript version that matches the version range matching the property key.",
"patternProperties": {
"^[^*]*\\*[^*]*$": {
"description": "Maps file paths matching the pattern specified in property key to file paths specified in the array.",
"items": {
"pattern": "^[^*]*(?:\\*[^*]*)?$",
"type": "string"
},
"type": "array"
},
"^[^*]+$": {
"description": "Maps the file path matching the property key to the file paths specified in the array.",
"items": {
"type": "string"
},
"type": "array"
}
},
"properties": {
"*": {
"description": "Maps all file paths to the file paths specified in the array.",
"items": {
"pattern": "^[^*]*(?:\\*[^*]*)?$",
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"description": "The \"typesVersions\" field is used since TypeScript 3.1 to support features that were only made available in newer TypeScript versions.",
"type": "object"
},
"typings": {
"description": "Note that the \"typings\" field is synonymous with \"types\", and could be used as well.",
"type": "string"
},
"version": {
"description": "Version must be parsable by node-semver, which is bundled with npm as a dependency.",
"type": "string"
},
"volta": {
"description": "Defines which tools and versions are expected to be used when Volta is installed.",
"patternProperties": {
"(node|npm|pnpm|yarn)": {
"type": "string"
}
},
"properties": {
"extends": {
"description": "The value of that entry should be a path to another JSON file which also has a \"volta\" section",
"type": "string"
}
},
"type": "object"
},
"workspaces": {
"anyOf": [
{
"description": "Workspace package paths. Glob patterns are supported.",
"items": {
"type": "string"
},
"type": "array"
},
{
"properties": {
"nohoist": {
"description": "Packages to block from hoisting to the workspace root. Currently only supported in Yarn only.",
"items": {
"type": "string"
},
"type": "array"
},
"packages": {
"description": "Workspace package paths. Glob patterns are supported.",
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
],
"description": "Allows packages within a directory to depend on one another using direct linking of local files. Additionally, dependencies within a workspace are hoisted to the workspace root when possible to reduce duplication. Note: It's also a good idea to set \"private\" to true when using this feature."
}
},
"title": "JSON schema for NPM package.json files",
"type": "object"
}
},
{
"fileMatch": [
"zed/settings.json",
".zed/settings.json"
],
"schema": {
"allOf": [
{
"$ref": "#/definitions/ZedSettings"
},
{
"properties": {
"dev": {
"$ref": "#/definitions/ZedSettings"
},
"nightly": {
"$ref": "#/definitions/ZedSettings"
},
"preview": {
"$ref": "#/definitions/ZedSettings"
},
"stable": {
"$ref": "#/definitions/ZedSettings"
}
}
}
],
"definitions": {
"AccentContent": {
"type": [
"string",
"null"
]
},
"ActivateOnClose": {
"enum": [
"history",
"neighbour",
"left_neighbour"
],
"type": "string"
},
"ActivateScript": {
"enum": [
"default",
"csh",
"fish",
"nushell",
"power_shell"
],
"type": "string"
},
"ActivePanelModifiers": {
"properties": {
"border_size": {
"description": "Size of the border surrounding the active pane.\nWhen set to 0, the active pane doesn't have any border.\nThe border is drawn inset.\n\nDefault: `0.0`",
"format": "float",
"type": [
"number",
"null"
]
},
"inactive_opacity": {
"description": "Opacity of inactive panels.\nWhen set to 1.0, the inactive panes have the same opacity as the active one.\nIf set to 0, the inactive panes content will not be visible at all.\nValues are clamped to the [0.0, 1.0] range.\n\nDefault: `1.0`",
"format": "float",
"type": [
"number",
"null"
]
}
},
"type": "object"
},
"AgentDockPosition": {
"enum": [
"left",
"right",
"bottom"
],
"type": "string"
},
"AgentProfileContent": {
"properties": {
"context_servers": {
"additionalProperties": {
"$ref": "#/definitions/ContextServerPresetContent"
},
"default": {},
"type": "object"
},
"enable_all_context_servers": {
"description": "Whether all context servers are enabled by default.",
"type": [
"boolean",
"null"
]
},
"name": {
"type": "string"
},
"tools": {
"additionalProperties": {
"type": "boolean"
},
"default": {},
"type": "object"
}
},
"required": [
"name"
],
"type": "object"
},
"AgentProfileId": {
"type": "string"
},
"AlternateScroll": {
"enum": [
"on",
"off"
],
"type": "string"
},
"AmazonBedrockSettingsContent": {
"properties": {
"authentication_method": {
"anyOf": [
{
"$ref": "#/definitions/BedrockAuthMethod"
},
{
"type": "null"
}
]
},
"available_models": {
"items": {
"$ref": "#/definitions/AvailableModel2"
},
"type": [
"array",
"null"
]
},
"endpoint_url": {
"type": [
"string",
"null"
]
},
"profile": {
"type": [
"string",
"null"
]
},
"region": {
"type": [
"string",
"null"
]
}
},
"type": "object"
},
"AnthropicSettingsContent": {
"properties": {
"api_url": {
"type": [
"string",
"null"
]
},
"available_models": {
"items": {
"$ref": "#/definitions/AvailableModel"
},
"type": [
"array",
"null"
]
}
},
"type": "object"
},
"AutoUpdateSettingContent": {
"description": "Whether or not to automatically check for updates.\n\nDefault: true",
"type": "boolean"
},
"AutosaveSetting": {
"oneOf": [
{
"const": "off",
"description": "Disable autosave.",
"type": "string"
},
{
"additionalProperties": false,
"description": "Save after inactivity period of `milliseconds`.",
"properties": {
"after_delay": {
"properties": {
"milliseconds": {
"format": "uint64",
"minimum": 0,
"type": "integer"
}
},
"required": [
"milliseconds"
],
"type": "object"
}
},
"required": [
"after_delay"
],
"type": "object"
},
{
"const": "on_focus_change",
"description": "Autosave when focus changes.",
"type": "string"
},
{
"const": "on_window_change",
"description": "Autosave when the active window changes.",
"type": "string"
}
]
},
"AvailableModel": {
"properties": {
"cache_configuration": {
"anyOf": [
{
"$ref": "#/definitions/LanguageModelCacheConfiguration"
},
{
"type": "null"
}
],
"description": "Configuration of Anthropic's caching API."
},
"default_temperature": {
"format": "float",
"type": [
"number",
"null"
]
},
"display_name": {
"description": "The model's name in Zed's UI, such as in the model selector dropdown menu in the assistant panel.",
"type": [
"string",
"null"
]
},
"extra_beta_headers": {
"default": [],
"items": {
"type": "string"
},
"type": "array"
},
"max_output_tokens": {
"format": "uint64",
"minimum": 0,
"type": [
"integer",
"null"
]
},
"max_tokens": {
"description": "The model's context window size.",
"format": "uint64",
"minimum": 0,
"type": "integer"
},
"mode": {
"anyOf": [
{
"$ref": "#/definitions/ModelMode"
},
{
"type": "null"
}
],
"description": "The model's mode (e.g. thinking)"
},
"name": {
"description": "The model's name in the Anthropic API. e.g. claude-3-5-sonnet-latest, claude-3-opus-20240229, etc",
"type": "string"
},
"tool_override": {
"description": "A model `name` to substitute when calling tools, in case the primary model doesn't support tool calling.",
"type": [
"string",
"null"
]
}
},
"required": [
"name",
"max_tokens"
],
"type": "object"
},
"AvailableModel10": {
"properties": {
"display_name": {
"type": [
"string",
"null"
]
},
"max_completion_tokens": {
"format": "uint64",
"minimum": 0,
"type": [
"integer",
"null"
]
},
"max_output_tokens": {
"format": "uint64",
"minimum": 0,
"type": [
"integer",
"null"
]
},
"max_tokens": {
"format": "uint64",
"minimum": 0,
"type": "integer"
},
"name": {
"type": "string"
}
},
"required": [
"name",
"max_tokens"
],
"type": "object"
},
"AvailableModel11": {
"properties": {
"display_name": {
"type": [
"string",
"null"
]
},
"max_completion_tokens": {
"format": "uint64",
"minimum": 0,
"type": [
"integer",
"null"
]
},
"max_output_tokens": {
"format": "uint64",
"minimum": 0,
"type": [
"integer",
"null"
]
},
"max_tokens": {
"format": "uint64",
"minimum": 0,
"type": "integer"
},
"name": {
"type": "string"
},
"supports_images": {
"type": [
"boolean",
"null"
]
},
"supports_tools": {
"type": [
"boolean",
"null"
]
}
},
"required": [
"name",
"max_tokens"
],
"type": "object"
},
"AvailableModel2": {
"properties": {
"cache_configuration": {
"anyOf": [
{
"$ref": "#/definitions/LanguageModelCacheConfiguration"
},
{
"type": "null"
}
]
},
"default_temperature": {
"format": "float",
"type": [
"number",
"null"
]
},
"display_name": {
"type": [
"string",
"null"
]
},
"max_output_tokens": {
"format": "uint64",
"minimum": 0,
"type": [
"integer",
"null"
]
},
"max_tokens": {
"format": "uint64",
"minimum": 0,
"type": "integer"
},
"mode": {
"anyOf": [
{
"$ref": "#/definitions/ModelMode2"
},
{
"type": "null"
}
]
},
"name": {
"type": "string"
}
},
"required": [
"name",
"max_tokens"
],
"type": "object"
},
"AvailableModel3": {
"properties": {
"display_name": {
"description": "The model's name in Zed's UI, such as in the model selector dropdown menu in the assistant panel.",
"type": [
"string",
"null"
]
},
"keep_alive": {
"anyOf": [
{
"$ref": "#/definitions/KeepAlive"
},
{
"type": "null"
}
],
"description": "The number of seconds to keep the connection open after the last request"
},
"max_tokens": {
"description": "The Context Length parameter to the model (aka num_ctx or n_ctx)",
"format": "uint64",
"minimum": 0,
"type": "integer"
},
"name": {
"description": "The model name in the Ollama API (e.g. \"llama3.2:latest\")",
"type": "string"
},
"supports_images": {
"description": "Whether the model supports vision",
"type": [
"boolean",
"null"
]
},
"supports_thinking": {
"description": "Whether to enable think mode",
"type": [
"boolean",
"null"
]
},
"supports_tools": {
"description": "Whether the model supports tools",
"type": [
"boolean",
"null"
]
}
},
"required": [
"name",
"max_tokens"
],
"type": "object"
},
"AvailableModel4": {
"properties": {
"display_name": {
"type": [
"string",
"null"
]
},
"max_tokens": {
"format": "uint64",
"minimum": 0,
"type": "integer"
},
"name": {
"type": "string"
},
"supports_images": {
"type": "boolean"
},
"supports_tool_calls": {
"type": "boolean"
}
},
"required": [
"name",
"max_tokens",
"supports_tool_calls",
"supports_images"
],
"type": "object"
},
"AvailableModel5": {
"properties": {
"display_name": {
"type": [
"string",
"null"
]
},
"max_completion_tokens": {
"format": "uint64",
"minimum": 0,
"type": [
"integer",
"null"
]
},
"max_output_tokens": {
"format": "uint64",
"minimum": 0,
"type": [
"integer",
"null"
]
},
"max_tokens": {
"format": "uint64",
"minimum": 0,
"type": "integer"
},
"name": {
"type": "string"
}
},
"required": [
"name",
"max_tokens"
],
"type": "object"
},
"AvailableModel6": {
"properties": {
"display_name": {
"type": [
"string",
"null"
]
},
"max_completion_tokens": {
"format": "uint64",
"minimum": 0,
"type": [
"integer",
"null"
]
},
"max_output_tokens": {
"format": "uint64",
"minimum": 0,
"type": [
"integer",
"null"
]
},
"max_tokens": {
"format": "uint64",
"minimum": 0,
"type": "integer"
},
"mode": {
"anyOf": [
{
"$ref": "#/definitions/ModelMode3"
},
{
"type": "null"
}
]
},
"name": {
"type": "string"
},
"supports_images": {
"type": [
"boolean",
"null"
]
},
"supports_tools": {
"type": [
"boolean",
"null"
]
}
},
"required": [
"name",
"max_tokens"
],
"type": "object"
},
"AvailableModel7": {
"properties": {
"cache_configuration": {
"anyOf": [
{
"$ref": "#/definitions/LanguageModelCacheConfiguration"
},
{
"type": "null"
}
],
"description": "Indicates whether this custom model supports caching."
},
"default_temperature": {
"description": "The default temperature to use for this model.",
"format": "float",
"type": [
"number",
"null"
]
},
"display_name": {
"description": "The name displayed in the UI, such as in the assistant panel model dropdown menu.",
"type": [
"string",
"null"
]
},
"extra_beta_headers": {
"default": [],
"description": "Any extra beta headers to provide when using the model.",
"items": {
"type": "string"
},
"type": "array"
},
"max_completion_tokens": {
"description": "The maximum number of completion tokens allowed by the model (o1-* only)",
"format": "uint64",
"minimum": 0,
"type": [
"integer",
"null"
]
},
"max_output_tokens": {
"description": "The maximum number of output tokens allowed by the model.",
"format": "uint64",
"minimum": 0,
"type": [
"integer",
"null"
]
},
"max_tokens": {
"description": "The size of the context window, indicating the maximum number of tokens the model can process.",
"format": "uint",
"minimum": 0,
"type": "integer"
},
"mode": {
"anyOf": [
{
"$ref": "#/definitions/ModelMode4"
},
{
"type": "null"
}
],
"description": "The model's mode (e.g. thinking)"
},
"name": {
"description": "The model's name in the provider's API. e.g. claude-3-5-sonnet-20240620",
"type": "string"
},
"provider": {
"allOf": [
{
"$ref": "#/definitions/AvailableProvider"
}
],
"description": "The provider of the language model."
},
"tool_override": {
"description": "Override this model with a different Anthropic model for tool calls.",
"type": [
"string",
"null"
]
}
},
"required": [
"provider",
"name",
"max_tokens"
],
"type": "object"
},
"AvailableModel8": {
"properties": {
"display_name": {
"type": [
"string",
"null"
]
},
"max_tokens": {
"format": "uint64",
"minimum": 0,
"type": "integer"
},
"mode": {
"anyOf": [
{
"$ref": "#/definitions/ModelMode5"
},
{
"type": "null"
}
]
},
"name": {
"type": "string"
}
},
"required": [
"name",
"max_tokens"
],
"type": "object"
},
"AvailableModel9": {
"properties": {
"display_name": {
"type": [
"string",
"null"
]
},
"max_output_tokens": {
"format": "uint64",
"minimum": 0,
"type": [
"integer",
"null"
]
},
"max_tokens": {
"format": "uint64",
"minimum": 0,
"type": "integer"
},
"name": {
"type": "string"
}
},
"required": [
"name",
"max_tokens"
],
"type": "object"
},
"AvailableProvider": {
"enum": [
"anthropic",
"openai",
"google"
],
"type": "string"
},
"BaseKeymap": {
"description": "Base key bindings scheme. Base keymaps can be overridden with user keymaps.\n\nDefault: VSCode",
"enum": [
"VSCode",
"JetBrains",
"SublimeText",
"Atom",
"TextMate",
"Emacs",
"Cursor",
"None"
],
"type": "string"
},
"BedrockAuthMethod": {
"oneOf": [
{
"enum": [
"named_profile",
"sso"
],
"type": "string"
},
{
"const": "default",
"description": "IMDSv2, PodIdentity, env vars, etc.",
"type": "string"
}
]
},
"BinarySettings": {
"properties": {
"arguments": {
"items": {
"type": "string"
},
"type": [
"array",
"null"
]
},
"env": {
"additionalProperties": {
"type": "string"
},
"type": [
"object",
"null"
]
},
"ignore_system_version": {
"type": [
"boolean",
"null"
]
},
"path": {
"type": [
"string",
"null"
]
}
},
"type": "object"
},
"BottomDockLayout": {
"oneOf": [
{
"const": "contained",
"description": "Contained between the left and right docks",
"type": "string"
},
{
"const": "full",
"description": "Takes up the full width of the window",
"type": "string"
},
{
"const": "left_aligned",
"description": "Extends under the left dock while snapping to the right dock",
"type": "string"
},
{
"const": "right_aligned",
"description": "Extends under the right dock while snapping to the left dock",
"type": "string"
}
]
},
"BufferLineHeight": {
"description": "The buffer's line height.",
"oneOf": [
{
"const": "comfortable",
"description": "A less dense line height.",
"type": "string"
},
{
"const": "standard",
"description": "The default line height.",
"type": "string"
},
{
"additionalProperties": false,
"description": "A custom line height, where 1.0 is the font's height. Must be at least 1.0.",
"properties": {
"custom": {
"format": "float",
"type": "number"
}
},
"required": [
"custom"
],
"type": "object"
}
]
},
"CargoDiagnosticsSettings": {
"properties": {
"fetch_cargo_diagnostics": {
"default": false,
"description": "When enabled, Zed disables rust-analyzer's check on save and starts to query\nCargo diagnostics separately.\n\nDefault: false",
"type": "boolean"
}
},
"type": "object"
},
"CargoWorkspaceCommandSettings": {
"description": "Settings for the `/cargo-workspace` slash command.",
"properties": {
"enabled": {
"default": false,
"description": "Whether `/cargo-workspace` is enabled.",
"type": "boolean"
}
},
"type": "object"
},
"CenteredLayoutSettings": {
"properties": {
"left_padding": {
"description": "The relative width of the left padding of the central pane from the\nworkspace when the centered layout is used.\n\nDefault: 0.2",
"format": "float",
"type": [
"number",
"null"
]
},
"right_padding": {
"description": "Default: 0.2",
"format": "float",
"type": [
"number",
"null"
]
}
},
"type": "object"
},
"ChatPanelButton": {
"enum": [
"never",
"always",
"when_in_call"
],
"type": "string"
},
"ClosePosition": {
"enum": [
"left",
"right"
],
"type": "string"
},
"CloseWindowWhenNoItems": {
"oneOf": [
{
"const": "platform_default",
"description": "Match platform conventions by default, so \"on\" on macOS and \"off\" everywhere else",
"type": "string"
},
{
"const": "close_window",
"description": "Close the window when there are no tabs",
"type": "string"
},
{
"const": "keep_window_open",
"description": "Leave the window open when there are no tabs",
"type": "string"
}
]
},
"CompletionMode": {
"enum": [
"normal",
"burn"
],
"type": "string"
},
"CompletionSettings": {
"description": "Controls how completions are processed for this language.",
"properties": {
"lsp": {
"default": true,
"description": "Whether to fetch LSP completions or not.\n\nDefault: true",
"type": "boolean"
},
"lsp_fetch_timeout_ms": {
"default": 0,
"description": "When fetching LSP completions, determines how long to wait for a response of a particular server.\nWhen set to 0, waits indefinitely.\n\nDefault: 0",
"format": "uint64",
"minimum": 0,
"type": "integer"
},
"lsp_insert_mode": {
"allOf": [
{
"$ref": "#/definitions/LspInsertMode"
}
],
"default": "replace_suffix",
"description": "Controls how LSP completions are inserted.\n\nDefault: \"replace_suffix\""
},
"words": {
"allOf": [
{
"$ref": "#/definitions/WordsCompletionMode"
}
],
"default": "fallback",
"description": "Controls how words are completed.\nFor large documents, not all words may be fetched for completion.\n\nDefault: `fallback`"
}
},
"type": "object"
},
"ContextServerCommand": {
"properties": {
"args": {
"items": {
"type": "string"
},
"type": "array"
},
"env": {
"additionalProperties": {
"type": "string"
},
"type": [
"object",
"null"
]
},
"path": {
"type": "string"
}
},
"required": [
"path",
"args"
],
"type": "object"
},
"ContextServerPresetContent": {
"properties": {
"tools": {
"additionalProperties": {
"type": "boolean"
},
"type": "object"
}
},
"required": [
"tools"
],
"type": "object"
},
"ContextServerSettings": {
"oneOf": [
{
"properties": {
"command": {
"allOf": [
{
"$ref": "#/definitions/ContextServerCommand"
}
],
"description": "The command to run this context server.\n\nThis will override the command set by an extension."
},
"enabled": {
"default": true,
"description": "Whether the context server is enabled.",
"type": "boolean"
},
"source": {
"const": "custom",
"type": "string"
}
},
"required": [
"source",
"command"
],
"type": "object"
},
{
"properties": {
"enabled": {
"default": true,
"description": "Whether the context server is enabled.",
"type": "boolean"
},
"settings": {
"description": "The settings for this context server specified by the extension.\n\nConsult the documentation for the context server to see what settings\nare supported."
},
"source": {
"const": "extension",
"type": "string"
}
},
"required": [
"source",
"settings"
],
"type": "object"
}
]
},
"CopilotSettingsContent": {
"properties": {
"enterprise_uri": {
"default": null,
"description": "Enterprise URI for Copilot.\n\nDefault: none",
"type": [
"string",
"null"
]
},
"proxy": {
"default": null,
"description": "HTTP/HTTPS proxy to use for Copilot.\n\nDefault: none",
"type": [
"string",
"null"
]
},
"proxy_no_verify": {
"default": null,
"description": "Disable certificate verification for the proxy (not recommended).\n\nDefault: false",
"type": [
"boolean",
"null"
]
}
},
"type": "object"
},
"CurrentLineHighlight": {
"enum": [
"none",
"gutter",
"line",
"all"
],
"type": "string"
},
"CursorShape": {
"description": "The shape of a selection cursor.",
"oneOf": [
{
"const": "bar",
"description": "A vertical bar",
"type": "string"
},
{
"const": "block",
"description": "A block that surrounds the following character",
"type": "string"
},
{
"const": "underline",
"description": "An underline that runs along the following character",
"type": "string"
},
{
"const": "hollow",
"description": "A box drawn around the following character",
"type": "string"
}
]
},
"CursorShape2": {
"oneOf": [
{
"const": "block",
"description": "Cursor is a block like `█`.",
"type": "string"
},
{
"const": "underline",
"description": "Cursor is an underscore like `_`.",
"type": "string"
},
{
"const": "bar",
"description": "Cursor is a vertical bar like `⎸`.",
"type": "string"
},
{
"const": "hollow",
"description": "Cursor is a hollow box like `▯`.",
"type": "string"
}
]
},
"CursorShapeSettings": {
"description": "The settings for cursor shape.",
"properties": {
"insert": {
"anyOf": [
{
"$ref": "#/definitions/CursorShape"
},
{
"type": "null"
}
],
"description": "Cursor shape for the insert mode.\n\nThe default value follows the primary cursor_shape."
},
"normal": {
"anyOf": [
{
"$ref": "#/definitions/CursorShape"
},
{
"type": "null"
}
],
"description": "Cursor shape for the normal mode.\n\nDefault: block"
},
"replace": {
"anyOf": [
{
"$ref": "#/definitions/CursorShape"
},
{
"type": "null"
}
],
"description": "Cursor shape for the replace mode.\n\nDefault: underline"
},
"visual": {
"anyOf": [
{
"$ref": "#/definitions/CursorShape"
},
{
"type": "null"
}
],
"description": "Cursor shape for the visual mode.\n\nDefault: block"
}
},
"type": "object"
},
"DapSettings": {
"properties": {
"args": {
"default": [],
"items": {
"type": "string"
},
"type": "array"
},
"binary": {
"type": [
"string",
"null"
]
}
},
"type": "object"
},
"DebugPanelDockPosition": {
"enum": [
"left",
"bottom",
"right"
],
"type": "string"
},
"DeepseekSettingsContent": {
"properties": {
"api_url": {
"type": [
"string",
"null"
]
},
"available_models": {
"items": {
"$ref": "#/definitions/AvailableModel9"
},
"type": [
"array",
"null"
]
}
},
"type": "object"
},
"DefaultView": {
"enum": [
"thread",
"text_thread"
],
"type": "string"
},
"DiagnosticSeverity": {
"enum": [
"off",
"error",
"warning",
"info",
"hint"
],
"type": "string"
},
"DiagnosticsSettings": {
"properties": {
"button": {
"default": true,
"description": "Whether to show the project diagnostics button in the status bar.",
"type": "boolean"
},
"cargo": {
"anyOf": [
{
"$ref": "#/definitions/CargoDiagnosticsSettings"
},
{
"type": "null"
}
],
"default": null,
"description": "Configuration, related to Rust language diagnostics."
},
"include_warnings": {
"default": true,
"description": "Whether or not to include warning diagnostics.",
"type": "boolean"
},
"inline": {
"allOf": [
{
"$ref": "#/definitions/InlineDiagnosticsSettings"
}
],
"default": {
"enabled": false,
"max_severity": null,
"min_column": 0,
"padding": 4,
"update_debounce_ms": 150
},
"description": "Settings for showing inline diagnostics."
},
"lsp_pull_diagnostics": {
"allOf": [
{
"$ref": "#/definitions/LspPullDiagnosticsSettings"
}
],
"default": {
"debounce_ms": 50,
"enabled": true
},
"description": "Settings for using LSP pull diagnostics mechanism in Zed."
}
},
"type": "object"
},
"DirenvSettings": {
"oneOf": [
{
"const": "shell_hook",
"description": "Load direnv configuration through a shell hook",
"type": "string"
},
{
"const": "direct",
"description": "Load direnv configuration directly using `direnv export json`",
"type": "string"
}
]
},
"DisplayIn": {
"description": "Where to show the minimap in the editor.\n\nDefault: all_editors",
"oneOf": [
{
"const": "all_editors",
"description": "Show on all open editors.",
"type": "string"
},
{
"const": "active_editor",
"description": "Show the minimap on the active editor only.",
"type": "string"
}
]
},
"DockPosition": {
"enum": [
"left",
"bottom",
"right"
],
"type": "string"
},
"DocsCommandSettings": {
"description": "Settings for the `/docs` slash command.",
"properties": {
"enabled": {
"default": false,
"description": "Whether `/docs` is enabled.",
"type": "boolean"
}
},
"type": "object"
},
"DocumentColorsRenderMode": {
"description": "How to render LSP `textDocument/documentColor` colors in the editor.",
"oneOf": [
{
"const": "none",
"description": "Do not query and render document colors.",
"type": "string"
},
{
"const": "inlay",
"description": "Render document colors as inlay hints near the color text.",
"type": "string"
},
{
"const": "border",
"description": "Draw a border around the color text.",
"type": "string"
},
{
"const": "background",
"description": "Draw a background behind the color text.",
"type": "string"
}
]
},
"DoubleClickInMultibuffer": {
"description": "What to do when multibuffer is double clicked in some of its excerpts (parts of singleton buffers).",
"oneOf": [
{
"const": "select",
"description": "Behave as a regular buffer and select the whole word.",
"type": "string"
},
{
"const": "open",
"description": "Open the excerpt clicked as a new buffer in the new tab, if no `alt` modifier was pressed during double click.\nOtherwise, behave as a regular buffer and select the whole word.",
"type": "string"
}
]
},
"EditPredictionProvider": {
"description": "The provider that supplies edit predictions.",
"enum": [
"none",
"copilot",
"supermaven",
"zed"
],
"type": "string"
},
"EditPredictionSettingsContent": {
"description": "The contents of the edit prediction settings.",
"properties": {
"copilot": {
"allOf": [
{
"$ref": "#/definitions/CopilotSettingsContent"
}
],
"default": {
"enterprise_uri": null,
"proxy": null,
"proxy_no_verify": null
},
"description": "Settings specific to GitHub Copilot."
},
"disabled_globs": {
"default": null,
"description": "A list of globs representing files that edit predictions should be disabled for.\nThis list adds to a pre-existing, sensible default set of globs.\nAny additional ones you add are combined with them.",
"items": {
"type": "string"
},
"type": [
"array",
"null"
]
},
"enabled_in_text_threads": {
"default": true,
"description": "Whether edit predictions are enabled in the assistant prompt editor.\nThis has no effect if globally disabled.",
"type": "boolean"
},
"mode": {
"allOf": [
{
"$ref": "#/definitions/EditPredictionsMode"
}
],
"default": "eager",
"description": "The mode used to display edit predictions in the buffer.\nProvider support required."
}
},
"type": "object"
},
"EditPredictionsMode": {
"description": "The mode in which edit predictions should be displayed.",
"oneOf": [
{
"const": "subtle",
"description": "If provider supports it, display inline when holding modifier key (e.g., alt).\nOtherwise, eager preview is used.",
"type": "string"
},
{
"const": "eager",
"description": "Display inline when there are no language server completions available.",
"type": "string"
}
]
},
"EntrySpacing": {
"oneOf": [
{
"const": "comfortable",
"description": "Comfortable spacing of entries.",
"type": "string"
},
{
"const": "standard",
"description": "The standard spacing of entries.",
"type": "string"
}
]
},
"FeaturesContent": {
"description": "The settings for enabling/disabling features.",
"properties": {
"edit_prediction_provider": {
"anyOf": [
{
"$ref": "#/definitions/EditPredictionProvider"
},
{
"type": "null"
}
],
"description": "Determines which edit prediction provider to use."
}
},
"type": "object"
},
"FileFinderWidth": {
"enum": [
"small",
"medium",
"large",
"xlarge",
"full"
],
"type": "string"
},
"FontFamilyName": {
"enum": [
".SystemUIFont",
"C059",
"Cantarell",
"D050000L",
"DejaVu Math TeX Gyre",
"DejaVu Sans",
"DejaVu Sans Mono",
"DejaVu Serif",
"Droid Sans Fallback",
"FontAwesome",
"FreeMono",
"FreeSans",
"FreeSerif",
"Hack",
"Helvetica",
"Latin Modern Math",
"Latin Modern Mono",
"Latin Modern Mono Caps",
"Latin Modern Mono Light",
"Latin Modern Mono Light Cond",
"Latin Modern Mono Prop",
"Latin Modern Mono Prop Light",
"Latin Modern Mono Slanted",
"Latin Modern Roman",
"Latin Modern Roman Caps",
"Latin Modern Roman Demi",
"Latin Modern Roman Dunhill",
"Latin Modern Roman Slanted",
"Latin Modern Roman Unslanted",
"Latin Modern Sans",
"Latin Modern Sans Demi Cond",
"Latin Modern Sans Quotation",
"Lato",
"Liberation Mono",
"Liberation Sans",
"Liberation Sans Narrow",
"Liberation Serif",
"Nimbus Mono PS",
"Nimbus Roman",
"Nimbus Sans",
"Nimbus Sans Narrow",
"Noto Color Emoji",
"Noto Mono",
"Noto Sans",
"Noto Sans Mono",
"Open Sans",
"Open Sans Condensed",
"OpenSymbol",
"P052",
"Quicksand",
"Quicksand Light",
"Quicksand Medium",
"Segoe UI",
"Standard Symbols PS",
"Symbola",
"TeX Gyre Adventor",
"TeX Gyre Bonum",
"TeX Gyre Bonum Math",
"TeX Gyre Chorus",
"TeX Gyre Cursor",
"TeX Gyre DejaVu Math",
"TeX Gyre Heros",
"TeX Gyre Heros Cn",
"TeX Gyre Pagella",
"TeX Gyre Pagella Math",
"TeX Gyre Schola",
"TeX Gyre Schola Math",
"TeX Gyre Termes",
"TeX Gyre Termes Math",
"URW Bookman",
"URW Gothic",
"Ubuntu",
"Z003",
"Zed Plex Mono",
"Zed Plex Sans",
"cmex10",
"cmmi10",
"cmr10",
"cmsy10",
"dsrom10",
"esint10",
"eufm10",
"msam10",
"msbm10",
"rsfs10",
"stmary10",
"wasy10"
],
"type": "string"
},
"FontFeatures": {
"patternProperties": {
"[0-9a-zA-Z]{4}$": {
"minimum": 0,
"multipleOf": 1,
"type": [
"boolean",
"integer"
]
}
},
"type": "object"
},
"FontStyleContent": {
"enum": [
"normal",
"italic",
"oblique"
],
"type": "string"
},
"FontWeightContent": {
"enum": [
100,
200,
300,
400,
500,
600,
700,
800,
900
],
"type": "integer"
},
"Formatter": {
"oneOf": [
{
"items": {
"description": "Controls which formatter should be used when formatting code. If there are multiple formatters, they are executed in the order of declaration.",
"oneOf": [
{
"additionalProperties": false,
"description": "Format code using the current language server.",
"properties": {
"language_server": {
"properties": {
"name": {
"type": [
"string",
"null"
]
}
},
"type": "object"
}
},
"required": [
"language_server"
],
"type": "object"
},
{
"const": "prettier",
"description": "Format code using Zed's Prettier integration.",
"type": "string"
},
{
"additionalProperties": false,
"description": "Format code using an external command.",
"properties": {
"external": {
"properties": {
"arguments": {
"description": "The arguments to pass to the program.",
"items": {
"type": "string"
},
"type": [
"array",
"null"
]
},
"command": {
"description": "The external program to run.",
"type": "string"
}
},
"required": [
"command"
],
"type": "object"
}
},
"required": [
"external"
],
"type": "object"
},
{
"additionalProperties": false,
"description": "Files should be formatted using code actions executed by language servers.",
"properties": {
"code_actions": {
"additionalProperties": {
"type": "boolean"
},
"type": "object"
}
},
"required": [
"code_actions"
],
"type": "object"
}
]
},
"type": "array"
},
{
"enum": [
"auto",
"prettier",
"language_server"
],
"type": "string"
},
{
"description": "Controls which formatter should be used when formatting code. If there are multiple formatters, they are executed in the order of declaration.",
"oneOf": [
{
"additionalProperties": false,
"description": "Format code using the current language server.",
"properties": {
"language_server": {
"properties": {
"name": {
"type": [
"string",
"null"
]
}
},
"type": "object"
}
},
"required": [
"language_server"
],
"type": "object"
},
{
"const": "prettier",
"description": "Format code using Zed's Prettier integration.",
"type": "string"
},
{
"additionalProperties": false,
"description": "Format code using an external command.",
"properties": {
"external": {
"properties": {
"arguments": {
"description": "The arguments to pass to the program.",
"items": {
"type": "string"
},
"type": [
"array",
"null"
]
},
"command": {
"description": "The external program to run.",
"type": "string"
}
},
"required": [
"command"
],
"type": "object"
}
},
"required": [
"external"
],
"type": "object"
},
{
"additionalProperties": false,
"description": "Files should be formatted using code actions executed by language servers.",
"properties": {
"code_actions": {
"additionalProperties": {
"type": "boolean"
},
"type": "object"
}
},
"required": [
"code_actions"
],
"type": "object"
}
]
}
]
},
"GitGutterSetting": {
"oneOf": [
{
"const": "tracked_files",
"description": "Show git gutter in tracked files.",
"type": "string"
},
{
"const": "hide",
"description": "Hide git gutter",
"type": "string"
}
]
},
"GitHostingProviderConfig": {
"description": "A custom Git hosting provider.",
"properties": {
"base_url": {
"description": "The base URL for the provider (e.g., \"https://code.corp.big.com\").",
"type": "string"
},
"name": {
"description": "The display name for the provider (e.g., \"BigCorp GitHub\").",
"type": "string"
},
"provider": {
"allOf": [
{
"$ref": "#/definitions/GitHostingProviderKind"
}
],
"description": "The type of the provider.\n\nMust be one of `github`, `gitlab`, or `bitbucket`."
}
},
"required": [
"provider",
"base_url",
"name"
],
"type": "object"
},
"GitHostingProviderKind": {
"enum": [
"github",
"gitlab",
"bitbucket"
],
"type": "string"
},
"GitHunkStyleSetting": {
"oneOf": [
{
"const": "staged_hollow",
"description": "Show unstaged hunks with a filled background and staged hunks hollow.",
"type": "string"
},
{
"const": "unstaged_hollow",
"description": "Show unstaged hunks hollow and staged hunks with a filled background.",
"type": "string"
}
]
},
"GitSettings": {
"properties": {
"git_gutter": {
"anyOf": [
{
"$ref": "#/definitions/GitGutterSetting"
},
{
"type": "null"
}
],
"description": "Whether or not to show the git gutter.\n\nDefault: tracked_files"
},
"gutter_debounce": {
"description": "Sets the debounce threshold (in milliseconds) after which changes are reflected in the git gutter.\n\nDefault: null",
"format": "uint64",
"minimum": 0,
"type": [
"integer",
"null"
]
},
"hunk_style": {
"anyOf": [
{
"$ref": "#/definitions/GitHunkStyleSetting"
},
{
"type": "null"
}
],
"description": "How hunks are displayed visually in the editor.\n\nDefault: staged_hollow"
},
"inline_blame": {
"anyOf": [
{
"$ref": "#/definitions/InlineBlameSettings"
},
{
"type": "null"
}
],
"description": "Whether or not to show git blame data inline in\nthe currently focused line.\n\nDefault: on"
}
},
"type": "object"
},
"GlobalLspSettings": {
"description": "Common language server settings.",
"properties": {
"button": {
"default": true,
"description": "Whether to show the LSP servers button in the status bar.\n\nDefault: `true`",
"type": "boolean"
}
},
"type": "object"
},
"GoToDefinitionFallback": {
"description": "What to do when go to definition yields no results.",
"oneOf": [
{
"const": "none",
"description": "Disables the fallback.",
"type": "string"
},
{
"const": "find_all_references",
"description": "Looks up references of the same symbol instead.",
"type": "string"
}
]
},
"GoogleSettingsContent": {
"properties": {
"api_url": {
"type": [
"string",
"null"
]
},
"available_models": {
"items": {
"$ref": "#/definitions/AvailableModel8"
},
"type": [
"array",
"null"
]
}
},
"type": "object"
},
"GutterContent": {
"description": "Gutter related settings",
"properties": {
"breakpoints": {
"description": "Whether to show breakpoints in the gutter.\n\nDefault: true",
"type": [
"boolean",
"null"
]
},
"folds": {
"description": "Whether to show fold buttons in the gutter.\n\nDefault: true",
"type": [
"boolean",
"null"
]
},
"line_numbers": {
"description": "Whether to show line numbers in the gutter.\n\nDefault: true",
"type": [
"boolean",
"null"
]
},
"min_line_number_digits": {
"description": "Minimum number of characters to reserve space for in the gutter.\n\nDefault: 4",
"format": "uint",
"minimum": 0,
"type": [
"integer",
"null"
]
},
"runnables": {
"description": "Whether to show runnable buttons in the gutter.\n\nDefault: true",
"type": [
"boolean",
"null"
]
}
},
"type": "object"
},
"HideMouseMode": {
"description": "Determines when the mouse cursor should be hidden in an editor or input box.\n\nDefault: on_typing_and_movement",
"oneOf": [
{
"const": "never",
"description": "Never hide the mouse cursor",
"type": "string"
},
{
"const": "on_typing",
"description": "Hide only when typing",
"type": "string"
},
{
"const": "on_typing_and_movement",
"description": "Hide on both typing and cursor movement",
"type": "string"
}
]
},
"HighlightStyleContent": {
"properties": {
"background_color": {
"default": null,
"type": [
"string",
"null"
]
},
"color": {
"default": null,
"type": [
"string",
"null"
]
},
"font_style": {
"anyOf": [
{
"$ref": "#/definitions/FontStyleContent"
},
{
"type": "null"
}
],
"default": null
},
"font_weight": {
"anyOf": [
{
"$ref": "#/definitions/FontWeightContent"
},
{
"type": "null"
}
],
"default": null
}
},
"type": "object"
},
"HourFormat": {
"enum": [
"hour12",
"hour24"
],
"type": "string"
},
"IconThemeName": {
"enum": [
"Zed (Default)"
],
"type": "string"
},
"IconThemeSelection": {
"anyOf": [
{
"allOf": [
{
"$ref": "#/definitions/IconThemeName"
}
],
"description": "A static icon theme selection, represented by a single icon theme name."
},
{
"description": "A dynamic icon theme selection, which can change based on the [`ThemeMode`].",
"properties": {
"dark": {
"allOf": [
{
"$ref": "#/definitions/IconThemeName"
}
],
"description": "The icon theme to use for dark mode."
},
"light": {
"allOf": [
{
"$ref": "#/definitions/IconThemeName"
}
],
"description": "The icon theme to use for light mode."
},
"mode": {
"allOf": [
{
"$ref": "#/definitions/ThemeMode"
}
],
"default": "system",
"description": "The mode used to determine which theme to use."
}
},
"required": [
"light",
"dark"
],
"type": "object"
}
],
"description": "Represents the selection of an icon theme, which can be either static or dynamic."
},
"ImageFileSizeUnit": {
"oneOf": [
{
"const": "binary",
"description": "Displays file size in binary units (e.g., KiB, MiB).",
"type": "string"
},
{
"const": "decimal",
"description": "Displays file size in decimal units (e.g., KB, MB).",
"type": "string"
}
]
},
"IndentGuideBackgroundColoring": {
"description": "Determines how indent guide backgrounds are colored.",
"oneOf": [
{
"const": "disabled",
"description": "Do not render any background for indent guides.",
"type": "string"
},
{
"const": "indent_aware",
"description": "Use a different color for each indentation level.",
"type": "string"
}
]
},
"IndentGuideColoring": {
"description": "Determines how indent guides are colored.",
"oneOf": [
{
"const": "disabled",
"description": "Do not render any lines for indent guides.",
"type": "string"
},
{
"const": "fixed",
"description": "Use the same color for all indentation levels.",
"type": "string"
},
{
"const": "indent_aware",
"description": "Use a different color for each indentation level.",
"type": "string"
}
]
},
"IndentGuideSettings": {
"description": "The settings for indent guides.",
"properties": {
"active_line_width": {
"default": 1,
"description": "The width of the active indent guide in pixels, between 1 and 10.\n\nDefault: 1",
"format": "uint32",
"minimum": 0,
"type": "integer"
},
"background_coloring": {
"allOf": [
{
"$ref": "#/definitions/IndentGuideBackgroundColoring"
}
],
"default": "disabled",
"description": "Determines how indent guide backgrounds are colored.\n\nDefault: Disabled"
},
"coloring": {
"allOf": [
{
"$ref": "#/definitions/IndentGuideColoring"
}
],
"default": "fixed",
"description": "Determines how indent guides are colored.\n\nDefault: Fixed"
},
"enabled": {
"default": true,
"description": "Whether to display indent guides in the editor.\n\nDefault: true",
"type": "boolean"
},
"line_width": {
"default": 1,
"description": "The width of the indent guides in pixels, between 1 and 10.\n\nDefault: 1",
"format": "uint32",
"minimum": 0,
"type": "integer"
}
},
"type": "object"
},
"IndentGuidesSettingsContent": {
"properties": {
"show": {
"anyOf": [
{
"$ref": "#/definitions/ShowIndentGuides"
},
{
"type": "null"
}
],
"description": "When to show the scrollbar in the outline panel."
}
},
"type": "object"
},
"IndentGuidesSettingsContent2": {
"properties": {
"show": {
"anyOf": [
{
"$ref": "#/definitions/ShowIndentGuides2"
},
{
"type": "null"
}
],
"description": "When to show the scrollbar in the project panel."
}
},
"type": "object"
},
"InlayHintSettings": {
"description": "The settings for inlay hints.",
"properties": {
"edit_debounce_ms": {
"default": 700,
"description": "Whether or not to debounce inlay hints updates after buffer edits.\n\nSet to 0 to disable debouncing.\n\nDefault: 700",
"format": "uint64",
"minimum": 0,
"type": "integer"
},
"enabled": {
"default": false,
"description": "Global switch to toggle hints on and off.\n\nDefault: false",
"type": "boolean"
},
"scroll_debounce_ms": {
"default": 50,
"description": "Whether or not to debounce inlay hints updates after buffer scrolls.\n\nSet to 0 to disable debouncing.\n\nDefault: 50",
"format": "uint64",
"minimum": 0,
"type": "integer"
},
"show_background": {
"default": false,
"description": "Whether to show a background for inlay hints.\n\nIf set to `true`, the background will use the `hint.background` color\nfrom the current theme.\n\nDefault: false",
"type": "boolean"
},
"show_other_hints": {
"default": true,
"description": "Whether other hints should be shown.\n\nDefault: true",
"type": "boolean"
},
"show_parameter_hints": {
"default": true,
"description": "Whether parameter hints should be shown.\n\nDefault: true",
"type": "boolean"
},
"show_type_hints": {
"default": true,
"description": "Whether type hints should be shown.\n\nDefault: true",
"type": "boolean"
},
"show_value_hints": {
"default": true,
"description": "Global switch to toggle inline values on and off.\n\nDefault: true",
"type": "boolean"
},
"toggle_on_modifiers_press": {
"anyOf": [
{
"$ref": "#/definitions/Modifiers"
},
{
"type": "null"
}
],
"default": null,
"description": "Toggles inlay hints (hides or shows) when the user presses the modifiers specified.\nIf only a subset of the modifiers specified is pressed, hints are not toggled.\nIf no modifiers are specified, this is equivalent to `None`.\n\nDefault: None"
}
},
"type": "object"
},
"InlineBlameSettings": {
"properties": {
"delay_ms": {
"description": "Whether to only show the inline blame information\nafter a delay once the cursor stops moving.\n\nDefault: 0",
"format": "uint64",
"minimum": 0,
"type": [
"integer",
"null"
]
},
"enabled": {
"default": true,
"description": "Whether or not to show git blame data inline in\nthe currently focused line.\n\nDefault: true",
"type": "boolean"
},
"min_column": {
"description": "The minimum column number to show the inline blame information at\n\nDefault: 0",
"format": "uint32",
"minimum": 0,
"type": [
"integer",
"null"
]
},
"show_commit_summary": {
"default": false,
"description": "Whether to show commit summary as part of the inline blame.\n\nDefault: false",
"type": "boolean"
}
},
"type": "object"
},
"InlineDiagnosticsSettings": {
"properties": {
"enabled": {
"default": false,
"description": "Whether or not to show inline diagnostics\n\nDefault: false",
"type": "boolean"
},
"max_severity": {
"anyOf": [
{
"$ref": "#/definitions/DiagnosticSeverity"
},
{
"type": "null"
}
],
"default": null
},
"min_column": {
"default": 0,
"description": "The minimum column to display inline diagnostics. This setting can be\nused to horizontally align inline diagnostics at some position. Lines\nlonger than this value will still push diagnostics further to the right.\n\nDefault: 0",
"format": "uint32",
"minimum": 0,
"type": "integer"
},
"padding": {
"default": 4,
"description": "The amount of padding between the end of the source line and the start\nof the inline diagnostic in units of columns.\n\nDefault: 4",
"format": "uint32",
"minimum": 0,
"type": "integer"
},
"update_debounce_ms": {
"default": 150,
"description": "Whether to only show the inline diagnostics after a delay after the\nlast editor event.\n\nDefault: 150",
"format": "uint64",
"minimum": 0,
"type": "integer"
}
},
"type": "object"
},
"JsxTagAutoCloseSettings": {
"properties": {
"enabled": {
"default": false,
"description": "Enables or disables auto-closing of JSX tags.",
"type": "boolean"
}
},
"type": "object"
},
"JupyterContent": {
"properties": {
"enabled": {
"description": "Whether the Jupyter feature is enabled.\n\nDefault: true",
"type": [
"boolean",
"null"
]
}
},
"type": "object"
},
"KeepAlive": {
"anyOf": [
{
"description": "Keep model alive for N seconds",
"format": "int",
"type": "integer"
},
{
"description": "Keep model alive for a fixed duration. Accepts durations like \"5m\", \"10m\", \"1h\", \"1d\", etc.",
"type": "string"
}
]
},
"LanguageModelCacheConfiguration": {
"description": "Configuration for caching language model messages.",
"properties": {
"max_cache_anchors": {
"format": "uint",
"minimum": 0,
"type": "integer"
},
"min_total_token": {
"format": "uint64",
"minimum": 0,
"type": "integer"
},
"should_speculate": {
"type": "boolean"
}
},
"required": [
"max_cache_anchors",
"should_speculate",
"min_total_token"
],
"type": "object"
},
"LanguageModelParameters": {
"properties": {
"model": {
"type": [
"string",
"null"
]
},
"provider": {
"anyOf": [
{
"$ref": "#/definitions/LanguageModelProviderSetting"
},
{
"type": "null"
}
]
},
"temperature": {
"format": "float",
"type": [
"number",
"null"
]
}
},
"type": "object"
},
"LanguageModelProviderSetting": {
"enum": [
"anthropic",
"amazon-bedrock",
"google",
"lmstudio",
"ollama",
"openai",
"zed.dev",
"copilot_chat",
"deepseek",
"openrouter",
"mistral",
"vercel"
]
},
"LanguageModelSelection": {
"properties": {
"model": {
"type": "string"
},
"provider": {
"$ref": "#/definitions/LanguageModelProviderSetting"
}
},
"required": [
"provider",
"model"
],
"type": "object"
},
"LanguageSettingsContent": {
"additionalProperties": false,
"description": "The settings for a particular language.",
"properties": {
"allow_rewrap": {
"anyOf": [
{
"$ref": "#/definitions/RewrapBehavior"
},
{
"type": "null"
}
],
"default": null,
"description": "Controls where the `editor::Rewrap` action is allowed for this language.\n\nNote: This setting has no effect in Vim mode, as rewrap is already\nallowed everywhere.\n\nDefault: \"in_comments\""
},
"always_treat_brackets_as_autoclosed": {
"description": "Controls how the editor handles the autoclosed characters.\nWhen set to `false`(default), skipping over and auto-removing of the closing characters\nhappen only for auto-inserted characters.\nOtherwise(when `true`), the closing characters are always skipped over and auto-removed\nno matter how they were inserted.\n\nDefault: false",
"type": [
"boolean",
"null"
]
},
"auto_indent_on_paste": {
"description": "Whether indentation of pasted content should be adjusted based on the context.\n\nDefault: true",
"type": [
"boolean",
"null"
]
},
"code_actions_on_format": {
"additionalProperties": {
"type": "boolean"
},
"description": "Which code actions to run on save after the formatter.\nThese are not run if formatting is off.\n\nDefault: {} (or {\"source.organizeImports\": true} for Go).",
"type": [
"object",
"null"
]
},
"completions": {
"anyOf": [
{
"$ref": "#/definitions/CompletionSettings"
},
{
"type": "null"
}
],
"description": "Controls how completions are processed for this language."
},
"debuggers": {
"description": "Preferred debuggers for this language.\n\nDefault: []",
"items": {
"type": "string"
},
"type": [
"array",
"null"
]
},
"edit_predictions_disabled_in": {
"default": null,
"description": "Controls whether edit predictions are shown in the given language\nscopes.\n\nExample: [\"string\", \"comment\"]\n\nDefault: []",
"items": {
"type": "string"
},
"type": [
"array",
"null"
]
},
"enable_language_server": {
"default": null,
"description": "Whether to use language servers to provide code intelligence.\n\nDefault: true",
"type": [
"boolean",
"null"
]
},
"ensure_final_newline_on_save": {
"default": null,
"description": "Whether or not to ensure there's a single newline at the end of a buffer\nwhen saving it.\n\nDefault: true",
"type": [
"boolean",
"null"
]
},
"extend_comment_on_newline": {
"default": null,
"description": "Whether to start a new line with a comment when a previous line is a comment as well.\n\nDefault: true",
"type": [
"boolean",
"null"
]
},
"format_on_save": {
"anyOf": [
{
"$ref": "#/definitions/OnSaveFormatter"
},
{
"type": "null"
}
],
"default": null,
"description": "Whether or not to perform a buffer format before saving.\n\nDefault: on"
},
"formatter": {
"anyOf": [
{
"$ref": "#/definitions/Formatter"
},
{
"type": "null"
}
],
"default": null,
"description": "How to perform a buffer format.\n\nDefault: auto"
},
"hard_tabs": {
"default": null,
"description": "Whether to indent lines using tab characters, as opposed to multiple\nspaces.\n\nDefault: false",
"type": [
"boolean",
"null"
]
},
"indent_guides": {
"anyOf": [
{
"$ref": "#/definitions/IndentGuideSettings"
},
{
"type": "null"
}
],
"default": null,
"description": "Indent guide related settings."
},
"inlay_hints": {
"anyOf": [
{
"$ref": "#/definitions/InlayHintSettings"
},
{
"type": "null"
}
],
"default": null,
"description": "Inlay hint related settings."
},
"jsx_tag_auto_close": {
"anyOf": [
{
"$ref": "#/definitions/JsxTagAutoCloseSettings"
},
{
"type": "null"
}
],
"default": null,
"description": "Whether to automatically close JSX tags."
},
"language_servers": {
"default": null,
"description": "The list of language servers to use (or disable) for this language.\n\nThis array should consist of language server IDs, as well as the following\nspecial tokens:\n- `\"!<language_server_id>\"` - A language server ID prefixed with a `!` will be disabled.\n- `\"...\"` - A placeholder to refer to the **rest** of the registered language servers for this language.\n\nDefault: [\"...\"]",
"items": {
"type": "string"
},
"type": [
"array",
"null"
]
},
"linked_edits": {
"description": "Whether to perform linked edits of associated ranges, if the language server supports it.\nFor example, when editing opening <html> tag, the contents of the closing </html> tag will be edited as well.\n\nDefault: true",
"type": [
"boolean",
"null"
]
},
"preferred_line_length": {
"default": null,
"description": "The column at which to soft-wrap lines, for buffers where soft-wrap\nis enabled.\n\nDefault: 80",
"format": "uint32",
"minimum": 0,
"type": [
"integer",
"null"
]
},
"prettier": {
"anyOf": [
{
"$ref": "#/definitions/PrettierSettings"
},
{
"type": "null"
}
],
"default": null,
"description": "Zed's Prettier integration settings.\nAllows to enable/disable formatting with Prettier\nand configure default Prettier, used when no project-level Prettier installation is found.\n\nDefault: off"
},
"remove_trailing_whitespace_on_save": {
"default": null,
"description": "Whether or not to remove any trailing whitespace from lines of a buffer\nbefore saving it.\n\nDefault: true",
"type": [
"boolean",
"null"
]
},
"show_completion_documentation": {
"description": "Whether to display inline and alongside documentation for items in the\ncompletions menu.\n\nDefault: true",
"type": [
"boolean",
"null"
]
},
"show_completions_on_input": {
"description": "Whether to pop the completions menu while typing in an editor without\nexplicitly requesting it.\n\nDefault: true",
"type": [
"boolean",
"null"
]
},
"show_edit_predictions": {
"default": null,
"description": "Controls whether edit predictions are shown immediately (true)\nor manually by triggering `editor::ShowEditPrediction` (false).\n\nDefault: true",
"type": [
"boolean",
"null"
]
},
"show_whitespaces": {
"anyOf": [
{
"$ref": "#/definitions/ShowWhitespaceSetting"
},
{
"type": "null"
}
],
"default": null,
"description": "Whether to show tabs and spaces in the editor."
},
"show_wrap_guides": {
"default": null,
"description": "Whether to show wrap guides in the editor. Setting this to true will\nshow a guide at the 'preferred_line_length' value if softwrap is set to\n'preferred_line_length', and will show any additional guides as specified\nby the 'wrap_guides' setting.\n\nDefault: true",
"type": [
"boolean",
"null"
]
},
"soft_wrap": {
"anyOf": [
{
"$ref": "#/definitions/SoftWrap"
},
{
"type": "null"
}
],
"default": null,
"description": "How to soft-wrap long lines of text.\n\nDefault: none"
},
"tab_size": {
"default": null,
"description": "How many columns a tab should occupy.\n\nDefault: 4",
"format": "uint32",
"minimum": 1,
"type": [
"integer",
"null"
]
},
"tasks": {
"anyOf": [
{
"$ref": "#/definitions/LanguageTaskConfig"
},
{
"type": "null"
}
],
"description": "Task configuration for this language.\n\nDefault: {}"
},
"use_auto_surround": {
"description": "Whether to automatically surround text with characters for you. For example,\nwhen you select text and type (, Zed will automatically surround text with ().\n\nDefault: true",
"type": [
"boolean",
"null"
]
},
"use_autoclose": {
"description": "Whether to automatically type closing characters for you. For example,\nwhen you type (, Zed will automatically add a closing ) at the correct position.\n\nDefault: true",
"type": [
"boolean",
"null"
]
},
"use_on_type_format": {
"description": "Whether to use additional LSP queries to format (and amend) the code after\nevery \"trigger\" symbol input, defined by LSP server capabilities.\n\nDefault: true",
"type": [
"boolean",
"null"
]
},
"wrap_guides": {
"default": null,
"description": "Character counts at which to show wrap guides in the editor.\n\nDefault: []",
"items": {
"format": "uint",
"minimum": 0,
"type": "integer"
},
"type": [
"array",
"null"
]
}
},
"type": "object"
},
"LanguageTaskConfig": {
"description": "The task settings for a particular language.",
"properties": {
"enabled": {
"default": true,
"type": "boolean"
},
"prefer_lsp": {
"default": true,
"description": "Use LSP tasks over Zed language extension ones.\nIf no LSP tasks are returned due to error/timeout or regular execution,\nZed language extension tasks will be used instead.\n\nOther Zed tasks will still be shown:\n* Zed task from either of the task config file\n* Zed task from history (e.g. one-off task was spawned before)",
"type": "boolean"
},
"variables": {
"additionalProperties": {
"type": "string"
},
"default": {},
"description": "Extra task variables to set for a particular language.",
"type": "object"
}
},
"type": "object"
},
"LanguageToSettingsMap": {
"properties": {
"C": {
"$ref": "#/definitions/LanguageSettingsContent"
},
"C++": {
"$ref": "#/definitions/LanguageSettingsContent"
},
"CSS": {
"$ref": "#/definitions/LanguageSettingsContent"
},
"Diff": {
"$ref": "#/definitions/LanguageSettingsContent"
},
"Git Attributes": {
"$ref": "#/definitions/LanguageSettingsContent"
},
"Git Commit": {
"$ref": "#/definitions/LanguageSettingsContent"
},
"Git Config": {
"$ref": "#/definitions/LanguageSettingsContent"
},
"Git Ignore": {
"$ref": "#/definitions/LanguageSettingsContent"
},
"Git Rebase": {
"$ref": "#/definitions/LanguageSettingsContent"
},
"Go": {
"$ref": "#/definitions/LanguageSettingsContent"
},
"Go Mod": {
"$ref": "#/definitions/LanguageSettingsContent"
},
"Go Work": {
"$ref": "#/definitions/LanguageSettingsContent"
},
"HTML": {
"$ref": "#/definitions/LanguageSettingsContent"
},
"JSDoc": {
"$ref": "#/definitions/LanguageSettingsContent"
},
"JSON": {
"$ref": "#/definitions/LanguageSettingsContent"
},
"JSONC": {
"$ref": "#/definitions/LanguageSettingsContent"
},
"JavaScript": {
"$ref": "#/definitions/LanguageSettingsContent"
},
"Markdown": {
"$ref": "#/definitions/LanguageSettingsContent"
},
"Markdown-Inline": {
"$ref": "#/definitions/LanguageSettingsContent"
},
"Plain Text": {
"$ref": "#/definitions/LanguageSettingsContent"
},
"Python": {
"$ref": "#/definitions/LanguageSettingsContent"
},
"Regex": {
"$ref": "#/definitions/LanguageSettingsContent"
},
"Rust": {
"$ref": "#/definitions/LanguageSettingsContent"
},
"Shell Script": {
"$ref": "#/definitions/LanguageSettingsContent"
},
"TOML": {
"$ref": "#/definitions/LanguageSettingsContent"
},
"TSX": {
"$ref": "#/definitions/LanguageSettingsContent"
},
"TypeScript": {
"$ref": "#/definitions/LanguageSettingsContent"
},
"YAML": {
"$ref": "#/definitions/LanguageSettingsContent"
}
},
"type": "object"
},
"LineIndicatorFormat": {
"enum": [
"short",
"long"
],
"type": "string"
},
"LmStudioSettingsContent": {
"properties": {
"api_url": {
"type": [
"string",
"null"
]
},
"available_models": {
"items": {
"$ref": "#/definitions/AvailableModel4"
},
"type": [
"array",
"null"
]
}
},
"type": "object"
},
"LspInsertMode": {
"oneOf": [
{
"const": "insert",
"description": "Replaces text before the cursor, using the `insert` range described in the LSP specification.",
"type": "string"
},
{
"const": "replace",
"description": "Replaces text before and after the cursor, using the `replace` range described in the LSP specification.",
"type": "string"
},
{
"const": "replace_subsequence",
"description": "Behaves like `\"replace\"` if the text that would be replaced is a subsequence of the completion text,\nand like `\"insert\"` otherwise.",
"type": "string"
},
{
"const": "replace_suffix",
"description": "Behaves like `\"replace\"` if the text after the cursor is a suffix of the completion, and like\n`\"insert\"` otherwise.",
"type": "string"
}
]
},
"LspPullDiagnosticsSettings": {
"properties": {
"debounce_ms": {
"default": 50,
"description": "Minimum time to wait before pulling diagnostics from the language server(s).\n0 turns the debounce off.\n\nDefault: 50",
"format": "uint64",
"minimum": 0,
"type": "integer"
},
"enabled": {
"default": true,
"description": "Whether to pull for diagnostics or not.\n\nDefault: true",
"type": "boolean"
}
},
"type": "object"
},
"LspSettings": {
"properties": {
"binary": {
"anyOf": [
{
"$ref": "#/definitions/BinarySettings"
},
{
"type": "null"
}
]
},
"enable_lsp_tasks": {
"default": true,
"description": "If the server supports sending tasks over LSP extensions,\nthis setting can be used to enable or disable them in Zed.\nDefault: true",
"type": "boolean"
},
"initialization_options": true,
"settings": true
},
"type": "object"
},
"MinimapContent": {
"description": "Minimap related settings",
"properties": {
"current_line_highlight": {
"anyOf": [
{
"$ref": "#/definitions/CurrentLineHighlight"
},
{
"type": "null"
}
],
"description": "How to highlight the current line in the minimap.\n\nDefault: inherits editor line highlights setting"
},
"display_in": {
"anyOf": [
{
"$ref": "#/definitions/DisplayIn"
},
{
"type": "null"
}
],
"description": "Where to show the minimap in the editor.\n\nDefault: [`DisplayIn::ActiveEditor`]"
},
"max_width_columns": {
"description": "Maximum number of columns to display in the minimap.\n\nDefault: 80",
"format": "uint32",
"minimum": 1,
"type": [
"integer",
"null"
]
},
"show": {
"anyOf": [
{
"$ref": "#/definitions/ShowMinimap"
},
{
"type": "null"
}
],
"description": "When to show the minimap in the editor.\n\nDefault: never"
},
"thumb": {
"anyOf": [
{
"$ref": "#/definitions/MinimapThumb"
},
{
"type": "null"
}
],
"description": "When to show the minimap thumb.\n\nDefault: always"
},
"thumb_border": {
"anyOf": [
{
"$ref": "#/definitions/MinimapThumbBorder"
},
{
"type": "null"
}
],
"description": "Defines the border style for the minimap's scrollbar thumb.\n\nDefault: left_open"
}
},
"type": "object"
},
"MinimapThumb": {
"description": "When to show the minimap thumb.\n\nDefault: always",
"oneOf": [
{
"const": "hover",
"description": "Show the minimap thumb only when the mouse is hovering over the minimap.",
"type": "string"
},
{
"const": "always",
"description": "Always show the minimap thumb.",
"type": "string"
}
]
},
"MinimapThumbBorder": {
"description": "Defines the border style for the minimap's scrollbar thumb.\n\nDefault: left_open",
"oneOf": [
{
"const": "full",
"description": "Displays a border on all sides of the thumb.",
"type": "string"
},
{
"const": "left_open",
"description": "Displays a border on all sides except the left side of the thumb.",
"type": "string"
},
{
"const": "right_open",
"description": "Displays a border on all sides except the right side of the thumb.",
"type": "string"
},
{
"const": "left_only",
"description": "Displays a border only on the left side of the thumb.",
"type": "string"
},
{
"const": "none",
"description": "Displays the thumb without any border.",
"type": "string"
}
]
},
"MistralSettingsContent": {
"properties": {
"api_url": {
"type": [
"string",
"null"
]
},
"available_models": {
"items": {
"$ref": "#/definitions/AvailableModel11"
},
"type": [
"array",
"null"
]
}
},
"type": "object"
},
"ModeContent": {
"enum": [
"normal",
"insert",
"replace",
"visual",
"visual_line",
"visual_block",
"helix_normal"
],
"type": "string"
},
"ModelMode": {
"oneOf": [
{
"properties": {
"type": {
"const": "default",
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
},
{
"properties": {
"budget_tokens": {
"description": "The maximum number of tokens to use for reasoning. Must be lower than the model's `max_output_tokens`.",
"format": "uint32",
"minimum": 0,
"type": [
"integer",
"null"
]
},
"type": {
"const": "thinking",
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
]
},
"ModelMode2": {
"oneOf": [
{
"properties": {
"type": {
"const": "default",
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
},
{
"properties": {
"budget_tokens": {
"description": "The maximum number of tokens to use for reasoning. Must be lower than the model's `max_output_tokens`.",
"format": "uint64",
"minimum": 0,
"type": [
"integer",
"null"
]
},
"type": {
"const": "thinking",
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
]
},
"ModelMode3": {
"oneOf": [
{
"properties": {
"type": {
"const": "default",
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
},
{
"properties": {
"budget_tokens": {
"format": "uint32",
"minimum": 0,
"type": [
"integer",
"null"
]
},
"type": {
"const": "thinking",
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
]
},
"ModelMode4": {
"oneOf": [
{
"properties": {
"type": {
"const": "default",
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
},
{
"properties": {
"budget_tokens": {
"description": "The maximum number of tokens to use for reasoning. Must be lower than the model's `max_output_tokens`.",
"format": "uint32",
"minimum": 0,
"type": [
"integer",
"null"
]
},
"type": {
"const": "thinking",
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
]
},
"ModelMode5": {
"oneOf": [
{
"properties": {
"type": {
"const": "default",
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
},
{
"properties": {
"budget_tokens": {
"description": "The maximum number of tokens to use for reasoning. Must be lower than the model's `max_output_tokens`.",
"format": "uint32",
"minimum": 0,
"type": [
"integer",
"null"
]
},
"type": {
"const": "thinking",
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
]
},
"Modifiers": {
"description": "The state of the modifier keys at some point in time",
"properties": {
"alt": {
"default": false,
"description": "The alt key\nSometimes also known as the 'meta' key",
"type": "boolean"
},
"control": {
"default": false,
"description": "The control key",
"type": "boolean"
},
"function": {
"default": false,
"description": "The function key",
"type": "boolean"
},
"platform": {
"default": false,
"description": "The command key, on macos\nthe windows key, on windows\nthe super key, on linux",
"type": "boolean"
},
"shift": {
"default": false,
"description": "The shift key",
"type": "boolean"
}
},
"type": "object"
},
"MultiCursorModifier": {
"description": "The key to use for adding multiple cursors\n\nDefault: alt",
"enum": [
"alt",
"cmd_or_ctrl"
],
"type": "string"
},
"NodeBinarySettings": {
"properties": {
"ignore_system_version": {
"default": false,
"description": "If enabled, Zed will download its own copy of Node.",
"type": "boolean"
},
"npm_path": {
"description": "The path to the npm binary Zed should use (defaults to `.path/../npm`).",
"type": [
"string",
"null"
]
},
"path": {
"description": "The path to the Node binary.",
"type": [
"string",
"null"
]
}
},
"type": "object"
},
"NotifyWhenAgentWaiting": {
"enum": [
"primary_screen",
"all_screens",
"never"
],
"type": "string"
},
"OllamaSettingsContent": {
"properties": {
"api_url": {
"type": [
"string",
"null"
]
},
"available_models": {
"items": {
"$ref": "#/definitions/AvailableModel3"
},
"type": [
"array",
"null"
]
}
},
"type": "object"
},
"OnLastWindowClosed": {
"oneOf": [
{
"const": "platform_default",
"description": "Match platform conventions by default, so don't quit on macOS, and quit on other platforms",
"type": "string"
},
{
"const": "quit_app",
"description": "Quit the application the last window is closed",
"type": "string"
}
]
},
"OnSaveFormatter": {
"oneOf": [
{
"items": {
"description": "Controls which formatter should be used when formatting code. If there are multiple formatters, they are executed in the order of declaration.",
"oneOf": [
{
"additionalProperties": false,
"description": "Format code using the current language server.",
"properties": {
"language_server": {
"properties": {
"name": {
"type": [
"string",
"null"
]
}
},
"type": "object"
}
},
"required": [
"language_server"
],
"type": "object"
},
{
"const": "prettier",
"description": "Format code using Zed's Prettier integration.",
"type": "string"
},
{
"additionalProperties": false,
"description": "Format code using an external command.",
"properties": {
"external": {
"properties": {
"arguments": {
"description": "The arguments to pass to the program.",
"items": {
"type": "string"
},
"type": [
"array",
"null"
]
},
"command": {
"description": "The external program to run.",
"type": "string"
}
},
"required": [
"command"
],
"type": "object"
}
},
"required": [
"external"
],
"type": "object"
},
{
"additionalProperties": false,
"description": "Files should be formatted using code actions executed by language servers.",
"properties": {
"code_actions": {
"additionalProperties": {
"type": "boolean"
},
"type": "object"
}
},
"required": [
"code_actions"
],
"type": "object"
}
]
},
"type": "array"
},
{
"enum": [
"on",
"off",
"prettier",
"language_server"
],
"type": "string"
},
{
"description": "Controls which formatter should be used when formatting code. If there are multiple formatters, they are executed in the order of declaration.",
"oneOf": [
{
"additionalProperties": false,
"description": "Format code using the current language server.",
"properties": {
"language_server": {
"properties": {
"name": {
"type": [
"string",
"null"
]
}
},
"type": "object"
}
},
"required": [
"language_server"
],
"type": "object"
},
{
"const": "prettier",
"description": "Format code using Zed's Prettier integration.",
"type": "string"
},
{
"additionalProperties": false,
"description": "Format code using an external command.",
"properties": {
"external": {
"properties": {
"arguments": {
"description": "The arguments to pass to the program.",
"items": {
"type": "string"
},
"type": [
"array",
"null"
]
},
"command": {
"description": "The external program to run.",
"type": "string"
}
},
"required": [
"command"
],
"type": "object"
}
},
"required": [
"external"
],
"type": "object"
},
{
"additionalProperties": false,
"description": "Files should be formatted using code actions executed by language servers.",
"properties": {
"code_actions": {
"additionalProperties": {
"type": "boolean"
},
"type": "object"
}
},
"required": [
"code_actions"
],
"type": "object"
}
]
}
]
},
"OpenAiSettingsContent": {
"properties": {
"api_url": {
"type": [
"string",
"null"
]
},
"available_models": {
"items": {
"$ref": "#/definitions/AvailableModel5"
},
"type": [
"array",
"null"
]
}
},
"type": "object"
},
"OpenRouterSettingsContent": {
"properties": {
"api_url": {
"type": [
"string",
"null"
]
},
"available_models": {
"items": {
"$ref": "#/definitions/AvailableModel6"
},
"type": [
"array",
"null"
]
}
},
"type": "object"
},
"OutlinePanelDockPosition": {
"enum": [
"left",
"right"
],
"type": "string"
},
"PaneSplitDirectionHorizontal": {
"enum": [
"up",
"down"
],
"type": "string"
},
"PaneSplitDirectionVertical": {
"enum": [
"left",
"right"
],
"type": "string"
},
"PlayerColorContent": {
"properties": {
"background": {
"type": [
"string",
"null"
]
},
"cursor": {
"type": [
"string",
"null"
]
},
"selection": {
"type": [
"string",
"null"
]
}
},
"type": "object"
},
"PrettierSettings": {
"additionalProperties": true,
"description": "Allows to enable/disable formatting with Prettier\nand configure default Prettier, used when no project-level Prettier installation is found.\nPrettier formatting is disabled by default.",
"properties": {
"allowed": {
"default": false,
"description": "Enables or disables formatting with Prettier for a given language.",
"type": "boolean"
},
"parser": {
"default": null,
"description": "Forces Prettier integration to use a specific parser name when formatting files with the language.",
"type": [
"string",
"null"
]
},
"plugins": {
"default": [],
"description": "Forces Prettier integration to use specific plugins when formatting files with the language.\nThe default Prettier will be installed with these plugins.",
"items": {
"type": "string"
},
"type": "array",
"uniqueItems": true
}
},
"type": "object"
},
"ProjectPanelDockPosition": {
"enum": [
"left",
"right"
],
"type": "string"
},
"RestoreOnStartupBehavior": {
"oneOf": [
{
"const": "none",
"description": "Always start with an empty editor",
"type": "string"
},
{
"const": "last_workspace",
"description": "Restore the workspace that was closed last.",
"type": "string"
},
{
"const": "last_session",
"description": "Restore all workspaces that were open when quitting Zed.",
"type": "string"
}
]
},
"RewrapBehavior": {
"description": "The behavior of `editor::Rewrap`.",
"oneOf": [
{
"const": "in_comments",
"description": "Only rewrap within comments.",
"type": "string"
},
{
"const": "in_selections",
"description": "Only rewrap within the current selection(s).",
"type": "string"
},
{
"const": "anywhere",
"description": "Allow rewrapping anywhere.",
"type": "string"
}
]
},
"ScrollBeyondLastLine": {
"description": "Whether the editor will scroll beyond the last line.\n\nDefault: one_page",
"oneOf": [
{
"const": "off",
"description": "The editor will not scroll beyond the last line.",
"type": "string"
},
{
"const": "one_page",
"description": "The editor will scroll beyond the last line by one page.",
"type": "string"
},
{
"const": "vertical_scroll_margin",
"description": "The editor will scroll beyond the last line by the same number of lines as vertical_scroll_margin.",
"type": "string"
}
]
},
"ScrollbarAxesContent": {
"description": "Forcefully enable or disable the scrollbar for each axis",
"properties": {
"horizontal": {
"description": "When false, forcefully disables the horizontal scrollbar. Otherwise, obey other settings.\n\nDefault: true",
"type": [
"boolean",
"null"
]
},
"vertical": {
"description": "When false, forcefully disables the vertical scrollbar. Otherwise, obey other settings.\n\nDefault: true",
"type": [
"boolean",
"null"
]
}
},
"type": "object"
},
"ScrollbarContent": {
"description": "Scrollbar related settings",
"properties": {
"axes": {
"anyOf": [
{
"$ref": "#/definitions/ScrollbarAxesContent"
},
{
"type": "null"
}
],
"description": "Forcefully enable or disable the scrollbar for each axis"
},
"cursors": {
"description": "Whether to show cursor positions in the scrollbar.\n\nDefault: true",
"type": [
"boolean",
"null"
]
},
"diagnostics": {
"anyOf": [
{
"$ref": "#/definitions/ScrollbarDiagnostics"
},
{
"type": "null"
}
],
"description": "Which diagnostic indicators to show in the scrollbar:\n\nDefault: all"
},
"git_diff": {
"description": "Whether to show git diff indicators in the scrollbar.\n\nDefault: true",
"type": [
"boolean",
"null"
]
},
"search_results": {
"description": "Whether to show buffer search result indicators in the scrollbar.\n\nDefault: true",
"type": [
"boolean",
"null"
]
},
"selected_symbol": {
"description": "Whether to show selected symbol occurrences in the scrollbar.\n\nDefault: true",
"type": [
"boolean",
"null"
]
},
"selected_text": {
"description": "Whether to show selected text occurrences in the scrollbar.\n\nDefault: true",
"type": [
"boolean",
"null"
]
},
"show": {
"anyOf": [
{
"$ref": "#/definitions/ShowScrollbar"
},
{
"type": "null"
}
],
"description": "When to show the scrollbar in the editor.\n\nDefault: auto"
}
},
"type": "object"
},
"ScrollbarDiagnostics": {
"description": "Which diagnostic indicators to show in the scrollbar.\n\nDefault: all",
"oneOf": [
{
"const": "all",
"description": "Show all diagnostic levels: hint, information, warnings, error.",
"type": "string"
},
{
"const": "information",
"description": "Show only the following diagnostic levels: information, warning, error.",
"type": "string"
},
{
"const": "warning",
"description": "Show only the following diagnostic levels: warning, error.",
"type": "string"
},
{
"const": "error",
"description": "Show only the following diagnostic level: error.",
"type": "string"
},
{
"const": "none",
"description": "Do not show diagnostics.",
"type": "string"
}
]
},
"ScrollbarSettings": {
"properties": {
"show": {
"anyOf": [
{
"$ref": "#/definitions/ShowScrollbar"
},
{
"type": "null"
}
]
}
},
"type": "object"
},
"ScrollbarSettingsContent": {
"properties": {
"show": {
"anyOf": [
{
"$ref": "#/definitions/ShowScrollbar"
},
{
"type": "null"
}
],
"description": "When to show the scrollbar in the project panel.\n\nDefault: inherits editor scrollbar settings"
}
},
"type": "object"
},
"ScrollbarSettingsContent2": {
"properties": {
"show": {
"anyOf": [
{
"$ref": "#/definitions/ShowScrollbar"
},
{
"type": "null"
}
],
"description": "When to show the scrollbar in the project panel.\n\nDefault: inherits editor scrollbar settings"
}
},
"type": "object"
},
"ScrollbarSettingsContent3": {
"properties": {
"show": {
"anyOf": [
{
"$ref": "#/definitions/ShowScrollbar2"
},
{
"type": "null"
}
],
"description": "When to show the scrollbar in the terminal.\n\nDefault: inherits editor scrollbar settings"
}
},
"type": "object"
},
"SearchSettings": {
"description": "Default options for buffer and project search items.",
"properties": {
"button": {
"default": true,
"description": "Whether to show the project search button in the status bar.",
"type": "boolean"
},
"case_sensitive": {
"default": false,
"type": "boolean"
},
"include_ignored": {
"default": false,
"type": "boolean"
},
"regex": {
"default": false,
"type": "boolean"
},
"whole_word": {
"default": false,
"type": "boolean"
}
},
"type": "object"
},
"SeedQuerySetting": {
"description": "When to populate a new search's query based on the text under the cursor.",
"oneOf": [
{
"const": "always",
"description": "Always populate the search query with the word under the cursor.",
"type": "string"
},
{
"const": "selection",
"description": "Only populate the search query when there is text selected.",
"type": "string"
},
{
"const": "never",
"description": "Never populate the search query",
"type": "string"
}
]
},
"SessionSettings": {
"properties": {
"restore_unsaved_buffers": {
"description": "Whether or not to restore unsaved buffers on restart.\n\nIf this is true, user won't be prompted whether to save/discard\ndirty files when closing the application.\n\nDefault: true",
"type": "boolean"
}
},
"required": [
"restore_unsaved_buffers"
],
"type": "object"
},
"Shell": {
"description": "Shell configuration to open the terminal with.",
"oneOf": [
{
"const": "system",
"description": "Use the system's default terminal configuration in /etc/passwd",
"type": "string"
},
{
"additionalProperties": false,
"description": "Use a specific program with no arguments.",
"properties": {
"program": {
"type": "string"
}
},
"required": [
"program"
],
"type": "object"
},
{
"additionalProperties": false,
"description": "Use a specific program with arguments.",
"properties": {
"with_arguments": {
"properties": {
"args": {
"description": "The arguments to pass to the program.",
"items": {
"type": "string"
},
"type": "array"
},
"program": {
"description": "The program to run.",
"type": "string"
},
"title_override": {
"description": "An optional string to override the title of the terminal tab",
"type": [
"string",
"null"
]
}
},
"required": [
"program",
"args"
],
"type": "object"
}
},
"required": [
"with_arguments"
],
"type": "object"
}
]
},
"ShowCloseButton": {
"enum": [
"always",
"hover",
"hidden"
],
"type": "string"
},
"ShowDiagnostics": {
"enum": [
"off",
"errors",
"all"
],
"type": "string"
},
"ShowDiagnostics2": {
"description": "Whether to indicate diagnostic errors and/or warnings in project panel items.\n\nDefault: all",
"oneOf": [
{
"const": "off",
"description": "Never mark the diagnostic errors/warnings in the project panel.",
"type": "string"
},
{
"const": "errors",
"description": "Mark files containing only diagnostic errors in the project panel.",
"type": "string"
},
{
"const": "all",
"description": "Mark files containing diagnostic errors or warnings in the project panel.",
"type": "string"
}
]
},
"ShowIndentGuides": {
"enum": [
"always",
"never"
],
"type": "string"
},
"ShowIndentGuides2": {
"enum": [
"always",
"never"
],
"type": "string"
},
"ShowMinimap": {
"description": "When to show the minimap in the editor.\n\nDefault: never",
"oneOf": [
{
"const": "auto",
"description": "Follow the visibility of the scrollbar.",
"type": "string"
},
{
"const": "always",
"description": "Always show the minimap.",
"type": "string"
},
{
"const": "never",
"description": "Never show the minimap.",
"type": "string"
}
]
},
"ShowScrollbar": {
"description": "When to show the scrollbar in the editor.\n\nDefault: auto",
"oneOf": [
{
"const": "auto",
"description": "Show the scrollbar if there's important information or\nfollow the system's configured behavior.",
"type": "string"
},
{
"const": "system",
"description": "Match the system's configured behavior.",
"type": "string"
},
{
"const": "always",
"description": "Always show the scrollbar.",
"type": "string"
},
{
"const": "never",
"description": "Never show the scrollbar.",
"type": "string"
}
]
},
"ShowScrollbar2": {
"description": "When to show the scrollbar in the terminal.\n\nDefault: auto",
"oneOf": [
{
"const": "auto",
"description": "Show the scrollbar if there's important information or\nfollow the system's configured behavior.",
"type": "string"
},
{
"const": "system",
"description": "Match the system's configured behavior.",
"type": "string"
},
{
"const": "always",
"description": "Always show the scrollbar.",
"type": "string"
},
{
"const": "never",
"description": "Never show the scrollbar.",
"type": "string"
}
]
},
"ShowWhitespaceSetting": {
"description": "Controls how whitespace should be displayedin the editor.",
"oneOf": [
{
"const": "selection",
"description": "Draw whitespace only for the selected text.",
"type": "string"
},
{
"const": "none",
"description": "Do not draw any tabs or spaces.",
"type": "string"
},
{
"const": "all",
"description": "Draw all invisible symbols.",
"type": "string"
},
{
"const": "boundary",
"description": "Draw whitespaces at boundaries only.\n\nFor a whitespace to be on a boundary, any of the following conditions need to be met:\n- It is a tab\n- It is adjacent to an edge (start or end)\n- It is adjacent to a whitespace (left or right)",
"type": "string"
},
{
"const": "trailing",
"description": "Draw whitespaces only after non-whitespace characters.",
"type": "string"
}
]
},
"SnippetSortOrder": {
"description": "Determines how snippets are sorted relative to other completion items.\n\nDefault: inline",
"oneOf": [
{
"const": "top",
"description": "Place snippets at the top of the completion list",
"type": "string"
},
{
"const": "inline",
"description": "Sort snippets normally using the default comparison logic",
"type": "string"
},
{
"const": "bottom",
"description": "Place snippets at the bottom of the completion list",
"type": "string"
}
]
},
"SoftWrap": {
"description": "Controls the soft-wrapping behavior in the editor.",
"oneOf": [
{
"const": "none",
"description": "Prefer a single line generally, unless an overly long line is encountered.",
"type": "string"
},
{
"const": "prefer_line",
"description": "Deprecated: use None instead. Left to avoid breaking existing users' configs.\nPrefer a single line generally, unless an overly long line is encountered.",
"type": "string"
},
{
"const": "editor_width",
"description": "Soft wrap lines that exceed the editor width.",
"type": "string"
},
{
"const": "preferred_line_length",
"description": "Soft wrap lines at the preferred line length.",
"type": "string"
},
{
"const": "bounded",
"description": "Soft wrap line at the preferred line length or the editor width (whichever is smaller).",
"type": "string"
}
]
},
"SshConnection": {
"properties": {
"args": {
"items": {
"type": "string"
},
"type": "array"
},
"host": {
"type": "string"
},
"nickname": {
"description": "Name to use for this server in UI.",
"type": [
"string",
"null"
]
},
"port": {
"format": "uint16",
"maximum": 65535,
"minimum": 0,
"type": [
"integer",
"null"
]
},
"port_forwards": {
"items": {
"$ref": "#/definitions/SshPortForwardOption"
},
"type": [
"array",
"null"
]
},
"projects": {
"default": [],
"items": {
"$ref": "#/definitions/SshProject"
},
"type": "array",
"uniqueItems": true
},
"upload_binary_over_ssh": {
"type": [
"boolean",
"null"
]
},
"username": {
"type": [
"string",
"null"
]
}
},
"required": [
"host"
],
"type": "object"
},
"SshPortForwardOption": {
"properties": {
"local_host": {
"type": [
"string",
"null"
]
},
"local_port": {
"format": "uint16",
"maximum": 65535,
"minimum": 0,
"type": "integer"
},
"remote_host": {
"type": [
"string",
"null"
]
},
"remote_port": {
"format": "uint16",
"maximum": 65535,
"minimum": 0,
"type": "integer"
}
},
"required": [
"local_port",
"remote_port"
],
"type": "object"
},
"SshProject": {
"properties": {
"paths": {
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"paths"
],
"type": "object"
},
"StatusStyle": {
"enum": [
"icon",
"label_color"
],
"type": "string"
},
"SteppingGranularity": {
"description": "The granularity of one 'step' in the stepping requests `next`, `stepIn`, `stepOut`, and `stepBack`.",
"oneOf": [
{
"const": "statement",
"description": "The step should allow the program to run until the current statement has finished executing.\nThe meaning of a statement is determined by the adapter and it may be considered equivalent to a line.\nFor example 'for(int i = 0; i < 10; i++)' could be considered to have 3 statements 'int i = 0', 'i < 10', and 'i++'.",
"type": "string"
},
{
"const": "line",
"description": "The step should allow the program to run until the current source line has executed.",
"type": "string"
},
{
"const": "instruction",
"description": "The step should allow one instruction to execute (e.g. one x86 instruction).",
"type": "string"
}
]
},
"TerminalBlink": {
"oneOf": [
{
"const": "off",
"description": "Never blink the cursor, ignoring the terminal mode.",
"type": "string"
},
{
"const": "terminal_controlled",
"description": "Default the cursor blink to off, but allow the terminal to\nset blinking.",
"type": "string"
},
{
"const": "on",
"description": "Always blink the cursor, ignoring the terminal mode.",
"type": "string"
}
]
},
"TerminalDockPosition": {
"enum": [
"left",
"bottom",
"right"
],
"type": "string"
},
"TerminalLineHeight": {
"oneOf": [
{
"const": "comfortable",
"description": "Use a line height that's comfortable for reading, 1.618",
"type": "string"
},
{
"const": "standard",
"description": "Use a standard line height, 1.3. This option is useful for TUIs,\nparticularly if they use box characters",
"type": "string"
},
{
"additionalProperties": false,
"description": "Use a custom line height.",
"properties": {
"custom": {
"format": "float",
"type": "number"
}
},
"required": [
"custom"
],
"type": "object"
}
]
},
"ThemeMode": {
"description": "The mode use to select a theme.\n\n`Light` and `Dark` will select their respective themes.\n\n`System` will select the theme based on the system's appearance.",
"oneOf": [
{
"const": "light",
"description": "Use the specified `light` theme.",
"type": "string"
},
{
"const": "dark",
"description": "Use the specified `dark` theme.",
"type": "string"
},
{
"const": "system",
"description": "Use the theme based on the system's appearance.",
"type": "string"
}
]
},
"ThemeName": {
"enum": [
"Ayu Dark",
"Ayu Light",
"Ayu Mirage",
"Gruvbox Dark",
"Gruvbox Dark Hard",
"Gruvbox Dark Soft",
"Gruvbox Light",
"Gruvbox Light Hard",
"Gruvbox Light Soft",
"One Dark",
"One Light"
],
"type": "string"
},
"ThemeSelection": {
"anyOf": [
{
"allOf": [
{
"$ref": "#/definitions/ThemeName"
}
],
"description": "A static theme selection, represented by a single theme name."
},
{
"description": "A dynamic theme selection, which can change based the [ThemeMode].",
"properties": {
"dark": {
"allOf": [
{
"$ref": "#/definitions/ThemeName"
}
],
"description": "The theme to use for dark mode."
},
"light": {
"allOf": [
{
"$ref": "#/definitions/ThemeName"
}
],
"description": "The theme to use for light mode."
},
"mode": {
"allOf": [
{
"$ref": "#/definitions/ThemeMode"
}
],
"default": "system",
"description": "The mode used to determine which theme to use."
}
},
"required": [
"light",
"dark"
],
"type": "object"
}
],
"description": "Represents the selection of a theme, which can be either static or dynamic."
},
"ThemeStyleContent": {
"description": "The content of a serialized theme.",
"properties": {
"accents": {
"default": [],
"items": {
"$ref": "#/definitions/AccentContent"
},
"type": "array"
},
"background": {
"default": null,
"description": "Background Color. Used for the app background and blank panels or windows.",
"type": [
"string",
"null"
]
},
"background.appearance": {
"anyOf": [
{
"$ref": "#/definitions/WindowBackgroundContent"
},
{
"type": "null"
}
],
"default": null
},
"border": {
"default": null,
"description": "Border color. Used for most borders, is usually a high contrast color.",
"type": [
"string",
"null"
]
},
"border.disabled": {
"default": null,
"description": "Border color. Used for disabled elements, like a disabled input or button.",
"type": [
"string",
"null"
]
},
"border.focused": {
"default": null,
"description": "Border color. Used for focused elements, like keyboard focused list item.",
"type": [
"string",
"null"
]
},
"border.selected": {
"default": null,
"description": "Border color. Used for selected elements, like an active search filter or selected checkbox.",
"type": [
"string",
"null"
]
},
"border.transparent": {
"default": null,
"description": "Border color. Used for transparent borders. Used for placeholder borders when an element gains a border on state change.",
"type": [
"string",
"null"
]
},
"border.variant": {
"default": null,
"description": "Border color. Used for deemphasized borders, like a visual divider between two sections",
"type": [
"string",
"null"
]
},
"conflict": {
"default": null,
"description": "Indicates some kind of conflict, like a file changed on disk while it was open, or\nmerge conflicts in a Git repository.",
"type": [
"string",
"null"
]
},
"conflict.background": {
"default": null,
"type": [
"string",
"null"
]
},
"conflict.border": {
"default": null,
"type": [
"string",
"null"
]
},
"created": {
"default": null,
"description": "Indicates something new, like a new file added to a Git repository.",
"type": [
"string",
"null"
]
},
"created.background": {
"default": null,
"type": [
"string",
"null"
]
},
"created.border": {
"default": null,
"type": [
"string",
"null"
]
},
"debugger.accent": {
"default": null,
"description": "Color used to accent some of the debuggers elements\nOnly accent breakpoint & breakpoint related symbols right now",
"type": [
"string",
"null"
]
},
"deleted": {
"default": null,
"description": "Indicates that something no longer exists, like a deleted file.",
"type": [
"string",
"null"
]
},
"deleted.background": {
"default": null,
"type": [
"string",
"null"
]
},
"deleted.border": {
"default": null,
"type": [
"string",
"null"
]
},
"drop_target.background": {
"default": null,
"description": "Background Color. Used for the area that shows where a dragged element will be dropped.",
"type": [
"string",
"null"
]
},
"editor.active_line.background": {
"default": null,
"type": [
"string",
"null"
]
},
"editor.active_line_number": {
"default": null,
"description": "Text Color. Used for the text of the line number in the editor gutter when the line is highlighted.",
"type": [
"string",
"null"
]
},
"editor.active_wrap_guide": {
"default": null,
"type": [
"string",
"null"
]
},
"editor.background": {
"default": null,
"type": [
"string",
"null"
]
},
"editor.debugger_active_line.background": {
"default": null,
"description": "Background of active line of debugger",
"type": [
"string",
"null"
]
},
"editor.document_highlight.bracket_background": {
"default": null,
"description": "Highlighted brackets background color.\n\nMatching brackets in the cursor scope are highlighted with this background color.",
"type": [
"string",
"null"
]
},
"editor.document_highlight.read_background": {
"default": null,
"description": "Read-access of a symbol, like reading a variable.\n\nA document highlight is a range inside a text document which deserves\nspecial attention. Usually a document highlight is visualized by changing\nthe background color of its range.",
"type": [
"string",
"null"
]
},
"editor.document_highlight.write_background": {
"default": null,
"description": "Read-access of a symbol, like reading a variable.\n\nA document highlight is a range inside a text document which deserves\nspecial attention. Usually a document highlight is visualized by changing\nthe background color of its range.",
"type": [
"string",
"null"
]
},
"editor.foreground": {
"default": null,
"type": [
"string",
"null"
]
},
"editor.gutter.background": {
"default": null,
"type": [
"string",
"null"
]
},
"editor.highlighted_line.background": {
"default": null,
"type": [
"string",
"null"
]
},
"editor.hover_line_number": {
"default": null,
"description": "Text Color. Used for the text of the line number in the editor gutter when the line is hovered over.",
"type": [
"string",
"null"
]
},
"editor.indent_guide": {
"default": null,
"type": [
"string",
"null"
]
},
"editor.indent_guide_active": {
"default": null,
"type": [
"string",
"null"
]
},
"editor.invisible": {
"default": null,
"description": "Text Color. Used to mark invisible characters in the editor.\n\nExample: spaces, tabs, carriage returns, etc.",
"type": [
"string",
"null"
]
},
"editor.line_number": {
"default": null,
"description": "Text Color. Used for the text of the line number in the editor gutter.",
"type": [
"string",
"null"
]
},
"editor.subheader.background": {
"default": null,
"type": [
"string",
"null"
]
},
"editor.wrap_guide": {
"default": null,
"type": [
"string",
"null"
]
},
"element.active": {
"default": null,
"description": "Background Color. Used for the active state of an element that should have a different background than the surface it's on.\n\nActive states are triggered by the mouse button being pressed down on an element, or the Return button or other activator being pressed.",
"type": [
"string",
"null"
]
},
"element.background": {
"default": null,
"description": "Background Color. Used for the background of an element that should have a different background than the surface it's on.\n\nElements might include: Buttons, Inputs, Checkboxes, Radio Buttons...\n\nFor an element that should have the same background as the surface it's on, use `ghost_element_background`.",
"type": [
"string",
"null"
]
},
"element.disabled": {
"default": null,
"description": "Background Color. Used for the disabled state of an element that should have a different background than the surface it's on.\n\nDisabled states are shown when a user cannot interact with an element, like a disabled button or input.",
"type": [
"string",
"null"
]
},
"element.hover": {
"default": null,
"description": "Background Color. Used for the hover state of an element that should have a different background than the surface it's on.\n\nHover states are triggered by the mouse entering an element, or a finger touching an element on a touch screen.",
"type": [
"string",
"null"
]
},
"element.selected": {
"default": null,
"description": "Background Color. Used for the selected state of an element that should have a different background than the surface it's on.\n\nSelected states are triggered by the element being selected (or \"activated\") by the user.\n\nThis could include a selected checkbox, a toggleable button that is toggled on, etc.",
"type": [
"string",
"null"
]
},
"element.selection_background": {
"default": null,
"description": "Background Color. Used for the background of selections in a UI element.",
"type": [
"string",
"null"
]
},
"elevated_surface.background": {
"default": null,
"description": "Background color. Used for elevated surfaces, like a context menu, popup, or dialog.",
"type": [
"string",
"null"
]
},
"error": {
"default": null,
"description": "Indicates a system error, a failed operation or a diagnostic error.",
"type": [
"string",
"null"
]
},
"error.background": {
"default": null,
"type": [
"string",
"null"
]
},
"error.border": {
"default": null,
"type": [
"string",
"null"
]
},
"ghost_element.active": {
"default": null,
"description": "Background Color. Used for the active state of a ghost element that should have the same background as the surface it's on.\n\nActive states are triggered by the mouse button being pressed down on an element, or the Return button or other activator being pressed.",
"type": [
"string",
"null"
]
},
"ghost_element.background": {
"default": null,
"description": "Used for the background of a ghost element that should have the same background as the surface it's on.\n\nElements might include: Buttons, Inputs, Checkboxes, Radio Buttons...\n\nFor an element that should have a different background than the surface it's on, use `element_background`.",
"type": [
"string",
"null"
]
},
"ghost_element.disabled": {
"default": null,
"description": "Background Color. Used for the disabled state of a ghost element that should have the same background as the surface it's on.\n\nDisabled states are shown when a user cannot interact with an element, like a disabled button or input.",
"type": [
"string",
"null"
]
},
"ghost_element.hover": {
"default": null,
"description": "Background Color. Used for the hover state of a ghost element that should have the same background as the surface it's on.\n\nHover states are triggered by the mouse entering an element, or a finger touching an element on a touch screen.",
"type": [
"string",
"null"
]
},
"ghost_element.selected": {
"default": null,
"description": "Background Color. Used for the selected state of a ghost element that should have the same background as the surface it's on.\n\nSelected states are triggered by the element being selected (or \"activated\") by the user.\n\nThis could include a selected checkbox, a toggleable button that is toggled on, etc.",
"type": [
"string",
"null"
]
},
"hidden": {
"default": null,
"description": "Represents a hidden status, such as a file being hidden in a file tree.",
"type": [
"string",
"null"
]
},
"hidden.background": {
"default": null,
"type": [
"string",
"null"
]
},
"hidden.border": {
"default": null,
"type": [
"string",
"null"
]
},
"hint": {
"default": null,
"description": "Indicates a hint or some kind of additional information.",
"type": [
"string",
"null"
]
},
"hint.background": {
"default": null,
"type": [
"string",
"null"
]
},
"hint.border": {
"default": null,
"type": [
"string",
"null"
]
},
"icon": {
"default": null,
"description": "Fill Color. Used for the default fill color of an icon.",
"type": [
"string",
"null"
]
},
"icon.accent": {
"default": null,
"description": "Fill Color. Used for the accent fill color of an icon.\n\nThis might be used to show when a toggleable icon button is selected.",
"type": [
"string",
"null"
]
},
"icon.disabled": {
"default": null,
"description": "Fill Color. Used for the disabled fill color of an icon.\n\nDisabled states are shown when a user cannot interact with an element, like a icon button.",
"type": [
"string",
"null"
]
},
"icon.muted": {
"default": null,
"description": "Fill Color. Used for the muted or deemphasized fill color of an icon.\n\nThis might be used to show an icon in an inactive pane, or to deemphasize a series of icons to give them less visual weight.",
"type": [
"string",
"null"
]
},
"icon.placeholder": {
"default": null,
"description": "Fill Color. Used for the placeholder fill color of an icon.\n\nThis might be used to show an icon in an input that disappears when the user enters text.",
"type": [
"string",
"null"
]
},
"ignored": {
"default": null,
"description": "Indicates that something is deliberately ignored, such as a file or operation ignored by Git.",
"type": [
"string",
"null"
]
},
"ignored.background": {
"default": null,
"type": [
"string",
"null"
]
},
"ignored.border": {
"default": null,
"type": [
"string",
"null"
]
},
"info": {
"default": null,
"description": "Represents informational status updates or messages.",
"type": [
"string",
"null"
]
},
"info.background": {
"default": null,
"type": [
"string",
"null"
]
},
"info.border": {
"default": null,
"type": [
"string",
"null"
]
},
"link_text.hover": {
"default": null,
"type": [
"string",
"null"
]
},
"minimap.thumb.active_background": {
"default": null,
"description": "The color of the minimap thumb whilst being actively dragged.",
"type": [
"string",
"null"
]
},
"minimap.thumb.background": {
"default": null,
"description": "The color of the minimap thumb.",
"type": [
"string",
"null"
]
},
"minimap.thumb.border": {
"default": null,
"description": "The border color of the minimap thumb.",
"type": [
"string",
"null"
]
},
"minimap.thumb.hover_background": {
"default": null,
"description": "The color of the minimap thumb when hovered over.",
"type": [
"string",
"null"
]
},
"modified": {
"default": null,
"description": "Indicates a changed or altered status, like a file that has been edited.",
"type": [
"string",
"null"
]
},
"modified.background": {
"default": null,
"type": [
"string",
"null"
]
},
"modified.border": {
"default": null,
"type": [
"string",
"null"
]
},
"pane.focused_border": {
"default": null,
"type": [
"string",
"null"
]
},
"pane_group.border": {
"default": null,
"type": [
"string",
"null"
]
},
"panel.background": {
"default": null,
"type": [
"string",
"null"
]
},
"panel.focused_border": {
"default": null,
"type": [
"string",
"null"
]
},
"panel.indent_guide": {
"default": null,
"type": [
"string",
"null"
]
},
"panel.indent_guide_active": {
"default": null,
"type": [
"string",
"null"
]
},
"panel.indent_guide_hover": {
"default": null,
"type": [
"string",
"null"
]
},
"players": {
"default": [],
"items": {
"$ref": "#/definitions/PlayerColorContent"
},
"type": "array"
},
"predictive": {
"default": null,
"description": "Indicates something that is predicted, like automatic code completion, or generated code.",
"type": [
"string",
"null"
]
},
"predictive.background": {
"default": null,
"type": [
"string",
"null"
]
},
"predictive.border": {
"default": null,
"type": [
"string",
"null"
]
},
"renamed": {
"default": null,
"description": "Represents a renamed status, such as a file that has been renamed.",
"type": [
"string",
"null"
]
},
"renamed.background": {
"default": null,
"type": [
"string",
"null"
]
},
"renamed.border": {
"default": null,
"type": [
"string",
"null"
]
},
"scrollbar.thumb.active_background": {
"default": null,
"description": "The color of the scrollbar thumb whilst being actively dragged.",
"type": [
"string",
"null"
]
},
"scrollbar.thumb.background": {
"default": null,
"description": "The color of the scrollbar thumb.",
"type": [
"string",
"null"
]
},
"scrollbar.thumb.border": {
"default": null,
"description": "The border color of the scrollbar thumb.",
"type": [
"string",
"null"
]
},
"scrollbar.thumb.hover_background": {
"default": null,
"description": "The color of the scrollbar thumb when hovered over.",
"type": [
"string",
"null"
]
},
"scrollbar.track.background": {
"default": null,
"description": "The background color of the scrollbar track.",
"type": [
"string",
"null"
]
},
"scrollbar.track.border": {
"default": null,
"description": "The border color of the scrollbar track.",
"type": [
"string",
"null"
]
},
"search.match_background": {
"default": null,
"type": [
"string",
"null"
]
},
"status_bar.background": {
"default": null,
"type": [
"string",
"null"
]
},
"success": {
"default": null,
"description": "Indicates a successful operation or task completion.",
"type": [
"string",
"null"
]
},
"success.background": {
"default": null,
"type": [
"string",
"null"
]
},
"success.border": {
"default": null,
"type": [
"string",
"null"
]
},
"surface.background": {
"default": null,
"description": "Background Color. Used for grounded surfaces like a panel or tab.",
"type": [
"string",
"null"
]
},
"syntax": {
"additionalProperties": {
"$ref": "#/definitions/HighlightStyleContent"
},
"default": {},
"description": "The styles for syntax nodes.",
"type": "object"
},
"tab.active_background": {
"default": null,
"type": [
"string",
"null"
]
},
"tab.inactive_background": {
"default": null,
"type": [
"string",
"null"
]
},
"tab_bar.background": {
"default": null,
"type": [
"string",
"null"
]
},
"terminal.ansi.background": {
"default": null,
"description": "Terminal ANSI background color.",
"type": [
"string",
"null"
]
},
"terminal.ansi.black": {
"default": null,
"description": "Black ANSI terminal color.",
"type": [
"string",
"null"
]
},
"terminal.ansi.blue": {
"default": null,
"description": "Blue ANSI terminal color.",
"type": [
"string",
"null"
]
},
"terminal.ansi.bright_black": {
"default": null,
"description": "Bright black ANSI terminal color.",
"type": [
"string",
"null"
]
},
"terminal.ansi.bright_blue": {
"default": null,
"description": "Bright blue ANSI terminal color.",
"type": [
"string",
"null"
]
},
"terminal.ansi.bright_cyan": {
"default": null,
"description": "Bright cyan ANSI terminal color.",
"type": [
"string",
"null"
]
},
"terminal.ansi.bright_green": {
"default": null,
"description": "Bright green ANSI terminal color.",
"type": [
"string",
"null"
]
},
"terminal.ansi.bright_magenta": {
"default": null,
"description": "Bright magenta ANSI terminal color.",
"type": [
"string",
"null"
]
},
"terminal.ansi.bright_red": {
"default": null,
"description": "Bright red ANSI terminal color.",
"type": [
"string",
"null"
]
},
"terminal.ansi.bright_white": {
"default": null,
"description": "Bright white ANSI terminal color.",
"type": [
"string",
"null"
]
},
"terminal.ansi.bright_yellow": {
"default": null,
"description": "Bright yellow ANSI terminal color.",
"type": [
"string",
"null"
]
},
"terminal.ansi.cyan": {
"default": null,
"description": "Cyan ANSI terminal color.",
"type": [
"string",
"null"
]
},
"terminal.ansi.dim_black": {
"default": null,
"description": "Dim black ANSI terminal color.",
"type": [
"string",
"null"
]
},
"terminal.ansi.dim_blue": {
"default": null,
"description": "Dim blue ANSI terminal color.",
"type": [
"string",
"null"
]
},
"terminal.ansi.dim_cyan": {
"default": null,
"description": "Dim cyan ANSI terminal color.",
"type": [
"string",
"null"
]
},
"terminal.ansi.dim_green": {
"default": null,
"description": "Dim green ANSI terminal color.",
"type": [
"string",
"null"
]
},
"terminal.ansi.dim_magenta": {
"default": null,
"description": "Dim magenta ANSI terminal color.",
"type": [
"string",
"null"
]
},
"terminal.ansi.dim_red": {
"default": null,
"description": "Dim red ANSI terminal color.",
"type": [
"string",
"null"
]
},
"terminal.ansi.dim_white": {
"default": null,
"description": "Dim white ANSI terminal color.",
"type": [
"string",
"null"
]
},
"terminal.ansi.dim_yellow": {
"default": null,
"description": "Dim yellow ANSI terminal color.",
"type": [
"string",
"null"
]
},
"terminal.ansi.green": {
"default": null,
"description": "Green ANSI terminal color.",
"type": [
"string",
"null"
]
},
"terminal.ansi.magenta": {
"default": null,
"description": "Magenta ANSI terminal color.",
"type": [
"string",
"null"
]
},
"terminal.ansi.red": {
"default": null,
"description": "Red ANSI terminal color.",
"type": [
"string",
"null"
]
},
"terminal.ansi.white": {
"default": null,
"description": "White ANSI terminal color.",
"type": [
"string",
"null"
]
},
"terminal.ansi.yellow": {
"default": null,
"description": "Yellow ANSI terminal color.",
"type": [
"string",
"null"
]
},
"terminal.background": {
"default": null,
"description": "Terminal background color.",
"type": [
"string",
"null"
]
},
"terminal.bright_foreground": {
"default": null,
"description": "Bright terminal foreground color.",
"type": [
"string",
"null"
]
},
"terminal.dim_foreground": {
"default": null,
"description": "Dim terminal foreground color.",
"type": [
"string",
"null"
]
},
"terminal.foreground": {
"default": null,
"description": "Terminal foreground color.",
"type": [
"string",
"null"
]
},
"text": {
"default": null,
"description": "Text Color. Default text color used for most text.",
"type": [
"string",
"null"
]
},
"text.accent": {
"default": null,
"description": "Text Color. Color used for emphasis or highlighting certain text, like an active filter or a matched character in a search.",
"type": [
"string",
"null"
]
},
"text.disabled": {
"default": null,
"description": "Text Color. Color used for text denoting disabled elements. Typically, the color is faded or grayed out to emphasize the disabled state.",
"type": [
"string",
"null"
]
},
"text.muted": {
"default": null,
"description": "Text Color. Color of muted or deemphasized text. It is a subdued version of the standard text color.",
"type": [
"string",
"null"
]
},
"text.placeholder": {
"default": null,
"description": "Text Color. Color of the placeholder text typically shown in input fields to guide the user to enter valid data.",
"type": [
"string",
"null"
]
},
"title_bar.background": {
"default": null,
"type": [
"string",
"null"
]
},
"title_bar.inactive_background": {
"default": null,
"type": [
"string",
"null"
]
},
"toolbar.background": {
"default": null,
"type": [
"string",
"null"
]
},
"unreachable": {
"default": null,
"description": "Indicates some kind of unreachable status, like a block of code that can never be reached.",
"type": [
"string",
"null"
]
},
"unreachable.background": {
"default": null,
"type": [
"string",
"null"
]
},
"unreachable.border": {
"default": null,
"type": [
"string",
"null"
]
},
"version_control.added": {
"default": null,
"description": "Added version control color.",
"type": [
"string",
"null"
]
},
"version_control.conflict": {
"default": null,
"description": "Conflict version control color.",
"type": [
"string",
"null"
]
},
"version_control.conflict_marker.ours": {
"default": null,
"description": "Background color for row highlights of \"ours\" regions in merge conflicts.",
"type": [
"string",
"null"
]
},
"version_control.conflict_marker.theirs": {
"default": null,
"description": "Background color for row highlights of \"theirs\" regions in merge conflicts.",
"type": [
"string",
"null"
]
},
"version_control.deleted": {
"default": null,
"description": "Deleted version control color.",
"type": [
"string",
"null"
]
},
"version_control.ignored": {
"default": null,
"description": "Ignored version control color.",
"type": [
"string",
"null"
]
},
"version_control.modified": {
"default": null,
"description": "Modified version control color.",
"type": [
"string",
"null"
]
},
"version_control.renamed": {
"default": null,
"description": "Renamed version control color.",
"type": [
"string",
"null"
]
},
"version_control_conflict_ours_background": {
"default": null,
"deprecated": true,
"description": "Deprecated in favor of `version_control_conflict_marker_ours`.",
"type": [
"string",
"null"
]
},
"version_control_conflict_theirs_background": {
"default": null,
"deprecated": true,
"description": "Deprecated in favor of `version_control_conflict_marker_theirs`.",
"type": [
"string",
"null"
]
},
"warning": {
"default": null,
"description": "Represents a warning status, like an operation that is about to fail.",
"type": [
"string",
"null"
]
},
"warning.background": {
"default": null,
"type": [
"string",
"null"
]
},
"warning.border": {
"default": null,
"type": [
"string",
"null"
]
}
},
"type": "object"
},
"ToolbarContent": {
"properties": {
"agent_review": {
"description": "Whether to display Agent review buttons in the editor toolbar.\nOnly applicable while reviewing a file edited by the Agent.\n\nDefault: true",
"type": [
"boolean",
"null"
]
},
"breadcrumbs": {
"description": "Whether to display breadcrumbs in the editor toolbar.\n\nDefault: true",
"type": [
"boolean",
"null"
]
},
"code_actions": {
"description": "Whether to display code action buttons in the editor toolbar.\n\nDefault: false",
"type": [
"boolean",
"null"
]
},
"quick_actions": {
"description": "Whether to display quick action buttons in the editor toolbar.\n\nDefault: true",
"type": [
"boolean",
"null"
]
},
"selections_menu": {
"description": "Whether to show the selections menu in the editor toolbar.\n\nDefault: true",
"type": [
"boolean",
"null"
]
}
},
"type": "object"
},
"ToolbarContent2": {
"properties": {
"breadcrumbs": {
"description": "Whether to display the terminal title in breadcrumbs inside the terminal pane.\nOnly shown if the terminal title is not empty.\n\nThe shell running in the terminal needs to be configured to emit the title.\nExample: `echo -e \"\\e]2;New Title\\007\";`\n\nDefault: true",
"type": [
"boolean",
"null"
]
}
},
"type": "object"
},
"UiDensity": {
"description": "Specifies the density of the UI.\nNote: This setting is still experimental. See [this tracking issue](https://github.com/zed-industries/zed/issues/18078)",
"oneOf": [
{
"const": "compact",
"description": "A denser UI with tighter spacing and smaller elements.",
"type": "string"
},
{
"const": "default",
"description": "The default UI density.",
"type": "string"
},
{
"const": "comfortable",
"description": "A looser UI with more spacing and larger elements.",
"type": "string"
}
]
},
"UseSystemClipboard": {
"description": "Controls when to use system clipboard.",
"oneOf": [
{
"const": "never",
"description": "Don't use system clipboard.",
"type": "string"
},
{
"const": "always",
"description": "Use system clipboard.",
"type": "string"
},
{
"const": "on_yank",
"description": "Use system clipboard for yank operations.",
"type": "string"
}
]
},
"VenvSettings": {
"oneOf": [
{
"enum": [
"off"
],
"type": "string"
},
{
"additionalProperties": false,
"properties": {
"on": {
"properties": {
"activate_script": {
"anyOf": [
{
"$ref": "#/definitions/ActivateScript"
},
{
"type": "null"
}
],
"description": "Default directories to search for virtual environments, relative\nto the current working directory. We recommend overriding this\nin your project's settings, rather than globally."
},
"directories": {
"items": {
"type": "string"
},
"type": [
"array",
"null"
]
}
},
"type": "object"
}
},
"required": [
"on"
],
"type": "object"
}
]
},
"VercelSettingsContent": {
"properties": {
"api_url": {
"type": [
"string",
"null"
]
},
"available_models": {
"items": {
"$ref": "#/definitions/AvailableModel10"
},
"type": [
"array",
"null"
]
}
},
"type": "object"
},
"WindowBackgroundContent": {
"description": "The background appearance of the window.",
"enum": [
"opaque",
"transparent",
"blurred"
],
"type": "string"
},
"WordsCompletionMode": {
"description": "Controls how document's words are completed.",
"oneOf": [
{
"const": "enabled",
"description": "Always fetch document's words for completions along with LSP completions.",
"type": "string"
},
{
"const": "fallback",
"description": "Only if LSP response errors or times out,\nuse document's words to show completions.",
"type": "string"
},
{
"const": "disabled",
"description": "Never fetch or complete document's words for completions.\n(Word-based completions can still be queried via a separate action)",
"type": "string"
}
]
},
"WorkingDirectory": {
"oneOf": [
{
"const": "current_project_directory",
"description": "Use the current file's project directory. Will Fallback to the\nfirst project directory strategy if unsuccessful.",
"type": "string"
},
{
"const": "first_project_directory",
"description": "Use the first project in this workspace's directory.",
"type": "string"
},
{
"const": "always_home",
"description": "Always use this platform's home directory (if it can be found).",
"type": "string"
},
{
"additionalProperties": false,
"description": "Always use a specific directory. This value will be shell expanded.\nIf this path is not a valid directory the terminal will default to\nthis platform's home directory (if it can be found).",
"properties": {
"always": {
"properties": {
"directory": {
"type": "string"
}
},
"required": [
"directory"
],
"type": "object"
}
},
"required": [
"always"
],
"type": "object"
}
]
},
"ZedDotDevSettingsContent": {
"properties": {
"available_models": {
"items": {
"$ref": "#/definitions/AvailableModel7"
},
"type": [
"array",
"null"
]
}
},
"type": "object"
},
"ZedSettings": {
"properties": {
"active_pane_modifiers": {
"anyOf": [
{
"$ref": "#/definitions/ActivePanelModifiers"
},
{
"type": "null"
}
],
"description": "Active pane styling settings."
},
"agent": {
"additionalProperties": false,
"properties": {
"always_allow_tool_actions": {
"description": "Whenever a tool action would normally wait for your confirmation\nthat you allow it, always choose to allow it.\n\nDefault: false",
"type": [
"boolean",
"null"
]
},
"button": {
"description": "Whether to show the agent panel button in the status bar.\n\nDefault: true",
"type": [
"boolean",
"null"
]
},
"commit_message_model": {
"anyOf": [
{
"$ref": "#/definitions/LanguageModelSelection"
},
{
"type": "null"
}
],
"description": "Model to use for generating git commit messages. Defaults to default_model when not specified."
},
"default_height": {
"description": "Default height in pixels when the agent panel is docked to the bottom.\n\nDefault: 320",
"format": "float",
"type": [
"number",
"null"
]
},
"default_model": {
"anyOf": [
{
"$ref": "#/definitions/LanguageModelSelection"
},
{
"type": "null"
}
],
"description": "The default model to use when creating new chats and for other features when a specific model is not specified."
},
"default_profile": {
"anyOf": [
{
"$ref": "#/definitions/AgentProfileId"
},
{
"type": "null"
}
],
"description": "The default profile to use in the Agent.\n\nDefault: write"
},
"default_view": {
"anyOf": [
{
"$ref": "#/definitions/DefaultView"
},
{
"type": "null"
}
],
"description": "Which view type to show by default in the agent panel.\n\nDefault: \"thread\""
},
"default_width": {
"description": "Default width in pixels when the agent panel is docked to the left or right.\n\nDefault: 640",
"format": "float",
"type": [
"number",
"null"
]
},
"dock": {
"anyOf": [
{
"$ref": "#/definitions/AgentDockPosition"
},
{
"type": "null"
}
],
"description": "Where to dock the agent panel.\n\nDefault: right"
},
"enable_feedback": {
"description": "Whether to show thumb buttons for feedback in the agent panel.\n\nDefault: true",
"type": [
"boolean",
"null"
]
},
"enabled": {
"description": "Whether the Agent is enabled.\n\nDefault: true",
"type": [
"boolean",
"null"
]
},
"inline_alternatives": {
"description": "Additional models with which to generate alternatives when performing inline assists.",
"items": {
"$ref": "#/definitions/LanguageModelSelection"
},
"type": [
"array",
"null"
]
},
"inline_assistant_model": {
"anyOf": [
{
"$ref": "#/definitions/LanguageModelSelection"
},
{
"type": "null"
}
],
"description": "Model to use for the inline assistant. Defaults to default_model when not specified."
},
"model_parameters": {
"default": [],
"description": "Additional parameters for language model requests. When making a request\nto a model, parameters will be taken from the last entry in this list\nthat matches the model's provider and name. In each entry, both provider\nand model are optional, so that you can specify parameters for either\none.\n\nDefault: []",
"items": {
"$ref": "#/definitions/LanguageModelParameters"
},
"type": "array"
},
"notify_when_agent_waiting": {
"anyOf": [
{
"$ref": "#/definitions/NotifyWhenAgentWaiting"
},
{
"type": "null"
}
],
"description": "Where to show a popup notification when the agent is waiting for user input.\n\nDefault: \"primary_screen\""
},
"play_sound_when_agent_done": {
"description": "Whether to play a sound when the agent has either completed its response, or needs user input.\n\nDefault: false",
"type": [
"boolean",
"null"
]
},
"preferred_completion_mode": {
"anyOf": [
{
"$ref": "#/definitions/CompletionMode"
},
{
"type": "null"
}
],
"description": "What completion mode to enable for new threads\n\nDefault: normal"
},
"profiles": {
"additionalProperties": {
"$ref": "#/definitions/AgentProfileContent"
},
"description": "The available agent profiles.",
"type": [
"object",
"null"
]
},
"single_file_review": {
"description": "Whether to display agent edits in single-file editors in addition to the review multibuffer pane.\n\nDefault: true",
"type": [
"boolean",
"null"
]
},
"stream_edits": {
"description": "Whether to stream edits from the agent as they are received.\n\nDefault: false",
"type": [
"boolean",
"null"
]
},
"thread_summary_model": {
"anyOf": [
{
"$ref": "#/definitions/LanguageModelSelection"
},
{
"type": "null"
}
],
"description": "Model to use for generating thread summaries. Defaults to default_model when not specified."
}
},
"type": "object"
},
"agent_font_size": {
"default": null,
"description": "The font size for the agent panel.",
"format": "float",
"type": [
"number",
"null"
]
},
"allow_rewrap": {
"anyOf": [
{
"$ref": "#/definitions/RewrapBehavior"
},
{
"type": "null"
}
],
"default": null,
"description": "Controls where the `editor::Rewrap` action is allowed for this language.\n\nNote: This setting has no effect in Vim mode, as rewrap is already\nallowed everywhere.\n\nDefault: \"in_comments\""
},
"always_treat_brackets_as_autoclosed": {
"description": "Controls how the editor handles the autoclosed characters.\nWhen set to `false`(default), skipping over and auto-removing of the closing characters\nhappen only for auto-inserted characters.\nOtherwise(when `true`), the closing characters are always skipped over and auto-removed\nno matter how they were inserted.\n\nDefault: false",
"type": [
"boolean",
"null"
]
},
"auto_indent_on_paste": {
"description": "Whether indentation of pasted content should be adjusted based on the context.\n\nDefault: true",
"type": [
"boolean",
"null"
]
},
"auto_install_extensions": {
"additionalProperties": {
"type": "boolean"
},
"default": {},
"description": "The extensions that should be automatically installed by Zed.\n\nThis is used to make functionality provided by extensions (e.g., language support)\navailable out-of-the-box.\n\nDefault: { \"html\": true }",
"type": "object"
},
"auto_signature_help": {
"description": "Whether to automatically show a signature help pop-up or not.\n\nDefault: false",
"type": [
"boolean",
"null"
]
},
"auto_update": {
"anyOf": [
{
"$ref": "#/definitions/AutoUpdateSettingContent"
},
{
"type": "null"
}
]
},
"auto_update_extensions": {
"additionalProperties": {
"type": "boolean"
},
"default": {},
"type": "object"
},
"autosave": {
"anyOf": [
{
"$ref": "#/definitions/AutosaveSetting"
},
{
"type": "null"
}
],
"description": "When to automatically save edited buffers.\n\nDefault: off"
},
"autoscroll_on_clicks": {
"description": "Whether to scroll when clicking near the edge of the visible text area.\n\nDefault: false",
"type": [
"boolean",
"null"
]
},
"base_keymap": {
"anyOf": [
{
"$ref": "#/definitions/BaseKeymap"
},
{
"type": "null"
}
]
},
"bottom_dock_layout": {
"anyOf": [
{
"$ref": "#/definitions/BottomDockLayout"
},
{
"type": "null"
}
],
"description": "Layout mode for the bottom dock\n\nDefault: contained"
},
"buffer_font_fallbacks": {
"default": null,
"description": "The font fallbacks to use for rendering in text buffers.",
"items": {
"$ref": "#/definitions/FontFamilyName"
},
"type": [
"array",
"null"
],
"uniqueItems": true
},
"buffer_font_family": {
"anyOf": [
{
"$ref": "#/definitions/FontFamilyName"
},
{
"type": "null"
}
],
"default": null,
"description": "The name of a font to use for rendering in text buffers."
},
"buffer_font_features": {
"anyOf": [
{
"$ref": "#/definitions/FontFeatures"
},
{
"type": "null"
}
],
"default": {},
"description": "The OpenType features to enable for rendering in text buffers."
},
"buffer_font_size": {
"default": null,
"description": "The default font size for rendering in text buffers.",
"format": "float",
"type": [
"number",
"null"
]
},
"buffer_font_weight": {
"default": null,
"description": "The weight of the editor font in CSS units from 100 to 900.",
"format": "float",
"type": [
"number",
"null"
]
},
"buffer_line_height": {
"anyOf": [
{
"$ref": "#/definitions/BufferLineHeight"
},
{
"type": "null"
}
],
"default": null,
"description": "The buffer's line height."
},
"calls": {
"additionalProperties": false,
"description": "Configuration of voice calls in Zed.",
"properties": {
"mute_on_join": {
"description": "Whether the microphone should be muted when joining a channel or a call.\n\nDefault: false",
"type": [
"boolean",
"null"
]
},
"share_on_join": {
"description": "Whether your current project should be shared when joining an empty channel.\n\nDefault: false",
"type": [
"boolean",
"null"
]
}
},
"type": "object"
},
"centered_layout": {
"anyOf": [
{
"$ref": "#/definitions/CenteredLayoutSettings"
},
{
"type": "null"
}
],
"description": "Centered layout related settings."
},
"chat_panel": {
"additionalProperties": false,
"properties": {
"button": {
"anyOf": [
{
"$ref": "#/definitions/ChatPanelButton"
},
{
"type": "null"
}
],
"description": "When to show the panel button in the status bar.\n\nDefault: only when in a call"
},
"default_width": {
"description": "Default width of the panel in pixels.\n\nDefault: 240",
"format": "float",
"type": [
"number",
"null"
]
},
"dock": {
"anyOf": [
{
"$ref": "#/definitions/DockPosition"
},
{
"type": "null"
}
],
"description": "Where to dock the panel.\n\nDefault: right"
}
},
"type": "object"
},
"close_on_file_delete": {
"description": "Whether to automatically close files that have been deleted on disk.\n\nDefault: false",
"type": [
"boolean",
"null"
]
},
"code_actions_on_format": {
"additionalProperties": {
"type": "boolean"
},
"description": "Which code actions to run on save after the formatter.\nThese are not run if formatting is off.\n\nDefault: {} (or {\"source.organizeImports\": true} for Go).",
"type": [
"object",
"null"
]
},
"collaboration_panel": {
"additionalProperties": false,
"properties": {
"button": {
"description": "Whether to show the panel button in the status bar.\n\nDefault: true",
"type": [
"boolean",
"null"
]
},
"default_width": {
"description": "Default width of the panel in pixels.\n\nDefault: 240",
"format": "float",
"type": [
"number",
"null"
]
},
"dock": {
"anyOf": [
{
"$ref": "#/definitions/DockPosition"
},
{
"type": "null"
}
],
"description": "Where to dock the panel.\n\nDefault: left"
}
},
"type": "object"
},
"command_aliases": {
"additionalProperties": {
"type": "string"
},
"description": "Aliases for the command palette. When you type a key in this map,\nit will be assumed to equal the value.\n\nDefault: true",
"type": [
"object",
"null"
]
},
"completions": {
"anyOf": [
{
"$ref": "#/definitions/CompletionSettings"
},
{
"type": "null"
}
],
"description": "Controls how completions are processed for this language."
},
"confirm_quit": {
"description": "Whether or not to prompt the user to confirm before closing the application.\n\nDefault: false",
"type": [
"boolean",
"null"
]
},
"context_servers": {
"additionalProperties": {
"$ref": "#/definitions/ContextServerSettings"
},
"default": {},
"description": "Settings for context servers used for AI-related features.",
"type": "object"
},
"current_line_highlight": {
"anyOf": [
{
"$ref": "#/definitions/CurrentLineHighlight"
},
{
"type": "null"
}
],
"description": "How to highlight the current line in the editor.\n\nDefault: all"
},
"cursor_blink": {
"description": "Whether the cursor blinks in the editor.\n\nDefault: true",
"type": [
"boolean",
"null"
]
},
"cursor_shape": {
"anyOf": [
{
"$ref": "#/definitions/CursorShape"
},
{
"type": "null"
}
],
"description": "Cursor shape for the default editor.\nCan be \"bar\", \"block\", \"underline\", or \"hollow\".\n\nDefault: None"
},
"dap": {
"additionalProperties": {
"$ref": "#/definitions/DapSettings"
},
"default": {},
"description": "Configuration for Debugger-related features",
"type": "object"
},
"debugger": {
"properties": {
"button": {
"default": true,
"description": "Whether to show the debug button in the status bar.\n\nDefault: true",
"type": "boolean"
},
"dock": {
"allOf": [
{
"$ref": "#/definitions/DebugPanelDockPosition"
}
],
"default": "bottom",
"description": "The dock position of the debug panel\n\nDefault: Bottom"
},
"format_dap_log_messages": {
"default": true,
"description": "Whether to format dap messages in when adding them to debug adapter logger\n\nDefault: true",
"type": "boolean"
},
"log_dap_communications": {
"default": true,
"description": "Whether to log messages between active debug adapters and Zed\n\nDefault: true",
"type": "boolean"
},
"save_breakpoints": {
"default": true,
"description": "Whether the breakpoints should be reused across Zed sessions.\n\nDefault: true",
"type": "boolean"
},
"stepping_granularity": {
"allOf": [
{
"$ref": "#/definitions/SteppingGranularity"
}
],
"default": "line",
"description": "Determines the stepping granularity.\n\nDefault: line"
},
"timeout": {
"default": 2000,
"description": "Time in milliseconds until timeout error when connecting to a TCP debug adapter\n\nDefault: 2000ms",
"format": "uint64",
"minimum": 0,
"type": "integer"
}
},
"type": "object"
},
"debuggers": {
"description": "Preferred debuggers for this language.\n\nDefault: []",
"items": {
"type": "string"
},
"type": [
"array",
"null"
]
},
"diagnostics": {
"allOf": [
{
"$ref": "#/definitions/DiagnosticsSettings"
}
],
"default": {
"button": true,
"cargo": null,
"include_warnings": true,
"inline": {
"enabled": false,
"max_severity": null,
"min_column": 0,
"padding": 4,
"update_debounce_ms": 150
},
"lsp_pull_diagnostics": {
"debounce_ms": 50,
"enabled": true
}
},
"description": "Configuration for Diagnostics-related features."
},
"diagnostics_max_severity": {
"anyOf": [
{
"$ref": "#/definitions/DiagnosticSeverity"
},
{
"type": "null"
}
],
"default": null,
"description": "Which level to use to filter out diagnostics displayed in the editor.\n\nAffects the editor rendering only, and does not interrupt\nthe functionality of diagnostics fetching and project diagnostics editor.\nWhich files containing diagnostic errors/warnings to mark in the tabs.\nDiagnostics are only shown when file icons are also active.\n\nShows all diagnostics if not specified.\n\nDefault: warning"
},
"double_click_in_multibuffer": {
"anyOf": [
{
"$ref": "#/definitions/DoubleClickInMultibuffer"
},
{
"type": "null"
}
],
"description": "What to do when multibuffer is double clicked in some of its excerpts\n(parts of singleton buffers).\n\nDefault: select"
},
"drag_and_drop_selection": {
"description": "Whether to allow drag and drop text selection in buffer.\n\nDefault: true",
"type": [
"boolean",
"null"
]
},
"drop_target_size": {
"description": "The size of the workspace split drop targets on the outer edges.\nGiven as a fraction that will be multiplied by the smaller dimension of the workspace.\n\nDefault: `0.2` (20% of the smaller dimension of the workspace)",
"format": "float",
"type": [
"number",
"null"
]
},
"edit_predictions": {
"anyOf": [
{
"$ref": "#/definitions/EditPredictionSettingsContent"
},
{
"type": "null"
}
],
"default": null,
"description": "The edit prediction settings."
},
"edit_predictions_disabled_in": {
"default": null,
"description": "Controls whether edit predictions are shown in the given language\nscopes.\n\nExample: [\"string\", \"comment\"]\n\nDefault: []",
"items": {
"type": "string"
},
"type": [
"array",
"null"
]
},
"enable_language_server": {
"default": null,
"description": "Whether to use language servers to provide code intelligence.\n\nDefault: true",
"type": [
"boolean",
"null"
]
},
"ensure_final_newline_on_save": {
"default": null,
"description": "Whether or not to ensure there's a single newline at the end of a buffer\nwhen saving it.\n\nDefault: true",
"type": [
"boolean",
"null"
]
},
"expand_excerpt_lines": {
"description": "How many lines to expand the multibuffer excerpts by default\n\nDefault: 3",
"format": "uint32",
"minimum": 0,
"type": [
"integer",
"null"
]
},
"experimental.theme_overrides": {
"anyOf": [
{
"$ref": "#/definitions/ThemeStyleContent"
},
{
"type": "null"
}
],
"default": null,
"description": "EXPERIMENTAL: Overrides for the current theme.\n\nThese values will override the ones on the current theme specified in `theme`."
},
"extend_comment_on_newline": {
"default": null,
"description": "Whether to start a new line with a comment when a previous line is a comment as well.\n\nDefault: true",
"type": [
"boolean",
"null"
]
},
"fast_scroll_sensitivity": {
"description": "Scroll sensitivity multiplier for fast scrolling. This multiplier is applied\nto both the horizontal and vertical delta values while scrolling. Fast scrolling\nhappens when a user holds the alt or option key while scrolling.\n\nDefault: 4.0",
"format": "float",
"type": [
"number",
"null"
]
},
"features": {
"anyOf": [
{
"$ref": "#/definitions/FeaturesContent"
},
{
"type": "null"
}
],
"default": null,
"description": "The settings for enabling/disabling features."
},
"file_finder": {
"properties": {
"file_icons": {
"description": "Whether to show file icons in the file finder.\n\nDefault: true",
"type": [
"boolean",
"null"
]
},
"git_status": {
"description": "Determines whether to show the git status in the file finder\n\nDefault: true",
"type": [
"boolean",
"null"
]
},
"include_ignored": {
"description": "Whether to use gitignored files when searching.\nOnly the file Zed had indexed will be used, not necessary all the gitignored files.\n\nCan accept 3 values:\n* `Some(true)`: Use all gitignored files\n* `Some(false)`: Use only the files Zed had indexed\n* `None`: Be smart and search for ignored when called from a gitignored worktree\n\nDefault: None",
"type": [
"boolean",
"null"
]
},
"modal_max_width": {
"anyOf": [
{
"$ref": "#/definitions/FileFinderWidth"
},
{
"type": "null"
}
],
"description": "Determines how much space the file finder can take up in relation to the available window width.\n\nDefault: small"
},
"skip_focus_for_active_in_search": {
"description": "Determines whether the file finder should skip focus for the active file in search results.\n\nDefault: true",
"type": [
"boolean",
"null"
]
}
},
"type": "object"
},
"file_scan_exclusions": {
"default": null,
"description": "Completely ignore files matching globs from `file_scan_exclusions`. Overrides\n`file_scan_inclusions`.\n\nDefault: [\n \"**/.git\",\n \"**/.svn\",\n \"**/.hg\",\n \"**/.jj\",\n \"**/CVS\",\n \"**/.DS_Store\",\n \"**/Thumbs.db\",\n \"**/.classpath\",\n \"**/.settings\"\n]",
"items": {
"type": "string"
},
"type": [
"array",
"null"
]
},
"file_scan_inclusions": {
"default": null,
"description": "Always include files that match these globs when scanning for files, even if they're\nignored by git. This setting is overridden by `file_scan_exclusions`.\nDefault: [\n \".env*\",\n \"docker-compose.*.yml\",\n]",
"items": {
"type": "string"
},
"type": [
"array",
"null"
]
},
"file_types": {
"additionalProperties": {
"items": {
"type": "string"
},
"type": "array"
},
"default": {},
"description": "Settings for associating file extensions and filenames\nwith languages.",
"type": "object"
},
"format_on_save": {
"anyOf": [
{
"$ref": "#/definitions/OnSaveFormatter"
},
{
"type": "null"
}
],
"default": null,
"description": "Whether or not to perform a buffer format before saving.\n\nDefault: on"
},
"formatter": {
"anyOf": [
{
"$ref": "#/definitions/Formatter"
},
{
"type": "null"
}
],
"default": null,
"description": "How to perform a buffer format.\n\nDefault: auto"
},
"git": {
"allOf": [
{
"$ref": "#/definitions/GitSettings"
}
],
"default": {
"git_gutter": null,
"gutter_debounce": null,
"hunk_style": null,
"inline_blame": null
},
"description": "Configuration for Git-related features"
},
"git_hosting_providers": {
"default": [],
"description": "The list of custom Git hosting providers.",
"items": {
"$ref": "#/definitions/GitHostingProviderConfig"
},
"type": "array"
},
"git_panel": {
"properties": {
"button": {
"description": "Whether to show the panel button in the status bar.\n\nDefault: true",
"type": [
"boolean",
"null"
]
},
"collapse_untracked_diff": {
"description": "Whether to collapse untracked files in the diff panel.\n\nDefault: false",
"type": [
"boolean",
"null"
]
},
"default_width": {
"description": "Default width of the panel in pixels.\n\nDefault: 360",
"format": "float",
"type": [
"number",
"null"
]
},
"dock": {
"anyOf": [
{
"$ref": "#/definitions/DockPosition"
},
{
"type": "null"
}
],
"description": "Where to dock the panel.\n\nDefault: left"
},
"fallback_branch_name": {
"description": "What the default branch name should be when\n`init.defaultBranch` is not set in git\n\nDefault: main",
"type": [
"string",
"null"
]
},
"scrollbar": {
"anyOf": [
{
"$ref": "#/definitions/ScrollbarSettings"
},
{
"type": "null"
}
],
"description": "How and when the scrollbar should be displayed.\n\nDefault: inherits editor scrollbar settings"
},
"sort_by_path": {
"description": "Whether to sort entries in the panel by path\nor by status (the default).\n\nDefault: false",
"type": [
"boolean",
"null"
]
},
"status_style": {
"anyOf": [
{
"$ref": "#/definitions/StatusStyle"
},
{
"type": "null"
}
],
"description": "How entry statuses are displayed.\n\nDefault: icon"
}
},
"type": "object"
},
"global_lsp_settings": {
"allOf": [
{
"$ref": "#/definitions/GlobalLspSettings"
}
],
"default": {
"button": true
},
"description": "Common language server settings."
},
"go_to_definition_fallback": {
"anyOf": [
{
"$ref": "#/definitions/GoToDefinitionFallback"
},
{
"type": "null"
}
],
"description": "Whether to follow-up empty go to definition responses from the language server or not.\n`FindAllReferences` allows to look up references of the same symbol instead.\n`None` disables the fallback.\n\nDefault: FindAllReferences"
},
"gutter": {
"anyOf": [
{
"$ref": "#/definitions/GutterContent"
},
{
"type": "null"
}
],
"description": "Gutter related settings"
},
"hard_tabs": {
"default": null,
"description": "Whether to indent lines using tab characters, as opposed to multiple\nspaces.\n\nDefault: false",
"type": [
"boolean",
"null"
]
},
"helix_mode": {
"type": [
"boolean",
"null"
]
},
"hide_mouse": {
"anyOf": [
{
"$ref": "#/definitions/HideMouseMode"
},
{
"type": "null"
}
],
"description": "Determines when the mouse cursor should be hidden in an editor or input box.\n\nDefault: on_typing_and_movement"
},
"horizontal_scroll_margin": {
"description": "The number of characters to keep on either side when scrolling with the mouse.\n\nDefault: 5.",
"format": "float",
"type": [
"number",
"null"
]
},
"hover_popover_delay": {
"description": "Time to wait in milliseconds before showing the informational hover box.\n\nDefault: 300",
"format": "uint64",
"minimum": 0,
"type": [
"integer",
"null"
]
},
"hover_popover_enabled": {
"description": "Whether to show the informational hover box when moving the mouse\nover symbols in the editor.\n\nDefault: true",
"type": [
"boolean",
"null"
]
},
"icon_theme": {
"anyOf": [
{
"$ref": "#/definitions/IconThemeSelection"
},
{
"type": "null"
}
],
"default": null,
"description": "The name of the icon theme to use."
},
"image_viewer": {
"description": "The settings for the image viewer.",
"properties": {
"unit": {
"allOf": [
{
"$ref": "#/definitions/ImageFileSizeUnit"
}
],
"default": "binary",
"description": "The unit to use for displaying image file sizes.\n\nDefault: \"binary\""
}
},
"type": "object"
},
"indent_guides": {
"anyOf": [
{
"$ref": "#/definitions/IndentGuideSettings"
},
{
"type": "null"
}
],
"default": null,
"description": "Indent guide related settings."
},
"inlay_hints": {
"anyOf": [
{
"$ref": "#/definitions/InlayHintSettings"
},
{
"type": "null"
}
],
"default": null,
"description": "Inlay hint related settings."
},
"inline_code_actions": {
"description": "Whether to show code action button at start of buffer line.\n\nDefault: true",
"type": [
"boolean",
"null"
]
},
"journal": {
"description": "Settings specific to journaling",
"properties": {
"hour_format": {
"anyOf": [
{
"$ref": "#/definitions/HourFormat"
},
{
"type": "null"
}
],
"description": "What format to display the hours in.\n\nDefault: hour12"
},
"path": {
"description": "The path of the directory where journal entries are stored.\n\nDefault: `~`",
"type": [
"string",
"null"
]
}
},
"type": "object"
},
"jsx_tag_auto_close": {
"anyOf": [
{
"$ref": "#/definitions/JsxTagAutoCloseSettings"
},
{
"type": "null"
}
],
"default": null,
"description": "Whether to automatically close JSX tags."
},
"jupyter": {
"anyOf": [
{
"$ref": "#/definitions/JupyterContent"
},
{
"type": "null"
}
],
"properties": {
"kernel_selections": {
"additionalProperties": {
"type": "string"
},
"description": "Default kernels to select for each language.\n\nDefault: `{}`",
"type": [
"object",
"null"
]
}
},
"type": "object"
},
"language_models": {
"properties": {
"anthropic": {
"anyOf": [
{
"$ref": "#/definitions/AnthropicSettingsContent"
},
{
"type": "null"
}
]
},
"bedrock": {
"anyOf": [
{
"$ref": "#/definitions/AmazonBedrockSettingsContent"
},
{
"type": "null"
}
]
},
"deepseek": {
"anyOf": [
{
"$ref": "#/definitions/DeepseekSettingsContent"
},
{
"type": "null"
}
]
},
"google": {
"anyOf": [
{
"$ref": "#/definitions/GoogleSettingsContent"
},
{
"type": "null"
}
]
},
"lmstudio": {
"anyOf": [
{
"$ref": "#/definitions/LmStudioSettingsContent"
},
{
"type": "null"
}
]
},
"mistral": {
"anyOf": [
{
"$ref": "#/definitions/MistralSettingsContent"
},
{
"type": "null"
}
]
},
"ollama": {
"anyOf": [
{
"$ref": "#/definitions/OllamaSettingsContent"
},
{
"type": "null"
}
]
},
"open_router": {
"anyOf": [
{
"$ref": "#/definitions/OpenRouterSettingsContent"
},
{
"type": "null"
}
]
},
"openai": {
"anyOf": [
{
"$ref": "#/definitions/OpenAiSettingsContent"
},
{
"type": "null"
}
]
},
"vercel": {
"anyOf": [
{
"$ref": "#/definitions/VercelSettingsContent"
},
{
"type": "null"
}
]
},
"zed.dev": {
"anyOf": [
{
"$ref": "#/definitions/ZedDotDevSettingsContent"
},
{
"type": "null"
}
]
}
},
"type": "object"
},
"language_servers": {
"default": null,
"description": "The list of language servers to use (or disable) for this language.\n\nThis array should consist of language server IDs, as well as the following\nspecial tokens:\n- `\"!<language_server_id>\"` - A language server ID prefixed with a `!` will be disabled.\n- `\"...\"` - A placeholder to refer to the **rest** of the registered language servers for this language.\n\nDefault: [\"...\"]",
"items": {
"type": "string"
},
"type": [
"array",
"null"
]
},
"languages": {
"allOf": [
{
"$ref": "#/definitions/LanguageToSettingsMap"
}
],
"default": {},
"description": "The settings for individual languages."
},
"line_indicator_format": {
"anyOf": [
{
"$ref": "#/definitions/LineIndicatorFormat"
},
{
"type": "null"
}
]
},
"linked_edits": {
"description": "Whether to perform linked edits of associated ranges, if the language server supports it.\nFor example, when editing opening <html> tag, the contents of the closing </html> tag will be edited as well.\n\nDefault: true",
"type": [
"boolean",
"null"
]
},
"load_direnv": {
"allOf": [
{
"$ref": "#/definitions/DirenvSettings"
}
],
"default": "direct",
"description": "Configuration for how direnv configuration should be loaded"
},
"log": {
"additionalProperties": {
"type": "string"
},
"type": "object"
},
"lsp": {
"additionalProperties": {
"$ref": "#/definitions/LspSettings"
},
"default": {},
"description": "Configuration for language servers.\n\nThe following settings can be overridden for specific language servers:\n- initialization_options\n\nTo override settings for a language, add an entry for that language server's\nname to the lsp value.\nDefault: null",
"type": "object"
},
"lsp_document_colors": {
"anyOf": [
{
"$ref": "#/definitions/DocumentColorsRenderMode"
},
{
"type": "null"
}
],
"description": "How to render LSP `textDocument/documentColor` colors in the editor.\n\nDefault: [`DocumentColorsRenderMode::Inlay`]"
},
"lsp_highlight_debounce": {
"description": "The debounce delay before querying highlights from the language\nserver based on the current cursor location.\n\nDefault: 75",
"format": "uint64",
"minimum": 0,
"type": [
"integer",
"null"
]
},
"max_tabs": {
"description": "Maximum open tabs in a pane. Will not close an unsaved\ntab. Set to `None` for unlimited tabs.\n\nDefault: none",
"format": "uint",
"minimum": 1,
"type": [
"integer",
"null"
]
},
"message_editor": {
"additionalProperties": false,
"properties": {
"auto_replace_emoji_shortcode": {
"description": "Whether to automatically replace emoji shortcodes with emoji characters.\nFor example: typing `:wave:` gets replaced with `👋`.\n\nDefault: false",
"type": [
"boolean",
"null"
]
}
},
"type": "object"
},
"middle_click_paste": {
"description": "Whether to enable middle-click paste on Linux\n\nDefault: true",
"type": [
"boolean",
"null"
]
},
"minimap": {
"anyOf": [
{
"$ref": "#/definitions/MinimapContent"
},
{
"type": "null"
}
],
"description": "Minimap related settings"
},
"multi_cursor_modifier": {
"anyOf": [
{
"$ref": "#/definitions/MultiCursorModifier"
},
{
"type": "null"
}
],
"description": "Determines the modifier to be used to add multiple cursors with the mouse. The open hover link mouse gestures will adapt such that it do not conflict with the multicursor modifier.\n\nDefault: alt"
},
"node": {
"allOf": [
{
"$ref": "#/definitions/NodeBinarySettings"
}
],
"default": {
"ignore_system_version": false,
"npm_path": null,
"path": null
},
"description": "Configuration for Node-related features"
},
"notification_panel": {
"additionalProperties": false,
"properties": {
"button": {
"description": "Whether to show the panel button in the status bar.\n\nDefault: true",
"type": [
"boolean",
"null"
]
},
"default_width": {
"description": "Default width of the panel in pixels.\n\nDefault: 240",
"format": "float",
"type": [
"number",
"null"
]
},
"dock": {
"anyOf": [
{
"$ref": "#/definitions/DockPosition"
},
{
"type": "null"
}
],
"description": "Where to dock the panel.\n\nDefault: left"
}
},
"type": "object"
},
"on_last_window_closed": {
"anyOf": [
{
"$ref": "#/definitions/OnLastWindowClosed"
},
{
"type": "null"
}
],
"description": "What to do when the last window is closed\n\nDefault: auto (nothing on macOS, \"app quit\" otherwise)"
},
"outline_panel": {
"properties": {
"auto_fold_dirs": {
"description": "Whether to fold directories automatically\nwhen directory has only one directory inside.\n\nDefault: true",
"type": [
"boolean",
"null"
]
},
"auto_reveal_entries": {
"description": "Whether to reveal it in the outline panel automatically,\nwhen a corresponding project entry becomes active.\nGitignored entries are never auto revealed.\n\nDefault: true",
"type": [
"boolean",
"null"
]
},
"button": {
"description": "Whether to show the outline panel button in the status bar.\n\nDefault: true",
"type": [
"boolean",
"null"
]
},
"default_width": {
"description": "Customize default width (in pixels) taken by outline panel\n\nDefault: 240",
"format": "float",
"type": [
"number",
"null"
]
},
"dock": {
"anyOf": [
{
"$ref": "#/definitions/OutlinePanelDockPosition"
},
{
"type": "null"
}
],
"description": "The position of outline panel\n\nDefault: left"
},
"file_icons": {
"description": "Whether to show file icons in the outline panel.\n\nDefault: true",
"type": [
"boolean",
"null"
]
},
"folder_icons": {
"description": "Whether to show folder icons or chevrons for directories in the outline panel.\n\nDefault: true",
"type": [
"boolean",
"null"
]
},
"git_status": {
"description": "Whether to show the git status in the outline panel.\n\nDefault: true",
"type": [
"boolean",
"null"
]
},
"indent_guides": {
"anyOf": [
{
"$ref": "#/definitions/IndentGuidesSettingsContent"
},
{
"type": "null"
}
],
"description": "Settings related to indent guides in the outline panel."
},
"indent_size": {
"description": "Amount of indentation (in pixels) for nested items.\n\nDefault: 20",
"format": "float",
"type": [
"number",
"null"
]
},
"scrollbar": {
"anyOf": [
{
"$ref": "#/definitions/ScrollbarSettingsContent"
},
{
"type": "null"
}
],
"description": "Scrollbar-related settings"
}
},
"type": "object"
},
"pane_split_direction_horizontal": {
"anyOf": [
{
"$ref": "#/definitions/PaneSplitDirectionHorizontal"
},
{
"type": "null"
}
],
"description": "Direction to split horizontally.\n\nDefault: \"up\""
},
"pane_split_direction_vertical": {
"anyOf": [
{
"$ref": "#/definitions/PaneSplitDirectionVertical"
},
{
"type": "null"
}
],
"description": "Direction to split vertically.\n\nDefault: \"left\""
},
"preferred_line_length": {
"default": null,
"description": "The column at which to soft-wrap lines, for buffers where soft-wrap\nis enabled.\n\nDefault: 80",
"format": "uint32",
"minimum": 0,
"type": [
"integer",
"null"
]
},
"prettier": {
"anyOf": [
{
"$ref": "#/definitions/PrettierSettings"
},
{
"type": "null"
}
],
"default": null,
"description": "Zed's Prettier integration settings.\nAllows to enable/disable formatting with Prettier\nand configure default Prettier, used when no project-level Prettier installation is found.\n\nDefault: off"
},
"preview_tabs": {
"properties": {
"enable_preview_from_code_navigation": {
"description": "Whether a preview tab gets replaced when code navigation is used to navigate away from the tab.\n\nDefault: false",
"type": [
"boolean",
"null"
]
},
"enable_preview_from_file_finder": {
"description": "Whether to open tabs in preview mode when selected from the file finder.\n\nDefault: false",
"type": [
"boolean",
"null"
]
},
"enabled": {
"description": "Whether to show opened editors as preview tabs.\nPreview tabs do not stay open, are reused until explicitly set to be kept open opened (via double-click or editing) and show file names in italic.\n\nDefault: true",
"type": [
"boolean",
"null"
]
}
},
"type": "object"
},
"private_files": {
"description": "Treat the files matching these globs as `.env` files.\nDefault: [ \"**/.env*\" ]",
"items": {
"type": "string"
},
"type": [
"array",
"null"
]
},
"project_panel": {
"properties": {
"auto_fold_dirs": {
"description": "Whether to fold directories automatically\nwhen directory has only one directory inside.\n\nDefault: true",
"type": [
"boolean",
"null"
]
},
"auto_reveal_entries": {
"description": "Whether to reveal it in the project panel automatically,\nwhen a corresponding project entry becomes active.\nGitignored entries are never auto revealed.\n\nDefault: true",
"type": [
"boolean",
"null"
]
},
"button": {
"description": "Whether to show the project panel button in the status bar.\n\nDefault: true",
"type": [
"boolean",
"null"
]
},
"default_width": {
"description": "Customize default width (in pixels) taken by project panel\n\nDefault: 240",
"format": "float",
"type": [
"number",
"null"
]
},
"dock": {
"anyOf": [
{
"$ref": "#/definitions/ProjectPanelDockPosition"
},
{
"type": "null"
}
],
"description": "The position of project panel\n\nDefault: left"
},
"entry_spacing": {
"anyOf": [
{
"$ref": "#/definitions/EntrySpacing"
},
{
"type": "null"
}
],
"description": "Spacing between worktree entries in the project panel.\n\nDefault: comfortable"
},
"file_icons": {
"description": "Whether to show file icons in the project panel.\n\nDefault: true",
"type": [
"boolean",
"null"
]
},
"folder_icons": {
"description": "Whether to show folder icons or chevrons for directories in the project panel.\n\nDefault: true",
"type": [
"boolean",
"null"
]
},
"git_status": {
"description": "Whether to show the git status in the project panel.\n\nDefault: true",
"type": [
"boolean",
"null"
]
},
"hide_gitignore": {
"description": "Whether to hide gitignore files in the project panel.\n\nDefault: false",
"type": [
"boolean",
"null"
]
},
"hide_root": {
"description": "Whether to hide the root entry when only one folder is open in the window.\n\nDefault: false",
"type": [
"boolean",
"null"
]
},
"indent_guides": {
"anyOf": [
{
"$ref": "#/definitions/IndentGuidesSettingsContent2"
},
{
"type": "null"
}
],
"description": "Settings related to indent guides in the project panel."
},
"indent_size": {
"description": "Amount of indentation (in pixels) for nested items.\n\nDefault: 20",
"format": "float",
"type": [
"number",
"null"
]
},
"scrollbar": {
"anyOf": [
{
"$ref": "#/definitions/ScrollbarSettingsContent2"
},
{
"type": "null"
}
],
"description": "Scrollbar-related settings"
},
"show_diagnostics": {
"anyOf": [
{
"$ref": "#/definitions/ShowDiagnostics2"
},
{
"type": "null"
}
],
"description": "Which files containing diagnostic errors/warnings to mark in the project panel.\n\nDefault: all"
}
},
"type": "object"
},
"proxy": {
"type": [
"string",
"null"
]
},
"read_ssh_config": {
"type": [
"boolean",
"null"
]
},
"redact_private_values": {
"description": "Hide the values of variables in `private` files, as defined by the\nprivate_files setting. This only changes the visual representation,\nthe values are still present in the file and can be selected / copied / pasted\n\nDefault: false",
"type": [
"boolean",
"null"
]
},
"relative_line_numbers": {
"description": "Whether the line numbers on editors gutter are relative or not.\n\nDefault: false",
"type": [
"boolean",
"null"
]
},
"remove_trailing_whitespace_on_save": {
"default": null,
"description": "Whether or not to remove any trailing whitespace from lines of a buffer\nbefore saving it.\n\nDefault: true",
"type": [
"boolean",
"null"
]
},
"resize_all_panels_in_dock": {
"description": "Whether to resize all the panels in a dock when resizing the dock.\n\nDefault: [\"left\"]",
"items": {
"$ref": "#/definitions/DockPosition"
},
"type": [
"array",
"null"
]
},
"restore_on_file_reopen": {
"description": "Whether to attempt to restore previous file's state when opening it again.\nThe state is stored per pane.\nWhen disabled, defaults are applied instead of the state restoration.\n\nE.g. for editors, selections, folds and scroll positions are restored, if the same file is closed and, later, opened again in the same pane.\nWhen disabled, a single selection in the very beginning of the file, zero scroll position and no folds state is used as a default.\n\nDefault: true",
"type": [
"boolean",
"null"
]
},
"restore_on_startup": {
"anyOf": [
{
"$ref": "#/definitions/RestoreOnStartupBehavior"
},
{
"type": "null"
}
],
"description": "Controls previous session restoration in freshly launched Zed instance.\nValues: none, last_workspace, last_session\nDefault: last_session"
},
"scroll_beyond_last_line": {
"anyOf": [
{
"$ref": "#/definitions/ScrollBeyondLastLine"
},
{
"type": "null"
}
],
"description": "Whether the editor will scroll beyond the last line.\n\nDefault: one_page"
},
"scroll_sensitivity": {
"description": "Scroll sensitivity multiplier. This multiplier is applied\nto both the horizontal and vertical delta values while scrolling.\n\nDefault: 1.0",
"format": "float",
"type": [
"number",
"null"
]
},
"scrollbar": {
"anyOf": [
{
"$ref": "#/definitions/ScrollbarContent"
},
{
"type": "null"
}
],
"description": "Scrollbar related settings"
},
"search": {
"anyOf": [
{
"$ref": "#/definitions/SearchSettings"
},
{
"type": "null"
}
],
"description": "Defaults to use when opening a new buffer and project search items.\n\nDefault: nothing is enabled"
},
"search_wrap": {
"description": "Whether the editor search results will loop\n\nDefault: true",
"type": [
"boolean",
"null"
]
},
"seed_search_query_from_cursor": {
"anyOf": [
{
"$ref": "#/definitions/SeedQuerySetting"
},
{
"type": "null"
}
],
"description": "When to populate a new search's query based on the text under the cursor.\n\nDefault: always"
},
"selection_highlight": {
"description": "Whether to highlight all occurrences of the selected text in an editor.\n\nDefault: true",
"type": [
"boolean",
"null"
]
},
"server_url": {
"type": [
"string",
"null"
]
},
"session": {
"allOf": [
{
"$ref": "#/definitions/SessionSettings"
}
],
"default": {
"restore_unsaved_buffers": true
},
"description": "Configuration for session-related features"
},
"show_call_status_icon": {
"description": "Whether or not to show the call status icon in the status bar.\n\nDefault: true",
"type": [
"boolean",
"null"
]
},
"show_completion_documentation": {
"description": "Whether to display inline and alongside documentation for items in the\ncompletions menu.\n\nDefault: true",
"type": [
"boolean",
"null"
]
},
"show_completions_on_input": {
"description": "Whether to pop the completions menu while typing in an editor without\nexplicitly requesting it.\n\nDefault: true",
"type": [
"boolean",
"null"
]
},
"show_edit_predictions": {
"default": null,
"description": "Controls whether edit predictions are shown immediately (true)\nor manually by triggering `editor::ShowEditPrediction` (false).\n\nDefault: true",
"type": [
"boolean",
"null"
]
},
"show_signature_help_after_edits": {
"description": "Whether to show the signature help pop-up after completions or bracket pairs inserted.\n\nDefault: false",
"type": [
"boolean",
"null"
]
},
"show_whitespaces": {
"anyOf": [
{
"$ref": "#/definitions/ShowWhitespaceSetting"
},
{
"type": "null"
}
],
"default": null,
"description": "Whether to show tabs and spaces in the editor."
},
"show_wrap_guides": {
"default": null,
"description": "Whether to show wrap guides in the editor. Setting this to true will\nshow a guide at the 'preferred_line_length' value if softwrap is set to\n'preferred_line_length', and will show any additional guides as specified\nby the 'wrap_guides' setting.\n\nDefault: true",
"type": [
"boolean",
"null"
]
},
"slash_commands": {
"description": "Settings for slash commands.",
"properties": {
"cargo_workspace": {
"allOf": [
{
"$ref": "#/definitions/CargoWorkspaceCommandSettings"
}
],
"default": {
"enabled": false
},
"description": "Settings for the `/cargo-workspace` slash command."
},
"docs": {
"allOf": [
{
"$ref": "#/definitions/DocsCommandSettings"
}
],
"default": {
"enabled": false
},
"description": "Settings for the `/docs` slash command."
}
},
"type": "object"
},
"snippet_sort_order": {
"anyOf": [
{
"$ref": "#/definitions/SnippetSortOrder"
},
{
"type": "null"
}
],
"description": "Determines how snippets are sorted relative to other completion items.\n\nDefault: inline"
},
"soft_wrap": {
"anyOf": [
{
"$ref": "#/definitions/SoftWrap"
},
{
"type": "null"
}
],
"default": null,
"description": "How to soft-wrap long lines of text.\n\nDefault: none"
},
"ssh_connections": {
"items": {
"$ref": "#/definitions/SshConnection"
},
"type": [
"array",
"null"
]
},
"tab_bar": {
"properties": {
"show": {
"description": "Whether or not to show the tab bar in the editor.\n\nDefault: true",
"type": [
"boolean",
"null"
]
},
"show_nav_history_buttons": {
"description": "Whether or not to show the navigation history buttons in the tab bar.\n\nDefault: true",
"type": [
"boolean",
"null"
]
},
"show_tab_bar_buttons": {
"description": "Whether or not to show the tab bar buttons.\n\nDefault: true",
"type": [
"boolean",
"null"
]
}
},
"type": "object"
},
"tab_size": {
"default": null,
"description": "How many columns a tab should occupy.\n\nDefault: 4",
"format": "uint32",
"minimum": 1,
"type": [
"integer",
"null"
]
},
"tabs": {
"properties": {
"activate_on_close": {
"anyOf": [
{
"$ref": "#/definitions/ActivateOnClose"
},
{
"type": "null"
}
],
"description": "What to do after closing the current tab.\n\nDefault: history"
},
"close_position": {
"anyOf": [
{
"$ref": "#/definitions/ClosePosition"
},
{
"type": "null"
}
],
"description": "Position of the close button in a tab.\n\nDefault: right"
},
"file_icons": {
"description": "Whether to show the file icon for a tab.\n\nDefault: false",
"type": [
"boolean",
"null"
]
},
"git_status": {
"description": "Whether to show the Git file status on a tab item.\n\nDefault: false",
"type": [
"boolean",
"null"
]
},
"show_close_button": {
"anyOf": [
{
"$ref": "#/definitions/ShowCloseButton"
},
{
"type": "null"
}
],
"description": "Whether to always show the close button on tabs.\n\nDefault: false"
},
"show_diagnostics": {
"anyOf": [
{
"$ref": "#/definitions/ShowDiagnostics"
},
{
"type": "null"
}
],
"description": "Which files containing diagnostic errors/warnings to mark in the tabs.\nThis setting can take the following three values:\n\nDefault: off"
}
},
"type": "object"
},
"tasks": {
"anyOf": [
{
"$ref": "#/definitions/LanguageTaskConfig"
},
{
"type": "null"
}
],
"description": "Task configuration for this language.\n\nDefault: {}"
},
"telemetry": {
"description": "Control what info is collected by Zed.",
"properties": {
"diagnostics": {
"description": "Send debug info like crash reports.\n\nDefault: true",
"type": [
"boolean",
"null"
]
},
"metrics": {
"description": "Send anonymized usage data like what languages you're using Zed with.\n\nDefault: true",
"type": [
"boolean",
"null"
]
}
},
"type": "object"
},
"terminal": {
"properties": {
"alternate_scroll": {
"anyOf": [
{
"$ref": "#/definitions/AlternateScroll"
},
{
"type": "null"
}
],
"description": "Sets whether Alternate Scroll mode (code: ?1007) is active by default.\nAlternate Scroll mode converts mouse scroll events into up / down key\npresses when in the alternate screen (e.g. when running applications\nlike vim or less). The terminal can still set and unset this mode.\n\nDefault: on"
},
"blinking": {
"anyOf": [
{
"$ref": "#/definitions/TerminalBlink"
},
{
"type": "null"
}
],
"description": "Sets the cursor blinking behavior in the terminal.\n\nDefault: terminal_controlled"
},
"button": {
"description": "Whether to show the terminal button in the status bar.\n\nDefault: true",
"type": [
"boolean",
"null"
]
},
"copy_on_select": {
"description": "Whether or not selecting text in the terminal will automatically\ncopy to the system clipboard.\n\nDefault: false",
"type": [
"boolean",
"null"
]
},
"cursor_shape": {
"anyOf": [
{
"$ref": "#/definitions/CursorShape2"
},
{
"type": "null"
}
],
"description": "Default cursor shape for the terminal.\nCan be \"bar\", \"block\", \"underline\", or \"hollow\".\n\nDefault: None"
},
"default_height": {
"description": "Default height when the terminal is docked to the bottom.\n\nDefault: 320",
"format": "float",
"type": [
"number",
"null"
]
},
"default_width": {
"description": "Default width when the terminal is docked to the left or right.\n\nDefault: 640",
"format": "float",
"type": [
"number",
"null"
]
},
"detect_venv": {
"anyOf": [
{
"$ref": "#/definitions/VenvSettings"
},
{
"type": "null"
}
],
"description": "Activates the python virtual environment, if one is found, in the\nterminal's working directory (as resolved by the working_directory\nsetting). Set this to \"off\" to disable this behavior.\n\nDefault: on"
},
"dock": {
"anyOf": [
{
"$ref": "#/definitions/TerminalDockPosition"
},
{
"type": "null"
}
]
},
"env": {
"additionalProperties": {
"type": "string"
},
"description": "Any key-value pairs added to this list will be added to the terminal's\nenvironment. Use `:` to separate multiple values.\n\nDefault: {}",
"type": [
"object",
"null"
]
},
"font_fallbacks": {
"description": "Sets the terminal's font fallbacks.\n\nIf this option is not included,\nthe terminal will default to matching the buffer's font fallbacks.",
"items": {
"$ref": "#/definitions/FontFamilyName"
},
"type": [
"array",
"null"
],
"uniqueItems": true
},
"font_family": {
"anyOf": [
{
"$ref": "#/definitions/FontFamilyName"
},
{
"type": "null"
}
],
"description": "Sets the terminal's font family.\n\nIf this option is not included,\nthe terminal will default to matching the buffer's font family."
},
"font_features": {
"anyOf": [
{
"$ref": "#/definitions/FontFeatures"
},
{
"type": "null"
}
]
},
"font_size": {
"description": "Sets the terminal's font size.\n\nIf this option is not included,\nthe terminal will default to matching the buffer's font size.",
"format": "float",
"type": [
"number",
"null"
]
},
"font_weight": {
"description": "Sets the terminal's font weight in CSS weight units 0-900.",
"format": "float",
"type": [
"number",
"null"
]
},
"line_height": {
"anyOf": [
{
"$ref": "#/definitions/TerminalLineHeight"
},
{
"type": "null"
}
],
"description": "Sets the terminal's line height.\n\nDefault: comfortable"
},
"max_scroll_history_lines": {
"description": "The maximum number of lines to keep in the scrollback history.\nMaximum allowed value is 100_000, all values above that will be treated as 100_000.\n0 disables the scrolling.\nExisting terminals will not pick up this change until they are recreated.\nSee <a href=\"https://github.com/alacritty/alacritty/blob/cb3a79dbf6472740daca8440d5166c1d4af5029e/extra/man/alacritty.5.scd?plain=1#L207-L213\">Alacritty documentation</a> for more information.\n\nDefault: 10_000",
"format": "uint",
"minimum": 0,
"type": [
"integer",
"null"
]
},
"option_as_meta": {
"description": "Sets whether the option key behaves as the meta key.\n\nDefault: false",
"type": [
"boolean",
"null"
]
},
"scrollbar": {
"anyOf": [
{
"$ref": "#/definitions/ScrollbarSettingsContent3"
},
{
"type": "null"
}
],
"description": "Scrollbar-related settings"
},
"shell": {
"anyOf": [
{
"$ref": "#/definitions/Shell"
},
{
"type": "null"
}
],
"description": "What shell to use when opening a terminal.\n\nDefault: system"
},
"toolbar": {
"anyOf": [
{
"$ref": "#/definitions/ToolbarContent2"
},
{
"type": "null"
}
],
"description": "Toolbar related settings"
},
"working_directory": {
"anyOf": [
{
"$ref": "#/definitions/WorkingDirectory"
},
{
"type": "null"
}
],
"description": "What working directory to use when launching the terminal\n\nDefault: current_project_directory"
}
},
"type": "object"
},
"theme": {
"anyOf": [
{
"$ref": "#/definitions/ThemeSelection"
},
{
"type": "null"
}
],
"default": null,
"description": "The name of the Zed theme to use."
},
"title_bar": {
"properties": {
"show_branch_icon": {
"description": "Whether to show the branch icon beside branch switcher in the title bar.\n\nDefault: false",
"type": [
"boolean",
"null"
]
},
"show_branch_name": {
"description": "Whether to show the branch name button in the titlebar.\n\nDefault: true",
"type": [
"boolean",
"null"
]
},
"show_onboarding_banner": {
"description": "Whether to show onboarding banners in the title bar.\n\nDefault: true",
"type": [
"boolean",
"null"
]
},
"show_project_items": {
"description": "Whether to show the project host and name in the titlebar.\n\nDefault: true",
"type": [
"boolean",
"null"
]
},
"show_sign_in": {
"description": "Whether to show the sign in button in the title bar.\n\nDefault: true",
"type": [
"boolean",
"null"
]
},
"show_user_picture": {
"description": "Whether to show user avatar in the title bar.\n\nDefault: true",
"type": [
"boolean",
"null"
]
}
},
"type": "object"
},
"toolbar": {
"anyOf": [
{
"$ref": "#/definitions/ToolbarContent"
},
{
"type": "null"
}
],
"description": "Toolbar related settings"
},
"ui_font_fallbacks": {
"default": [],
"description": "The font fallbacks to use for rendering in the UI.",
"items": {
"$ref": "#/definitions/FontFamilyName"
},
"type": [
"array",
"null"
],
"uniqueItems": true
},
"ui_font_family": {
"anyOf": [
{
"$ref": "#/definitions/FontFamilyName"
},
{
"type": "null"
}
],
"default": null,
"description": "The name of a font to use for rendering in the UI."
},
"ui_font_features": {
"anyOf": [
{
"$ref": "#/definitions/FontFeatures"
},
{
"type": "null"
}
],
"default": {},
"description": "The OpenType features to enable for text in the UI."
},
"ui_font_size": {
"default": null,
"description": "The default font size for text in the UI.",
"format": "float",
"type": [
"number",
"null"
]
},
"ui_font_weight": {
"default": null,
"description": "The weight of the UI font in CSS units from 100 to 900.",
"format": "float",
"type": [
"number",
"null"
]
},
"unnecessary_code_fade": {
"default": null,
"description": "How much to fade out unused code.",
"format": "float",
"type": [
"number",
"null"
]
},
"unstable.ui_density": {
"anyOf": [
{
"$ref": "#/definitions/UiDensity"
},
{
"type": "null"
}
],
"default": null,
"description": "UNSTABLE: Expect many elements to be broken."
},
"use_auto_surround": {
"description": "Whether to automatically surround text with characters for you. For example,\nwhen you select text and type (, Zed will automatically surround text with ().\n\nDefault: true",
"type": [
"boolean",
"null"
]
},
"use_autoclose": {
"description": "Whether to automatically type closing characters for you. For example,\nwhen you type (, Zed will automatically add a closing ) at the correct position.\n\nDefault: true",
"type": [
"boolean",
"null"
]
},
"use_on_type_format": {
"description": "Whether to use additional LSP queries to format (and amend) the code after\nevery \"trigger\" symbol input, defined by LSP server capabilities.\n\nDefault: true",
"type": [
"boolean",
"null"
]
},
"use_smartcase_search": {
"type": [
"boolean",
"null"
]
},
"use_system_path_prompts": {
"description": "Whether to use the system provided dialogs for Open and Save As.\nWhen set to false, Zed will use the built-in keyboard-first pickers.\n\nDefault: true",
"type": [
"boolean",
"null"
]
},
"use_system_prompts": {
"description": "Whether to use the system provided prompts.\nWhen set to false, Zed will use the built-in prompts.\nNote that this setting has no effect on Linux, where Zed will always\nuse the built-in prompts.\n\nDefault: true",
"type": [
"boolean",
"null"
]
},
"vertical_scroll_margin": {
"description": "The number of lines to keep above/below the cursor when auto-scrolling.\n\nDefault: 3.",
"format": "float",
"type": [
"number",
"null"
]
},
"vim": {
"properties": {
"cursor_shape": {
"anyOf": [
{
"$ref": "#/definitions/CursorShapeSettings"
},
{
"type": "null"
}
]
},
"custom_digraphs": {
"additionalProperties": {
"type": "string"
},
"type": [
"object",
"null"
]
},
"default_mode": {
"anyOf": [
{
"$ref": "#/definitions/ModeContent"
},
{
"type": "null"
}
]
},
"highlight_on_yank_duration": {
"format": "uint64",
"minimum": 0,
"type": [
"integer",
"null"
]
},
"toggle_relative_line_numbers": {
"type": [
"boolean",
"null"
]
},
"use_smartcase_find": {
"type": [
"boolean",
"null"
]
},
"use_system_clipboard": {
"anyOf": [
{
"$ref": "#/definitions/UseSystemClipboard"
},
{
"type": "null"
}
]
}
},
"type": "object"
},
"vim_mode": {
"type": [
"boolean",
"null"
]
},
"when_closing_with_no_tabs": {
"anyOf": [
{
"$ref": "#/definitions/CloseWindowWhenNoItems"
},
{
"type": "null"
}
],
"description": "Whether to close the window when using 'close active item' on a workspace with no tabs\n\nDefault: auto (\"on\" on macOS, \"off\" otherwise)"
},
"wrap_guides": {
"default": null,
"description": "Character counts at which to show wrap guides in the editor.\n\nDefault: []",
"items": {
"format": "uint",
"minimum": 0,
"type": "integer"
},
"type": [
"array",
"null"
]
}
},
"type": "object"
}
}
}
},
{
"fileMatch": [
"zed/keymap.json"
],
"schema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"definitions": {
"AgentProfileId": {
"type": "string"
},
"ExtensionCategoryFilter": {
"enum": [
"themes",
"icon_themes",
"languages",
"grammars",
"language_servers",
"context_servers",
"slash_commands",
"indexed_docs_providers",
"snippets",
"debug_adapters"
],
"type": "string"
},
"KeymapAction": {
"oneOf": [
{
"const": "",
"deprecationMessage": "No action named this.",
"description": "No action named this.",
"type": "string"
},
{
"items": [
{
"const": "",
"deprecationMessage": "No action named this that takes input.",
"description": "No action named this that takes input."
},
true
],
"maxItems": 2,
"minItems": 2,
"type": "array"
},
{
"const": "activity_indicator::ShowErrorMessage",
"type": "string"
},
{
"const": "agent::AcceptSuggestedContext",
"type": "string"
},
{
"const": "agent::AddContextServer",
"type": "string"
},
{
"const": "agent::Chat",
"type": "string"
},
{
"const": "agent::ChatWithFollow",
"type": "string"
},
{
"const": "agent::ContinueThread",
"type": "string"
},
{
"const": "agent::ContinueWithBurnMode",
"type": "string"
},
{
"const": "agent::CycleNextInlineAssist",
"type": "string"
},
{
"const": "agent::CyclePreviousInlineAssist",
"type": "string"
},
{
"const": "agent::DeleteRecentlyOpenThread",
"type": "string"
},
{
"const": "agent::ExpandMessageEditor",
"type": "string"
},
{
"const": "agent::FocusDown",
"type": "string"
},
{
"const": "agent::FocusLeft",
"type": "string"
},
{
"const": "agent::FocusRight",
"type": "string"
},
{
"const": "agent::FocusUp",
"type": "string"
},
{
"const": "agent::Follow",
"type": "string"
},
{
"const": "agent::Keep",
"type": "string"
},
{
"const": "agent::KeepAll",
"type": "string"
},
{
"const": "agent::ManageProfiles",
"type": "string"
},
{
"items": [
{
"const": "agent::ManageProfiles"
},
{
"properties": {
"customize_tools": {
"anyOf": [
{
"$ref": "#/definitions/AgentProfileId"
},
{
"type": "null"
}
],
"default": null
}
},
"type": "object"
}
],
"maxItems": 2,
"minItems": 2,
"type": "array"
},
{
"const": "agent::NewTextThread",
"type": "string"
},
{
"const": "agent::NewThread",
"type": "string"
},
{
"items": [
{
"const": "agent::NewThread"
},
{
"properties": {
"from_thread_id": {
"anyOf": [
{
"$ref": "#/definitions/ThreadId"
},
{
"type": "null"
}
],
"default": null
}
},
"type": "object"
}
],
"maxItems": 2,
"minItems": 2,
"type": "array"
},
{
"const": "agent::OpenActiveThreadAsMarkdown",
"type": "string"
},
{
"const": "agent::OpenAgentDiff",
"type": "string"
},
{
"const": "agent::OpenConfiguration",
"type": "string"
},
{
"const": "agent::OpenHistory",
"type": "string"
},
{
"const": "agent::OpenOnboardingModal",
"type": "string"
},
{
"const": "agent::OpenRulesLibrary",
"type": "string"
},
{
"items": [
{
"const": "agent::OpenRulesLibrary"
},
{
"additionalProperties": false,
"type": "object"
}
],
"maxItems": 2,
"minItems": 2,
"type": "array"
},
{
"const": "agent::Reject",
"type": "string"
},
{
"const": "agent::RejectAll",
"type": "string"
},
{
"const": "agent::RemoveAllContext",
"type": "string"
},
{
"const": "agent::RemoveFocusedContext",
"type": "string"
},
{
"const": "agent::RemoveSelectedThread",
"type": "string"
},
{
"const": "agent::ResetOnboarding",
"type": "string"
},
{
"const": "agent::ResetTrialEndUpsell",
"type": "string"
},
{
"const": "agent::ResetTrialUpsell",
"type": "string"
},
{
"const": "agent::ToggleBurnMode",
"type": "string"
},
{
"const": "agent::ToggleContextPicker",
"type": "string"
},
{
"const": "agent::ToggleFocus",
"type": "string"
},
{
"const": "agent::ToggleModelSelector",
"type": "string"
},
{
"const": "agent::ToggleNavigationMenu",
"type": "string"
},
{
"const": "agent::ToggleOptionsMenu",
"type": "string"
},
{
"const": "agent::ToggleProfileSelector",
"type": "string"
},
{
"const": "app_menu::ActivateMenuLeft",
"type": "string"
},
{
"const": "app_menu::ActivateMenuRight",
"type": "string"
},
{
"const": "app_menu::OpenApplicationMenu",
"type": "string"
},
{
"items": [
{
"const": "app_menu::OpenApplicationMenu"
},
{
"type": "string"
}
],
"maxItems": 2,
"minItems": 2,
"type": "array"
},
{
"const": "assistant2::ToggleModelSelector",
"deprecationMessage": "Deprecated, use agent::ToggleModelSelector",
"type": "string"
},
{
"const": "assistant::Assist",
"type": "string"
},
{
"const": "assistant::ConfirmCommand",
"type": "string"
},
{
"const": "assistant::CopyCode",
"type": "string"
},
{
"const": "assistant::CycleMessageRole",
"type": "string"
},
{
"const": "assistant::DeployPromptLibrary",
"deprecationMessage": "Deprecated, use agent::OpenRulesLibrary",
"type": "string"
},
{
"items": [
{
"const": "assistant::DeployPromptLibrary",
"deprecationMessage": "Deprecated, use agent::OpenRulesLibrary"
},
{
"additionalProperties": false,
"type": "object"
}
],
"maxItems": 2,
"minItems": 2,
"type": "array"
},
{
"const": "assistant::InlineAssist",
"type": "string"
},
{
"items": [
{
"const": "assistant::InlineAssist"
},
{
"additionalProperties": false,
"properties": {
"prompt": {
"type": [
"string",
"null"
]
}
},
"type": "object"
}
],
"maxItems": 2,
"minItems": 2,
"type": "array"
},
{
"const": "assistant::InsertIntoEditor",
"type": "string"
},
{
"const": "assistant::OpenRulesLibrary",
"deprecationMessage": "Deprecated, use agent::OpenRulesLibrary",
"type": "string"
},
{
"items": [
{
"const": "assistant::OpenRulesLibrary",
"deprecationMessage": "Deprecated, use agent::OpenRulesLibrary"
},
{
"additionalProperties": false,
"type": "object"
}
],
"maxItems": 2,
"minItems": 2,
"type": "array"
},
{
"const": "assistant::QuoteSelection",
"type": "string"
},
{
"const": "assistant::ShowConfiguration",
"type": "string"
},
{
"const": "assistant::Split",
"type": "string"
},
{
"const": "assistant::ToggleFocus",
"deprecationMessage": "Deprecated, use agent::ToggleFocus",
"type": "string"
},
{
"const": "assistant::ToggleModelSelector",
"deprecationMessage": "Deprecated, use agent::ToggleModelSelector",
"type": "string"
},
{
"const": "auto_update::Check",
"type": "string"
},
{
"const": "auto_update::DismissErrorMessage",
"type": "string"
},
{
"const": "auto_update::ViewReleaseNotes",
"type": "string"
},
{
"const": "auto_update::ViewReleaseNotesLocally",
"type": "string"
},
{
"const": "branches::OpenRecent",
"deprecationMessage": "Deprecated, use git::Branch",
"type": "string"
},
{
"const": "buffer_search::Deploy",
"type": "string"
},
{
"items": [
{
"const": "buffer_search::Deploy"
},
{
"additionalProperties": false,
"properties": {
"focus": {
"default": true,
"type": "boolean"
},
"replace_enabled": {
"default": false,
"type": "boolean"
},
"selection_search_enabled": {
"default": false,
"type": "boolean"
}
},
"type": "object"
}
],
"maxItems": 2,
"minItems": 2,
"type": "array"
},
{
"const": "buffer_search::DeployReplace",
"type": "string"
},
{
"const": "buffer_search::Dismiss",
"type": "string"
},
{
"const": "buffer_search::FocusEditor",
"type": "string"
},
{
"const": "channel_modal::RemoveMember",
"type": "string"
},
{
"const": "channel_modal::SelectNextControl",
"type": "string"
},
{
"const": "channel_modal::ToggleMemberAdmin",
"type": "string"
},
{
"const": "channel_modal::ToggleMode",
"type": "string"
},
{
"const": "chat_panel::ToggleFocus",
"type": "string"
},
{
"const": "cli::Install",
"type": "string"
},
{
"const": "cli::RegisterZedScheme",
"type": "string"
},
{
"const": "client::Reconnect",
"type": "string"
},
{
"const": "client::SignIn",
"type": "string"
},
{
"const": "client::SignOut",
"type": "string"
},
{
"const": "collab::CopyLink",
"type": "string"
},
{
"const": "collab::Deafen",
"type": "string"
},
{
"const": "collab::LeaveCall",
"type": "string"
},
{
"const": "collab::Mute",
"type": "string"
},
{
"const": "collab::OpenChannelNotes",
"type": "string"
},
{
"const": "collab::ScreenShare",
"type": "string"
},
{
"const": "collab::ShareProject",
"type": "string"
},
{
"const": "collab::SwitchBranch",
"type": "string"
},
{
"const": "collab::ToggleDeafen",
"type": "string"
},
{
"const": "collab::ToggleMute",
"type": "string"
},
{
"const": "collab::ToggleProjectMenu",
"type": "string"
},
{
"const": "collab::ToggleScreenSharing",
"type": "string"
},
{
"const": "collab::ToggleUserMenu",
"type": "string"
},
{
"const": "collab_panel::CollapseSelectedChannel",
"type": "string"
},
{
"const": "collab_panel::ExpandSelectedChannel",
"type": "string"
},
{
"const": "collab_panel::InsertSpace",
"type": "string"
},
{
"const": "collab_panel::MoveChannelDown",
"type": "string"
},
{
"const": "collab_panel::MoveChannelUp",
"type": "string"
},
{
"const": "collab_panel::MoveSelected",
"type": "string"
},
{
"const": "collab_panel::Remove",
"type": "string"
},
{
"const": "collab_panel::Secondary",
"type": "string"
},
{
"const": "collab_panel::StartMoveChannel",
"type": "string"
},
{
"const": "collab_panel::ToggleFocus",
"type": "string"
},
{
"const": "command_palette::Toggle",
"type": "string"
},
{
"const": "console::WatchExpression",
"type": "string"
},
{
"const": "context_server::Restart",
"type": "string"
},
{
"const": "copilot::NextSuggestion",
"type": "string"
},
{
"const": "copilot::PreviousSuggestion",
"type": "string"
},
{
"const": "copilot::Reinstall",
"type": "string"
},
{
"const": "copilot::SignIn",
"type": "string"
},
{
"const": "copilot::SignOut",
"type": "string"
},
{
"const": "copilot::Suggest",
"type": "string"
},
{
"const": "debug_panel::ToggleFocus",
"type": "string"
},
{
"const": "debugger::ClearAllBreakpoints",
"type": "string"
},
{
"const": "debugger::Continue",
"type": "string"
},
{
"const": "debugger::Detach",
"type": "string"
},
{
"const": "debugger::EvaluateSelectedText",
"type": "string"
},
{
"const": "debugger::FocusBreakpointList",
"type": "string"
},
{
"const": "debugger::FocusConsole",
"type": "string"
},
{
"const": "debugger::FocusFrames",
"type": "string"
},
{
"const": "debugger::FocusLoadedSources",
"type": "string"
},
{
"const": "debugger::FocusModules",
"type": "string"
},
{
"const": "debugger::FocusTerminal",
"type": "string"
},
{
"const": "debugger::FocusVariables",
"type": "string"
},
{
"const": "debugger::NextBreakpointProperty",
"type": "string"
},
{
"const": "debugger::OpenOnboardingModal",
"type": "string"
},
{
"const": "debugger::OpenProjectDebugTasks",
"type": "string"
},
{
"const": "debugger::Pause",
"type": "string"
},
{
"const": "debugger::PreviousBreakpointProperty",
"type": "string"
},
{
"const": "debugger::RerunLastSession",
"type": "string"
},
{
"const": "debugger::ResetOnboarding",
"type": "string"
},
{
"const": "debugger::Restart",
"type": "string"
},
{
"const": "debugger::RunToCursor",
"type": "string"
},
{
"const": "debugger::ShowStackTrace",
"type": "string"
},
{
"const": "debugger::Start",
"type": "string"
},
{
"const": "debugger::StepBack",
"type": "string"
},
{
"const": "debugger::StepInto",
"type": "string"
},
{
"const": "debugger::StepOut",
"type": "string"
},
{
"const": "debugger::StepOver",
"type": "string"
},
{
"const": "debugger::Stop",
"type": "string"
},
{
"const": "debugger::ToggleEnableBreakpoint",
"type": "string"
},
{
"const": "debugger::ToggleExpandItem",
"type": "string"
},
{
"const": "debugger::ToggleIgnoreBreakpoints",
"type": "string"
},
{
"const": "debugger::ToggleSessionPicker",
"type": "string"
},
{
"const": "debugger::ToggleThreadPicker",
"type": "string"
},
{
"const": "debugger::UnsetBreakpoint",
"type": "string"
},
{
"const": "dev::CopyDebugAdapterArguments",
"type": "string"
},
{
"const": "dev::OpenDebugAdapterLogs",
"type": "string"
},
{
"const": "dev::OpenKeyContextView",
"type": "string"
},
{
"const": "dev::OpenLanguageServerLogs",
"type": "string"
},
{
"const": "dev::OpenSyntaxTreeView",
"type": "string"
},
{
"const": "dev::OpenThemePreview",
"type": "string"
},
{
"const": "dev::ToggleInspector",
"type": "string"
},
{
"const": "diagnostics::Deploy",
"type": "string"
},
{
"const": "diagnostics::ToggleDiagnosticsRefresh",
"type": "string"
},
{
"const": "diagnostics::ToggleWarnings",
"type": "string"
},
{
"const": "edit_prediction::ClearHistory",
"type": "string"
},
{
"const": "edit_prediction::RateCompletions",
"type": "string"
},
{
"const": "edit_prediction::ResetOnboarding",
"type": "string"
},
{
"const": "edit_prediction::ToggleMenu",
"type": "string"
},
{
"const": "editor::AcceptEditPrediction",
"type": "string"
},
{
"const": "editor::AcceptPartialCopilotSuggestion",
"type": "string"
},
{
"const": "editor::AcceptPartialEditPrediction",
"type": "string"
},
{
"const": "editor::AddSelectionAbove",
"type": "string"
},
{
"const": "editor::AddSelectionBelow",
"type": "string"
},
{
"const": "editor::ApplyAllDiffHunks",
"type": "string"
},
{
"const": "editor::ApplyDiffHunk",
"type": "string"
},
{
"const": "editor::AutoIndent",
"type": "string"
},
{
"const": "editor::Backspace",
"type": "string"
},
{
"const": "editor::Backtab",
"type": "string"
},
{
"const": "editor::Cancel",
"type": "string"
},
{
"const": "editor::CancelFlycheck",
"type": "string"
},
{
"const": "editor::CancelLanguageServerWork",
"type": "string"
},
{
"const": "editor::ClearFlycheck",
"type": "string"
},
{
"const": "editor::ComposeCompletion",
"type": "string"
},
{
"items": [
{
"const": "editor::ComposeCompletion"
},
{
"additionalProperties": false,
"properties": {
"item_ix": {
"default": null,
"format": "uint",
"minimum": 0,
"type": [
"integer",
"null"
]
}
},
"type": "object"
}
],
"maxItems": 2,
"minItems": 2,
"type": "array"
},
{
"const": "editor::ConfirmCodeAction",
"type": "string"
},
{
"items": [
{
"const": "editor::ConfirmCodeAction"
},
{
"additionalProperties": false,
"properties": {
"item_ix": {
"default": null,
"format": "uint",
"minimum": 0,
"type": [
"integer",
"null"
]
}
},
"type": "object"
}
],
"maxItems": 2,
"minItems": 2,
"type": "array"
},
{
"const": "editor::ConfirmCompletion",
"type": "string"
},
{
"items": [
{
"const": "editor::ConfirmCompletion"
},
{
"additionalProperties": false,
"properties": {
"item_ix": {
"default": null,
"format": "uint",
"minimum": 0,
"type": [
"integer",
"null"
]
}
},
"type": "object"
}
],
"maxItems": 2,
"minItems": 2,
"type": "array"
},
{
"const": "editor::ConfirmCompletionInsert",
"type": "string"
},
{
"const": "editor::ConfirmCompletionReplace",
"type": "string"
},
{
"const": "editor::ConfirmRename",
"type": "string"
},
{
"const": "editor::ContextMenuFirst",
"type": "string"
},
{
"const": "editor::ContextMenuLast",
"type": "string"
},
{
"const": "editor::ContextMenuNext",
"type": "string"
},
{
"const": "editor::ContextMenuPrevious",
"type": "string"
},
{
"const": "editor::ConvertIndentationToSpaces",
"type": "string"
},
{
"const": "editor::ConvertIndentationToTabs",
"type": "string"
},
{
"const": "editor::ConvertToKebabCase",
"type": "string"
},
{
"const": "editor::ConvertToLowerCamelCase",
"type": "string"
},
{
"const": "editor::ConvertToLowerCase",
"type": "string"
},
{
"const": "editor::ConvertToOppositeCase",
"type": "string"
},
{
"const": "editor::ConvertToRot13",
"type": "string"
},
{
"const": "editor::ConvertToRot47",
"type": "string"
},
{
"const": "editor::ConvertToSnakeCase",
"type": "string"
},
{
"const": "editor::ConvertToTitleCase",
"type": "string"
},
{
"const": "editor::ConvertToUpperCamelCase",
"type": "string"
},
{
"const": "editor::ConvertToUpperCase",
"type": "string"
},
{
"const": "editor::Copy",
"type": "string"
},
{
"const": "editor::CopyAndTrim",
"type": "string"
},
{
"const": "editor::CopyFileLocation",
"type": "string"
},
{
"const": "editor::CopyFileName",
"type": "string"
},
{
"const": "editor::CopyFileNameWithoutExtension",
"type": "string"
},
{
"const": "editor::CopyHighlightJson",
"type": "string"
},
{
"const": "editor::CopyPath",
"deprecationMessage": "Deprecated, use workspace::CopyPath",
"type": "string"
},
{
"const": "editor::CopyPermalinkToLine",
"type": "string"
},
{
"const": "editor::CopyRelativePath",
"deprecationMessage": "Deprecated, use workspace::CopyRelativePath",
"type": "string"
},
{
"const": "editor::Cut",
"type": "string"
},
{
"const": "editor::CutToEndOfLine",
"type": "string"
},
{
"const": "editor::Delete",
"type": "string"
},
{
"const": "editor::DeleteLine",
"type": "string"
},
{
"const": "editor::DeleteToBeginningOfLine",
"type": "string"
},
{
"items": [
{
"const": "editor::DeleteToBeginningOfLine"
},
{
"additionalProperties": false,
"properties": {
"stop_at_indent": {
"default": false,
"type": "boolean"
}
},
"type": "object"
}
],
"maxItems": 2,
"minItems": 2,
"type": "array"
},
{
"const": "editor::DeleteToEndOfLine",
"type": "string"
},
{
"const": "editor::DeleteToNextSubwordEnd",
"type": "string"
},
{
"const": "editor::DeleteToNextWordEnd",
"type": "string"
},
{
"items": [
{
"const": "editor::DeleteToNextWordEnd"
},
{
"additionalProperties": false,
"properties": {
"ignore_newlines": {
"default": false,
"type": "boolean"
}
},
"type": "object"
}
],
"maxItems": 2,
"minItems": 2,
"type": "array"
},
{
"const": "editor::DeleteToPreviousSubwordStart",
"type": "string"
},
{
"const": "editor::DeleteToPreviousWordStart",
"type": "string"
},
{
"items": [
{
"const": "editor::DeleteToPreviousWordStart"
},
{
"additionalProperties": false,
"properties": {
"ignore_newlines": {
"default": false,
"type": "boolean"
}
},
"type": "object"
}
],
"maxItems": 2,
"minItems": 2,
"type": "array"
},
{
"const": "editor::DisableBreakpoint",
"type": "string"
},
{
"const": "editor::DisplayCursorNames",
"type": "string"
},
{
"const": "editor::DuplicateLineDown",
"type": "string"
},
{
"const": "editor::DuplicateLineUp",
"type": "string"
},
{
"const": "editor::DuplicateSelection",
"type": "string"
},
{
"const": "editor::EditLogBreakpoint",
"type": "string"
},
{
"const": "editor::EnableBreakpoint",
"type": "string"
},
{
"const": "editor::ExpandAllDiffHunks",
"type": "string"
},
{
"const": "editor::ExpandAllHunkDiffs",
"deprecationMessage": "Deprecated, use editor::ExpandAllDiffHunks",
"type": "string"
},
{
"const": "editor::ExpandExcerpts",
"type": "string"
},
{
"items": [
{
"const": "editor::ExpandExcerpts"
},
{
"additionalProperties": false,
"properties": {
"lines": {
"default": 0,
"format": "uint32",
"minimum": 0,
"type": "integer"
}
},
"type": "object"
}
],
"maxItems": 2,
"minItems": 2,
"type": "array"
},
{
"const": "editor::ExpandExcerptsDown",
"type": "string"
},
{
"items": [
{
"const": "editor::ExpandExcerptsDown"
},
{
"additionalProperties": false,
"properties": {
"lines": {
"default": 0,
"format": "uint32",
"minimum": 0,
"type": "integer"
}
},
"type": "object"
}
],
"maxItems": 2,
"minItems": 2,
"type": "array"
},
{
"const": "editor::ExpandExcerptsUp",
"type": "string"
},
{
"items": [
{
"const": "editor::ExpandExcerptsUp"
},
{
"additionalProperties": false,
"properties": {
"lines": {
"default": 0,
"format": "uint32",
"minimum": 0,
"type": "integer"
}
},
"type": "object"
}
],
"maxItems": 2,
"minItems": 2,
"type": "array"
},
{
"const": "editor::ExpandMacroRecursively",
"type": "string"
},
{
"const": "editor::FindAllReferences",
"type": "string"
},
{
"const": "editor::FindNextMatch",
"type": "string"
},
{
"const": "editor::FindPreviousMatch",
"type": "string"
},
{
"const": "editor::Fold",
"type": "string"
},
{
"const": "editor::FoldAll",
"type": "string"
},
{
"const": "editor::FoldAtLevel",
"type": "string"
},
{
"items": [
{
"const": "editor::FoldAtLevel"
},
{
"format": "uint32",
"minimum": 0,
"type": "integer"
}
],
"maxItems": 2,
"minItems": 2,
"type": "array"
},
{
"const": "editor::FoldFunctionBodies",
"type": "string"
},
{
"const": "editor::FoldRecursive",
"type": "string"
},
{
"const": "editor::FoldSelectedRanges",
"type": "string"
},
{
"const": "editor::Format",
"type": "string"
},
{
"const": "editor::FormatSelections",
"type": "string"
},
{
"const": "editor::GoToDeclaration",
"type": "string"
},
{
"const": "editor::GoToDeclarationSplit",
"type": "string"
},
{
"const": "editor::GoToDefinition",
"type": "string"
},
{
"const": "editor::GoToDefinitionSplit",
"type": "string"
},
{
"const": "editor::GoToDiagnostic",
"type": "string"
},
{
"const": "editor::GoToHunk",
"type": "string"
},
{
"const": "editor::GoToImplementation",
"type": "string"
},
{
"const": "editor::GoToImplementationSplit",
"type": "string"
},
{
"const": "editor::GoToNextChange",
"type": "string"
},
{
"const": "editor::GoToParentModule",
"type": "string"
},
{
"const": "editor::GoToPreviousChange",
"type": "string"
},
{
"const": "editor::GoToPreviousDiagnostic",
"type": "string"
},
{
"const": "editor::GoToPreviousHunk",
"type": "string"
},
{
"const": "editor::GoToTypeDefinition",
"type": "string"
},
{
"const": "editor::GoToTypeDefinitionSplit",
"type": "string"
},
{
"const": "editor::HalfPageDown",
"type": "string"
},
{
"const": "editor::HalfPageUp",
"type": "string"
},
{
"const": "editor::HandleInput",
"type": "string"
},
{
"items": [
{
"const": "editor::HandleInput"
},
{
"type": "string"
}
],
"maxItems": 2,
"minItems": 2,
"type": "array"
},
{
"const": "editor::Hover",
"type": "string"
},
{
"const": "editor::Indent",
"type": "string"
},
{
"const": "editor::InsertUuidV4",
"type": "string"
},
{
"const": "editor::InsertUuidV7",
"type": "string"
},
{
"const": "editor::JoinLines",
"type": "string"
},
{
"const": "editor::KillRingCut",
"type": "string"
},
{
"const": "editor::KillRingYank",
"type": "string"
},
{
"const": "editor::LineDown",
"type": "string"
},
{
"const": "editor::LineUp",
"type": "string"
},
{
"const": "editor::MoveDown",
"type": "string"
},
{
"const": "editor::MoveDownByLines",
"type": "string"
},
{
"items": [
{
"const": "editor::MoveDownByLines"
},
{
"additionalProperties": false,
"properties": {
"lines": {
"default": 0,
"format": "uint32",
"minimum": 0,
"type": "integer"
}
},
"type": "object"
}
],
"maxItems": 2,
"minItems": 2,
"type": "array"
},
{
"const": "editor::MoveLeft",
"type": "string"
},
{
"const": "editor::MoveLineDown",
"type": "string"
},
{
"const": "editor::MoveLineUp",
"type": "string"
},
{
"const": "editor::MovePageDown",
"type": "string"
},
{
"items": [
{
"const": "editor::MovePageDown"
},
{
"additionalProperties": false,
"properties": {
"center_cursor": {
"default": false,
"type": "boolean"
}
},
"type": "object"
}
],
"maxItems": 2,
"minItems": 2,
"type": "array"
},
{
"const": "editor::MovePageUp",
"type": "string"
},
{
"items": [
{
"const": "editor::MovePageUp"
},
{
"additionalProperties": false,
"properties": {
"center_cursor": {
"default": false,
"type": "boolean"
}
},
"type": "object"
}
],
"maxItems": 2,
"minItems": 2,
"type": "array"
},
{
"const": "editor::MoveRight",
"type": "string"
},
{
"const": "editor::MoveToBeginning",
"type": "string"
},
{
"const": "editor::MoveToBeginningOfLine",
"type": "string"
},
{
"items": [
{
"const": "editor::MoveToBeginningOfLine"
},
{
"additionalProperties": false,
"properties": {
"stop_at_indent": {
"default": false,
"type": "boolean"
},
"stop_at_soft_wraps": {
"default": true,
"type": "boolean"
}
},
"type": "object"
}
],
"maxItems": 2,
"minItems": 2,
"type": "array"
},
{
"const": "editor::MoveToEnclosingBracket",
"type": "string"
},
{
"const": "editor::MoveToEnd",
"type": "string"
},
{
"const": "editor::MoveToEndOfExcerpt",
"type": "string"
},
{
"const": "editor::MoveToEndOfLine",
"type": "string"
},
{
"items": [
{
"const": "editor::MoveToEndOfLine"
},
{
"additionalProperties": false,
"properties": {
"stop_at_soft_wraps": {
"default": true,
"type": "boolean"
}
},
"type": "object"
}
],
"maxItems": 2,
"minItems": 2,
"type": "array"
},
{
"const": "editor::MoveToEndOfParagraph",
"type": "string"
},
{
"const": "editor::MoveToEndOfPreviousExcerpt",
"type": "string"
},
{
"const": "editor::MoveToNextSubwordEnd",
"type": "string"
},
{
"const": "editor::MoveToNextWordEnd",
"type": "string"
},
{
"const": "editor::MoveToPreviousSubwordStart",
"type": "string"
},
{
"const": "editor::MoveToPreviousWordStart",
"type": "string"
},
{
"const": "editor::MoveToStartOfExcerpt",
"type": "string"
},
{
"const": "editor::MoveToStartOfNextExcerpt",
"type": "string"
},
{
"const": "editor::MoveToStartOfParagraph",
"type": "string"
},
{
"const": "editor::MoveUp",
"type": "string"
},
{
"const": "editor::MoveUpByLines",
"type": "string"
},
{
"items": [
{
"const": "editor::MoveUpByLines"
},
{
"additionalProperties": false,
"properties": {
"lines": {
"default": 0,
"format": "uint32",
"minimum": 0,
"type": "integer"
}
},
"type": "object"
}
],
"maxItems": 2,
"minItems": 2,
"type": "array"
},
{
"const": "editor::Newline",
"type": "string"
},
{
"const": "editor::NewlineAbove",
"type": "string"
},
{
"const": "editor::NewlineBelow",
"type": "string"
},
{
"const": "editor::NextEditPrediction",
"type": "string"
},
{
"const": "editor::NextScreen",
"type": "string"
},
{
"const": "editor::OpenContextMenu",
"type": "string"
},
{
"const": "editor::OpenDocs",
"type": "string"
},
{
"const": "editor::OpenExcerpts",
"type": "string"
},
{
"const": "editor::OpenExcerptsSplit",
"type": "string"
},
{
"const": "editor::OpenFile",
"deprecationMessage": "Deprecated, use editor::OpenSelectedFilename",
"type": "string"
},
{
"const": "editor::OpenGitBlameCommit",
"type": "string"
},
{
"const": "editor::OpenPermalinkToLine",
"type": "string"
},
{
"const": "editor::OpenProposedChangesEditor",
"type": "string"
},
{
"const": "editor::OpenSelectedFilename",
"type": "string"
},
{
"const": "editor::OpenSelectionsInMultibuffer",
"type": "string"
},
{
"const": "editor::OpenUrl",
"type": "string"
},
{
"const": "editor::OrganizeImports",
"type": "string"
},
{
"const": "editor::Outdent",
"type": "string"
},
{
"const": "editor::PageDown",
"type": "string"
},
{
"const": "editor::PageUp",
"type": "string"
},
{
"const": "editor::Paste",
"type": "string"
},
{
"const": "editor::PreviousEditPrediction",
"type": "string"
},
{
"const": "editor::Redo",
"type": "string"
},
{
"const": "editor::RedoSelection",
"type": "string"
},
{
"const": "editor::ReloadFile",
"type": "string"
},
{
"const": "editor::Rename",
"type": "string"
},
{
"const": "editor::RestartLanguageServer",
"type": "string"
},
{
"const": "editor::RevealInFileManager",
"type": "string"
},
{
"const": "editor::ReverseLines",
"type": "string"
},
{
"const": "editor::RevertFile",
"deprecationMessage": "Deprecated, use git::RestoreFile",
"type": "string"
},
{
"items": [
{
"const": "editor::RevertFile",
"deprecationMessage": "Deprecated, use git::RestoreFile"
},
{
"properties": {
"skip_prompt": {
"default": false,
"type": "boolean"
}
},
"type": "object"
}
],
"maxItems": 2,
"minItems": 2,
"type": "array"
},
{
"const": "editor::RevertSelectedHunks",
"deprecationMessage": "Deprecated, use git::Restore",
"type": "string"
},
{
"const": "editor::Rewrap",
"type": "string"
},
{
"const": "editor::RunFlycheck",
"type": "string"
},
{
"const": "editor::ScrollCursorBottom",
"type": "string"
},
{
"const": "editor::ScrollCursorCenter",
"type": "string"
},
{
"const": "editor::ScrollCursorCenterTopBottom",
"type": "string"
},
{
"const": "editor::ScrollCursorTop",
"type": "string"
},
{
"const": "editor::SelectAll",
"type": "string"
},
{
"const": "editor::SelectAllMatches",
"type": "string"
},
{
"const": "editor::SelectDown",
"type": "string"
},
{
"const": "editor::SelectDownByLines",
"type": "string"
},
{
"items": [
{
"const": "editor::SelectDownByLines"
},
{
"additionalProperties": false,
"properties": {
"lines": {
"default": 0,
"format": "uint32",
"minimum": 0,
"type": "integer"
}
},
"type": "object"
}
],
"maxItems": 2,
"minItems": 2,
"type": "array"
},
{
"const": "editor::SelectEnclosingSymbol",
"type": "string"
},
{
"const": "editor::SelectLargerSyntaxNode",
"type": "string"
},
{
"const": "editor::SelectLeft",
"type": "string"
},
{
"const": "editor::SelectLine",
"type": "string"
},
{
"const": "editor::SelectNext",
"type": "string"
},
{
"items": [
{
"const": "editor::SelectNext"
},
{
"additionalProperties": false,
"properties": {
"replace_newest": {
"default": false,
"type": "boolean"
}
},
"type": "object"
}
],
"maxItems": 2,
"minItems": 2,
"type": "array"
},
{
"const": "editor::SelectPageDown",
"type": "string"
},
{
"const": "editor::SelectPageUp",
"type": "string"
},
{
"const": "editor::SelectPrevious",
"type": "string"
},
{
"items": [
{
"const": "editor::SelectPrevious"
},
{
"additionalProperties": false,
"properties": {
"replace_newest": {
"default": false,
"type": "boolean"
}
},
"type": "object"
}
],
"maxItems": 2,
"minItems": 2,
"type": "array"
},
{
"const": "editor::SelectRight",
"type": "string"
},
{
"const": "editor::SelectSmallerSyntaxNode",
"type": "string"
},
{
"const": "editor::SelectToBeginning",
"type": "string"
},
{
"const": "editor::SelectToBeginningOfLine",
"type": "string"
},
{
"items": [
{
"const": "editor::SelectToBeginningOfLine"
},
{
"additionalProperties": false,
"properties": {
"stop_at_indent": {
"default": false,
"type": "boolean"
},
"stop_at_soft_wraps": {
"default": false,
"type": "boolean"
}
},
"type": "object"
}
],
"maxItems": 2,
"minItems": 2,
"type": "array"
},
{
"const": "editor::SelectToEnd",
"type": "string"
},
{
"const": "editor::SelectToEndOfExcerpt",
"type": "string"
},
{
"const": "editor::SelectToEndOfLine",
"type": "string"
},
{
"items": [
{
"const": "editor::SelectToEndOfLine"
},
{
"additionalProperties": false,
"properties": {
"stop_at_soft_wraps": {
"default": false,
"type": "boolean"
}
},
"type": "object"
}
],
"maxItems": 2,
"minItems": 2,
"type": "array"
},
{
"const": "editor::SelectToEndOfParagraph",
"type": "string"
},
{
"const": "editor::SelectToEndOfPreviousExcerpt",
"type": "string"
},
{
"const": "editor::SelectToNextSubwordEnd",
"type": "string"
},
{
"const": "editor::SelectToNextWordEnd",
"type": "string"
},
{
"const": "editor::SelectToPreviousSubwordStart",
"type": "string"
},
{
"const": "editor::SelectToPreviousWordStart",
"type": "string"
},
{
"const": "editor::SelectToStartOfExcerpt",
"type": "string"
},
{
"const": "editor::SelectToStartOfNextExcerpt",
"type": "string"
},
{
"const": "editor::SelectToStartOfParagraph",
"type": "string"
},
{
"const": "editor::SelectUp",
"type": "string"
},
{
"const": "editor::SelectUpByLines",
"type": "string"
},
{
"items": [
{
"const": "editor::SelectUpByLines"
},
{
"additionalProperties": false,
"properties": {
"lines": {
"default": 0,
"format": "uint32",
"minimum": 0,
"type": "integer"
}
},
"type": "object"
}
],
"maxItems": 2,
"minItems": 2,
"type": "array"
},
{
"const": "editor::SetMark",
"type": "string"
},
{
"const": "editor::ShowCharacterPalette",
"type": "string"
},
{
"const": "editor::ShowCompletions",
"type": "string"
},
{
"items": [
{
"const": "editor::ShowCompletions"
},
{
"additionalProperties": false,
"properties": {
"trigger": {
"default": null,
"type": [
"string",
"null"
]
}
},
"type": "object"
}
],
"maxItems": 2,
"minItems": 2,
"type": "array"
},
{
"const": "editor::ShowEditPrediction",
"type": "string"
},
{
"const": "editor::ShowSignatureHelp",
"type": "string"
},
{
"const": "editor::ShowWordCompletions",
"type": "string"
},
{
"const": "editor::ShuffleLines",
"type": "string"
},
{
"const": "editor::SortLinesCaseInsensitive",
"type": "string"
},
{
"const": "editor::SortLinesCaseSensitive",
"type": "string"
},
{
"const": "editor::SpawnNearestTask",
"type": "string"
},
{
"items": [
{
"const": "editor::SpawnNearestTask"
},
{
"additionalProperties": false,
"properties": {
"reveal": {
"allOf": [
{
"$ref": "#/definitions/RevealStrategy"
}
],
"default": "always"
}
},
"type": "object"
}
],
"maxItems": 2,
"minItems": 2,
"type": "array"
},
{
"const": "editor::SplitSelectionIntoLines",
"type": "string"
},
{
"const": "editor::StopLanguageServer",
"type": "string"
},
{
"const": "editor::SwapSelectionEnds",
"type": "string"
},
{
"const": "editor::SwitchSourceHeader",
"type": "string"
},
{
"const": "editor::Tab",
"type": "string"
},
{
"const": "editor::ToggleAutoSignatureHelp",
"type": "string"
},
{
"const": "editor::ToggleBreakpoint",
"type": "string"
},
{
"const": "editor::ToggleCase",
"type": "string"
},
{
"const": "editor::ToggleCodeActions",
"type": "string"
},
{
"items": [
{
"const": "editor::ToggleCodeActions"
},
{
"additionalProperties": false,
"type": "object"
}
],
"maxItems": 2,
"minItems": 2,
"type": "array"
},
{
"const": "editor::ToggleComments",
"type": "string"
},
{
"items": [
{
"const": "editor::ToggleComments"
},
{
"additionalProperties": false,
"properties": {
"advance_downwards": {
"default": false,
"type": "boolean"
},
"ignore_indent": {
"default": false,
"type": "boolean"
}
},
"type": "object"
}
],
"maxItems": 2,
"minItems": 2,
"type": "array"
},
{
"const": "editor::ToggleDiagnostics",
"type": "string"
},
{
"const": "editor::ToggleEditPrediction",
"type": "string"
},
{
"const": "editor::ToggleFold",
"type": "string"
},
{
"const": "editor::ToggleFoldRecursive",
"type": "string"
},
{
"const": "editor::ToggleGitBlame",
"deprecationMessage": "Deprecated, use git::Blame",
"type": "string"
},
{
"const": "editor::ToggleGitBlameInline",
"type": "string"
},
{
"const": "editor::ToggleHunkDiff",
"deprecationMessage": "Deprecated, use editor::ToggleSelectedDiffHunks",
"type": "string"
},
{
"const": "editor::ToggleIndentGuides",
"type": "string"
},
{
"const": "editor::ToggleInlayHints",
"type": "string"
},
{
"const": "editor::ToggleInlineDiagnostics",
"type": "string"
},
{
"const": "editor::ToggleInlineValues",
"type": "string"
},
{
"const": "editor::ToggleLineNumbers",
"type": "string"
},
{
"const": "editor::ToggleMinimap",
"type": "string"
},
{
"const": "editor::ToggleRelativeLineNumbers",
"type": "string"
},
{
"const": "editor::ToggleSelectedDiffHunks",
"type": "string"
},
{
"const": "editor::ToggleSelectionMenu",
"type": "string"
},
{
"const": "editor::ToggleSoftWrap",
"type": "string"
},
{
"const": "editor::ToggleTabBar",
"type": "string"
},
{
"const": "editor::Transpose",
"type": "string"
},
{
"const": "editor::Undo",
"type": "string"
},
{
"const": "editor::UndoSelection",
"type": "string"
},
{
"const": "editor::UnfoldAll",
"type": "string"
},
{
"const": "editor::UnfoldLines",
"type": "string"
},
{
"const": "editor::UnfoldRecursive",
"type": "string"
},
{
"const": "editor::UniqueLinesCaseInsensitive",
"type": "string"
},
{
"const": "editor::UniqueLinesCaseSensitive",
"type": "string"
},
{
"const": "feedback::FileBugReport",
"type": "string"
},
{
"const": "feedback::GiveFeedback",
"type": "string"
},
{
"const": "file_finder::SelectPrevious",
"type": "string"
},
{
"const": "file_finder::Toggle",
"type": "string"
},
{
"items": [
{
"const": "file_finder::Toggle"
},
{
"properties": {
"separate_history": {
"default": false,
"type": "boolean"
}
},
"type": "object"
}
],
"maxItems": 2,
"minItems": 2,
"type": "array"
},
{
"const": "file_finder::ToggleFilterMenu",
"type": "string"
},
{
"const": "file_finder::ToggleSplitMenu",
"type": "string"
},
{
"const": "git::Add",
"type": "string"
},
{
"const": "git::Amend",
"type": "string"
},
{
"const": "git::Blame",
"type": "string"
},
{
"const": "git::Branch",
"type": "string"
},
{
"const": "git::Cancel",
"type": "string"
},
{
"const": "git::CheckoutBranch",
"type": "string"
},
{
"const": "git::Commit",
"type": "string"
},
{
"const": "git::Diff",
"type": "string"
},
{
"const": "git::ExpandCommitEditor",
"type": "string"
},
{
"const": "git::Fetch",
"type": "string"
},
{
"const": "git::FetchFrom",
"type": "string"
},
{
"const": "git::ForcePush",
"type": "string"
},
{
"const": "git::GenerateCommitMessage",
"type": "string"
},
{
"const": "git::Init",
"type": "string"
},
{
"const": "git::OpenModifiedFiles",
"type": "string"
},
{
"const": "git::Pull",
"type": "string"
},
{
"const": "git::Push",
"type": "string"
},
{
"const": "git::PushTo",
"type": "string"
},
{
"const": "git::ResetOnboarding",
"type": "string"
},
{
"const": "git::Restore",
"type": "string"
},
{
"const": "git::RestoreFile",
"type": "string"
},
{
"items": [
{
"const": "git::RestoreFile"
},
{
"properties": {
"skip_prompt": {
"default": false,
"type": "boolean"
}
},
"type": "object"
}
],
"maxItems": 2,
"minItems": 2,
"type": "array"
},
{
"const": "git::RestoreTrackedFiles",
"type": "string"
},
{
"const": "git::SelectRepo",
"type": "string"
},
{
"const": "git::StageAll",
"type": "string"
},
{
"const": "git::StageAndNext",
"type": "string"
},
{
"const": "git::StageFile",
"type": "string"
},
{
"const": "git::Switch",
"type": "string"
},
{
"const": "git::ToggleStaged",
"type": "string"
},
{
"const": "git::TrashUntrackedFiles",
"type": "string"
},
{
"const": "git::Uncommit",
"type": "string"
},
{
"const": "git::UnstageAll",
"type": "string"
},
{
"const": "git::UnstageAndNext",
"type": "string"
},
{
"const": "git::UnstageFile",
"type": "string"
},
{
"const": "git_onboarding::OpenGitIntegrationOnboarding",
"type": "string"
},
{
"const": "git_panel::Close",
"type": "string"
},
{
"const": "git_panel::FocusChanges",
"type": "string"
},
{
"const": "git_panel::FocusEditor",
"type": "string"
},
{
"const": "git_panel::OpenMenu",
"type": "string"
},
{
"const": "git_panel::ToggleFillCoAuthors",
"type": "string"
},
{
"const": "git_panel::ToggleFocus",
"type": "string"
},
{
"const": "go_to_line::Toggle",
"type": "string"
},
{
"const": "icon_theme_selector::Toggle",
"type": "string"
},
{
"items": [
{
"const": "icon_theme_selector::Toggle"
},
{
"additionalProperties": false,
"properties": {
"themes_filter": {
"description": "A list of icon theme names to filter the theme selector down to.",
"items": {
"type": "string"
},
"type": [
"array",
"null"
]
}
},
"type": "object"
}
],
"maxItems": 2,
"minItems": 2,
"type": "array"
},
{
"const": "jj::BookmarkList",
"type": "string"
},
{
"const": "journal::NewJournalEntry",
"type": "string"
},
{
"const": "language_selector::Toggle",
"type": "string"
},
{
"const": "lsp_tool::ToggleMenu",
"type": "string"
},
{
"const": "markdown::Copy",
"type": "string"
},
{
"const": "markdown::CopyAsMarkdown",
"type": "string"
},
{
"const": "markdown::OpenFollowingPreview",
"type": "string"
},
{
"const": "markdown::OpenPreview",
"type": "string"
},
{
"const": "markdown::OpenPreviewToTheSide",
"type": "string"
},
{
"const": "menu::Cancel",
"type": "string"
},
{
"const": "menu::Confirm",
"type": "string"
},
{
"const": "menu::EndSlot",
"type": "string"
},
{
"const": "menu::Restart",
"type": "string"
},
{
"const": "menu::SecondaryConfirm",
"type": "string"
},
{
"const": "menu::SelectFirst",
"type": "string"
},
{
"const": "menu::SelectLast",
"type": "string"
},
{
"const": "menu::SelectNext",
"type": "string"
},
{
"const": "menu::SelectPrevious",
"type": "string"
},
{
"const": "notebook::AddCodeBlock",
"type": "string"
},
{
"const": "notebook::AddMarkdownBlock",
"type": "string"
},
{
"const": "notebook::ClearOutputs",
"type": "string"
},
{
"const": "notebook::MoveCellDown",
"type": "string"
},
{
"const": "notebook::MoveCellUp",
"type": "string"
},
{
"const": "notebook::OpenNotebook",
"type": "string"
},
{
"const": "notebook::RunAll",
"type": "string"
},
{
"const": "notification_panel::ToggleFocus",
"type": "string"
},
{
"const": "outline::Toggle",
"type": "string"
},
{
"const": "outline_panel::CollapseAllEntries",
"type": "string"
},
{
"const": "outline_panel::CollapseSelectedEntry",
"type": "string"
},
{
"const": "outline_panel::CopyPath",
"deprecationMessage": "Deprecated, use workspace::CopyPath",
"type": "string"
},
{
"const": "outline_panel::CopyRelativePath",
"deprecationMessage": "Deprecated, use workspace::CopyRelativePath",
"type": "string"
},
{
"const": "outline_panel::ExpandAllEntries",
"type": "string"
},
{
"const": "outline_panel::ExpandSelectedEntry",
"type": "string"
},
{
"const": "outline_panel::FoldDirectory",
"type": "string"
},
{
"const": "outline_panel::OpenSelectedEntry",
"type": "string"
},
{
"const": "outline_panel::RevealInFileManager",
"type": "string"
},
{
"const": "outline_panel::SelectParent",
"type": "string"
},
{
"const": "outline_panel::ToggleActiveEditorPin",
"type": "string"
},
{
"const": "outline_panel::ToggleFocus",
"type": "string"
},
{
"const": "outline_panel::UnfoldDirectory",
"type": "string"
},
{
"const": "pane::ActivateItem",
"type": "string"
},
{
"items": [
{
"const": "pane::ActivateItem"
},
{
"format": "uint",
"minimum": 0,
"type": "integer"
}
],
"maxItems": 2,
"minItems": 2,
"type": "array"
},
{
"const": "pane::ActivateLastItem",
"type": "string"
},
{
"const": "pane::ActivateNextItem",
"type": "string"
},
{
"const": "pane::ActivatePreviousItem",
"type": "string"
},
{
"const": "pane::AlternateFile",
"type": "string"
},
{
"const": "pane::CloseActiveItem",
"type": "string"
},
{
"items": [
{
"const": "pane::CloseActiveItem"
},
{
"additionalProperties": false,
"properties": {
"close_pinned": {
"default": false,
"type": "boolean"
},
"save_intent": {
"anyOf": [
{
"$ref": "#/definitions/SaveIntent"
},
{
"type": "null"
}
]
}
},
"type": "object"
}
],
"maxItems": 2,
"minItems": 2,
"type": "array"
},
{
"const": "pane::CloseAllItems",
"type": "string"
},
{
"items": [
{
"const": "pane::CloseAllItems"
},
{
"additionalProperties": false,
"properties": {
"close_pinned": {
"default": false,
"type": "boolean"
},
"save_intent": {
"anyOf": [
{
"$ref": "#/definitions/SaveIntent"
},
{
"type": "null"
}
]
}
},
"type": "object"
}
],
"maxItems": 2,
"minItems": 2,
"type": "array"
},
{
"const": "pane::CloseCleanItems",
"type": "string"
},
{
"items": [
{
"const": "pane::CloseCleanItems"
},
{
"additionalProperties": false,
"properties": {
"close_pinned": {
"default": false,
"type": "boolean"
}
},
"type": "object"
}
],
"maxItems": 2,
"minItems": 2,
"type": "array"
},
{
"const": "pane::CloseInactiveItems",
"type": "string"
},
{
"items": [
{
"const": "pane::CloseInactiveItems"
},
{
"additionalProperties": false,
"properties": {
"close_pinned": {
"default": false,
"type": "boolean"
},
"save_intent": {
"anyOf": [
{
"$ref": "#/definitions/SaveIntent"
},
{
"type": "null"
}
]
}
},
"type": "object"
}
],
"maxItems": 2,
"minItems": 2,
"type": "array"
},
{
"const": "pane::CloseItemsToTheLeft",
"type": "string"
},
{
"items": [
{
"const": "pane::CloseItemsToTheLeft"
},
{
"additionalProperties": false,
"properties": {
"close_pinned": {
"default": false,
"type": "boolean"
}
},
"type": "object"
}
],
"maxItems": 2,
"minItems": 2,
"type": "array"
},
{
"const": "pane::CloseItemsToTheRight",
"type": "string"
},
{
"items": [
{
"const": "pane::CloseItemsToTheRight"
},
{
"additionalProperties": false,
"properties": {
"close_pinned": {
"default": false,
"type": "boolean"
}
},
"type": "object"
}
],
"maxItems": 2,
"minItems": 2,
"type": "array"
},
{
"const": "pane::DeploySearch",
"type": "string"
},
{
"items": [
{
"const": "pane::DeploySearch"
},
{
"additionalProperties": false,
"properties": {
"excluded_files": {
"default": null,
"type": [
"string",
"null"
]
},
"included_files": {
"default": null,
"type": [
"string",
"null"
]
},
"replace_enabled": {
"default": false,
"type": "boolean"
}
},
"type": "object"
}
],
"maxItems": 2,
"minItems": 2,
"type": "array"
},
{
"const": "pane::GoBack",
"type": "string"
},
{
"const": "pane::GoForward",
"type": "string"
},
{
"const": "pane::JoinAll",
"type": "string"
},
{
"const": "pane::JoinIntoNext",
"type": "string"
},
{
"const": "pane::ReopenClosedItem",
"type": "string"
},
{
"const": "pane::RevealInProjectPanel",
"type": "string"
},
{
"items": [
{
"const": "pane::RevealInProjectPanel"
},
{
"additionalProperties": false,
"type": "object"
}
],
"maxItems": 2,
"minItems": 2,
"type": "array"
},
{
"const": "pane::SplitDown",
"type": "string"
},
{
"const": "pane::SplitHorizontal",
"type": "string"
},
{
"const": "pane::SplitLeft",
"type": "string"
},
{
"const": "pane::SplitRight",
"type": "string"
},
{
"const": "pane::SplitUp",
"type": "string"
},
{
"const": "pane::SplitVertical",
"type": "string"
},
{
"const": "pane::SwapItemLeft",
"type": "string"
},
{
"const": "pane::SwapItemRight",
"type": "string"
},
{
"const": "pane::TogglePinTab",
"type": "string"
},
{
"const": "pane::TogglePreviewTab",
"type": "string"
},
{
"const": "pane::UnpinAllTabs",
"type": "string"
},
{
"const": "panel::NextPanelTab",
"type": "string"
},
{
"const": "panel::PreviousPanelTab",
"type": "string"
},
{
"const": "picker::ConfirmCompletion",
"type": "string"
},
{
"const": "picker::ConfirmInput",
"description": "ConfirmInput is an alternative editor action which - instead of selecting active picker entry - treats pickers editor input literally,\nperforming some kind of action on it.",
"type": "string"
},
{
"items": [
{
"const": "picker::ConfirmInput",
"description": "ConfirmInput is an alternative editor action which - instead of selecting active picker entry - treats pickers editor input literally,\nperforming some kind of action on it."
},
{
"additionalProperties": false,
"description": "ConfirmInput is an alternative editor action which - instead of selecting active picker entry - treats pickers editor input literally,\nperforming some kind of action on it.",
"properties": {
"secondary": {
"type": "boolean"
}
},
"required": [
"secondary"
],
"type": "object"
}
],
"maxItems": 2,
"minItems": 2,
"type": "array"
},
{
"const": "project_panel::CollapseAllEntries",
"type": "string"
},
{
"const": "project_panel::CollapseSelectedEntry",
"type": "string"
},
{
"const": "project_panel::Copy",
"type": "string"
},
{
"const": "project_panel::CopyPath",
"deprecationMessage": "Deprecated, use workspace::CopyPath",
"type": "string"
},
{
"const": "project_panel::CopyRelativePath",
"deprecationMessage": "Deprecated, use workspace::CopyRelativePath",
"type": "string"
},
{
"const": "project_panel::Cut",
"type": "string"
},
{
"const": "project_panel::Delete",
"type": "string"
},
{
"items": [
{
"const": "project_panel::Delete"
},
{
"additionalProperties": false,
"properties": {
"skip_prompt": {
"default": false,
"type": "boolean"
}
},
"type": "object"
}
],
"maxItems": 2,
"minItems": 2,
"type": "array"
},
{
"const": "project_panel::Duplicate",
"type": "string"
},
{
"const": "project_panel::ExpandSelectedEntry",
"type": "string"
},
{
"const": "project_panel::FoldDirectory",
"type": "string"
},
{
"const": "project_panel::NewDirectory",
"type": "string"
},
{
"const": "project_panel::NewFile",
"type": "string"
},
{
"const": "project_panel::NewSearchInDirectory",
"type": "string"
},
{
"const": "project_panel::Open",
"type": "string"
},
{
"const": "project_panel::OpenPermanent",
"type": "string"
},
{
"const": "project_panel::OpenWithSystem",
"type": "string"
},
{
"const": "project_panel::Paste",
"type": "string"
},
{
"const": "project_panel::RemoveFromProject",
"type": "string"
},
{
"const": "project_panel::Rename",
"type": "string"
},
{
"const": "project_panel::RevealInFileManager",
"type": "string"
},
{
"const": "project_panel::SelectNextDiagnostic",
"type": "string"
},
{
"const": "project_panel::SelectNextDirectory",
"type": "string"
},
{
"const": "project_panel::SelectNextGitEntry",
"type": "string"
},
{
"const": "project_panel::SelectParent",
"type": "string"
},
{
"const": "project_panel::SelectPrevDiagnostic",
"type": "string"
},
{
"const": "project_panel::SelectPrevDirectory",
"type": "string"
},
{
"const": "project_panel::SelectPrevGitEntry",
"type": "string"
},
{
"const": "project_panel::ToggleFocus",
"type": "string"
},
{
"const": "project_panel::ToggleHideGitIgnore",
"type": "string"
},
{
"const": "project_panel::Trash",
"type": "string"
},
{
"items": [
{
"const": "project_panel::Trash"
},
{
"additionalProperties": false,
"properties": {
"skip_prompt": {
"default": false,
"type": "boolean"
}
},
"type": "object"
}
],
"maxItems": 2,
"minItems": 2,
"type": "array"
},
{
"const": "project_panel::UnfoldDirectory",
"type": "string"
},
{
"const": "project_search::NextField",
"type": "string"
},
{
"const": "project_search::SearchInNew",
"type": "string"
},
{
"const": "project_search::ToggleFilters",
"type": "string"
},
{
"const": "project_search::ToggleFocus",
"type": "string"
},
{
"const": "project_symbols::Toggle",
"type": "string"
},
{
"const": "projects::OpenRecent",
"type": "string"
},
{
"items": [
{
"const": "projects::OpenRecent"
},
{
"additionalProperties": false,
"properties": {
"create_new_window": {
"default": false,
"type": "boolean"
}
},
"type": "object"
}
],
"maxItems": 2,
"minItems": 2,
"type": "array"
},
{
"const": "projects::OpenRemote",
"type": "string"
},
{
"items": [
{
"const": "projects::OpenRemote"
},
{
"additionalProperties": false,
"properties": {
"create_new_window": {
"default": false,
"type": "boolean"
},
"from_existing_connection": {
"default": false,
"type": "boolean"
}
},
"type": "object"
}
],
"maxItems": 2,
"minItems": 2,
"type": "array"
},
{
"const": "repl::ClearOutputs",
"type": "string"
},
{
"const": "repl::Interrupt",
"type": "string"
},
{
"const": "repl::RefreshKernelspecs",
"type": "string"
},
{
"const": "repl::Restart",
"type": "string"
},
{
"const": "repl::Run",
"type": "string"
},
{
"const": "repl::RunInPlace",
"type": "string"
},
{
"const": "repl::Sessions",
"type": "string"
},
{
"const": "repl::Shutdown",
"type": "string"
},
{
"const": "rules_library::DeleteRule",
"type": "string"
},
{
"const": "rules_library::DuplicateRule",
"type": "string"
},
{
"const": "rules_library::NewRule",
"type": "string"
},
{
"const": "rules_library::ToggleDefaultRule",
"type": "string"
},
{
"const": "search::FocusSearch",
"type": "string"
},
{
"const": "search::NextHistoryQuery",
"type": "string"
},
{
"const": "search::PreviousHistoryQuery",
"type": "string"
},
{
"const": "search::ReplaceAll",
"type": "string"
},
{
"const": "search::ReplaceNext",
"type": "string"
},
{
"const": "search::SelectAllMatches",
"type": "string"
},
{
"const": "search::SelectNextMatch",
"type": "string"
},
{
"const": "search::SelectPreviousMatch",
"type": "string"
},
{
"const": "search::ToggleCaseSensitive",
"type": "string"
},
{
"const": "search::ToggleIncludeIgnored",
"type": "string"
},
{
"const": "search::ToggleRegex",
"type": "string"
},
{
"const": "search::ToggleReplace",
"type": "string"
},
{
"const": "search::ToggleSelection",
"type": "string"
},
{
"const": "search::ToggleWholeWord",
"type": "string"
},
{
"const": "snippets::ConfigureSnippets",
"type": "string"
},
{
"const": "snippets::OpenFolder",
"type": "string"
},
{
"const": "supermaven::SignOut",
"type": "string"
},
{
"const": "svg::OpenFollowingPreview",
"type": "string"
},
{
"const": "svg::OpenPreview",
"type": "string"
},
{
"const": "svg::OpenPreviewToTheSide",
"type": "string"
},
{
"const": "tab_switcher::CloseSelectedItem",
"type": "string"
},
{
"const": "tab_switcher::Toggle",
"type": "string"
},
{
"items": [
{
"const": "tab_switcher::Toggle"
},
{
"additionalProperties": false,
"properties": {
"select_last": {
"default": false,
"type": "boolean"
}
},
"type": "object"
}
],
"maxItems": 2,
"minItems": 2,
"type": "array"
},
{
"const": "tab_switcher::ToggleAll",
"type": "string"
},
{
"const": "task::Rerun",
"description": "Rerun the last task.",
"type": "string"
},
{
"items": [
{
"const": "task::Rerun",
"description": "Rerun the last task."
},
{
"additionalProperties": false,
"description": "Rerun the last task.",
"properties": {
"allow_concurrent_runs": {
"default": null,
"description": "Overrides `allow_concurrent_runs` property of the task being reran.\nDefault: null",
"type": [
"boolean",
"null"
]
},
"reevaluate_context": {
"default": false,
"description": "Controls whether the task context is reevaluated prior to execution of a task.\nIf it is not, environment variables such as ZED_COLUMN, ZED_FILE are gonna be the same as in the last execution of a task\nIf it is, these variables will be updated to reflect current state of editor at the time task::Rerun is executed.\ndefault: false",
"type": "boolean"
},
"use_new_terminal": {
"default": null,
"description": "Overrides `use_new_terminal` property of the task being reran.\nDefault: null",
"type": [
"boolean",
"null"
]
}
},
"type": "object"
}
],
"maxItems": 2,
"minItems": 2,
"type": "array"
},
{
"const": "task::Spawn",
"description": "Spawn a task with name or open tasks modal.",
"type": "string"
},
{
"items": [
{
"const": "task::Spawn",
"description": "Spawn a task with name or open tasks modal."
},
{
"anyOf": [
{
"description": "Spawns a task by the name given.",
"properties": {
"reveal_target": {
"anyOf": [
{
"$ref": "#/definitions/RevealTarget"
},
{
"type": "null"
}
],
"default": null
},
"task_name": {
"type": "string"
}
},
"required": [
"task_name"
],
"type": "object"
},
{
"description": "Spawns a task by the name given.",
"properties": {
"reveal_target": {
"anyOf": [
{
"$ref": "#/definitions/RevealTarget"
},
{
"type": "null"
}
],
"default": null
},
"task_tag": {
"type": "string"
}
},
"required": [
"task_tag"
],
"type": "object"
},
{
"description": "Spawns a task via modal's selection.",
"properties": {
"reveal_target": {
"anyOf": [
{
"$ref": "#/definitions/RevealTarget"
},
{
"type": "null"
}
],
"default": null,
"description": "Selected task's `reveal_target` property override."
}
},
"type": "object"
}
],
"description": "Spawn a task with name or open tasks modal."
}
],
"maxItems": 2,
"minItems": 2,
"type": "array"
},
{
"const": "terminal::Clear",
"type": "string"
},
{
"const": "terminal::Copy",
"type": "string"
},
{
"const": "terminal::Paste",
"type": "string"
},
{
"const": "terminal::RerunTask",
"type": "string"
},
{
"const": "terminal::ScrollLineDown",
"type": "string"
},
{
"const": "terminal::ScrollLineUp",
"type": "string"
},
{
"const": "terminal::ScrollPageDown",
"type": "string"
},
{
"const": "terminal::ScrollPageUp",
"type": "string"
},
{
"const": "terminal::ScrollToBottom",
"type": "string"
},
{
"const": "terminal::ScrollToTop",
"type": "string"
},
{
"const": "terminal::SearchTest",
"type": "string"
},
{
"const": "terminal::SendKeystroke",
"type": "string"
},
{
"items": [
{
"const": "terminal::SendKeystroke"
},
{
"type": "string"
}
],
"maxItems": 2,
"minItems": 2,
"type": "array"
},
{
"const": "terminal::SendText",
"type": "string"
},
{
"items": [
{
"const": "terminal::SendText"
},
{
"type": "string"
}
],
"maxItems": 2,
"minItems": 2,
"type": "array"
},
{
"const": "terminal::ShowCharacterPalette",
"type": "string"
},
{
"const": "terminal::ToggleViMode",
"type": "string"
},
{
"const": "terminal_panel::ToggleFocus",
"type": "string"
},
{
"const": "theme_selector::Reload",
"type": "string"
},
{
"const": "theme_selector::Toggle",
"type": "string"
},
{
"items": [
{
"const": "theme_selector::Toggle"
},
{
"additionalProperties": false,
"properties": {
"themes_filter": {
"description": "A list of theme names to filter the theme selector down to.",
"items": {
"type": "string"
},
"type": [
"array",
"null"
]
}
},
"type": "object"
}
],
"maxItems": 2,
"minItems": 2,
"type": "array"
},
{
"const": "toast::RunAction",
"type": "string"
},
{
"const": "toolchain::Select",
"type": "string"
},
{
"const": "variable_list::AddWatch",
"type": "string"
},
{
"const": "variable_list::CollapseSelectedEntry",
"type": "string"
},
{
"const": "variable_list::CopyVariableName",
"type": "string"
},
{
"const": "variable_list::CopyVariableValue",
"type": "string"
},
{
"const": "variable_list::EditVariable",
"type": "string"
},
{
"const": "variable_list::ExpandSelectedEntry",
"type": "string"
},
{
"const": "variable_list::RemoveWatch",
"type": "string"
},
{
"const": "vim::AngleBrackets",
"type": "string"
},
{
"const": "vim::AnyBrackets",
"type": "string"
},
{
"const": "vim::AnyQuotes",
"type": "string"
},
{
"const": "vim::Argument",
"type": "string"
},
{
"const": "vim::ArgumentRequired",
"type": "string"
},
{
"const": "vim::AutoIndent",
"type": "string"
},
{
"const": "vim::BackQuotes",
"type": "string"
},
{
"const": "vim::Backspace",
"deprecationMessage": "Deprecated, use vim::WrappingLeft",
"type": "string"
},
{
"const": "vim::ChangeCase",
"type": "string"
},
{
"const": "vim::ChangeListNewer",
"type": "string"
},
{
"const": "vim::ChangeListOlder",
"type": "string"
},
{
"const": "vim::ChangeToEndOfLine",
"type": "string"
},
{
"const": "vim::Class",
"type": "string"
},
{
"const": "vim::ClearExchange",
"type": "string"
},
{
"const": "vim::ClearOperators",
"type": "string"
},
{
"const": "vim::ColumnLeft",
"type": "string"
},
{
"const": "vim::ColumnRight",
"type": "string"
},
{
"const": "vim::Comment",
"type": "string"
},
{
"const": "vim::ConvertToLowerCase",
"type": "string"
},
{
"const": "vim::ConvertToRot13",
"type": "string"
},
{
"const": "vim::ConvertToRot47",
"type": "string"
},
{
"const": "vim::ConvertToUpperCase",
"type": "string"
},
{
"const": "vim::CountCommand",
"type": "string"
},
{
"const": "vim::CurlyBrackets",
"type": "string"
},
{
"const": "vim::CurrentLine",
"type": "string"
},
{
"const": "vim::Decrement",
"type": "string"
},
{
"items": [
{
"const": "vim::Decrement"
},
{
"additionalProperties": false,
"properties": {
"step": {
"default": false,
"type": "boolean"
}
},
"type": "object"
}
],
"maxItems": 2,
"minItems": 2,
"type": "array"
},
{
"const": "vim::DeleteLeft",
"type": "string"
},
{
"const": "vim::DeleteRight",
"type": "string"
},
{
"const": "vim::DeleteToEndOfLine",
"type": "string"
},
{
"const": "vim::DoubleQuotes",
"type": "string"
},
{
"const": "vim::Down",
"type": "string"
},
{
"items": [
{
"const": "vim::Down"
},
{
"additionalProperties": false,
"properties": {
"display_lines": {
"default": false,
"type": "boolean"
}
},
"type": "object"
}
],
"maxItems": 2,
"minItems": 2,
"type": "array"
},
{
"const": "vim::EndOfDocument",
"type": "string"
},
{
"const": "vim::EndOfLine",
"type": "string"
},
{
"items": [
{
"const": "vim::EndOfLine"
},
{
"additionalProperties": false,
"properties": {
"display_lines": {
"default": false,
"type": "boolean"
}
},
"type": "object"
}
],
"maxItems": 2,
"minItems": 2,
"type": "array"
},
{
"const": "vim::EndOfLineDownward",
"type": "string"
},
{
"const": "vim::EndOfParagraph",
"type": "string"
},
{
"const": "vim::EndRepeat",
"type": "string"
},
{
"const": "vim::Enter",
"type": "string"
},
{
"const": "vim::EntireFile",
"type": "string"
},
{
"const": "vim::Exchange",
"type": "string"
},
{
"const": "vim::FindCommand",
"type": "string"
},
{
"items": [
{
"const": "vim::FindCommand"
},
{
"additionalProperties": false,
"properties": {
"backwards": {
"type": "boolean"
},
"query": {
"type": "string"
}
},
"required": [
"query",
"backwards"
],
"type": "object"
}
],
"maxItems": 2,
"minItems": 2,
"type": "array"
},
{
"const": "vim::FirstNonWhitespace",
"type": "string"
},
{
"items": [
{
"const": "vim::FirstNonWhitespace"
},
{
"additionalProperties": false,
"properties": {
"display_lines": {
"default": false,
"type": "boolean"
}
},
"type": "object"
}
],
"maxItems": 2,
"minItems": 2,
"type": "array"
},
{
"const": "vim::GoToColumn",
"type": "string"
},
{
"const": "vim::GoToPercentage",
"type": "string"
},
{
"const": "vim::HelixDelete",
"type": "string"
},
{
"const": "vim::HelixNormalAfter",
"type": "string"
},
{
"const": "vim::Increment",
"type": "string"
},
{
"items": [
{
"const": "vim::Increment"
},
{
"additionalProperties": false,
"properties": {
"step": {
"default": false,
"type": "boolean"
}
},
"type": "object"
}
],
"maxItems": 2,
"minItems": 2,
"type": "array"
},
{
"const": "vim::Indent",
"type": "string"
},
{
"const": "vim::IndentObj",
"type": "string"
},
{
"items": [
{
"const": "vim::IndentObj"
},
{
"additionalProperties": false,
"properties": {
"include_below": {
"default": false,
"type": "boolean"
}
},
"type": "object"
}
],
"maxItems": 2,
"minItems": 2,
"type": "array"
},
{
"const": "vim::InnerObject",
"type": "string"
},
{
"const": "vim::InsertAfter",
"type": "string"
},
{
"const": "vim::InsertAtPrevious",
"type": "string"
},
{
"const": "vim::InsertBefore",
"type": "string"
},
{
"const": "vim::InsertEmptyLineAbove",
"type": "string"
},
{
"const": "vim::InsertEmptyLineBelow",
"type": "string"
},
{
"const": "vim::InsertEndOfLine",
"type": "string"
},
{
"const": "vim::InsertFirstNonWhitespace",
"type": "string"
},
{
"const": "vim::InsertLineAbove",
"type": "string"
},
{
"const": "vim::InsertLineBelow",
"type": "string"
},
{
"const": "vim::JoinLines",
"type": "string"
},
{
"const": "vim::JoinLinesNoWhitespace",
"type": "string"
},
{
"const": "vim::Left",
"type": "string"
},
{
"const": "vim::LineDown",
"type": "string"
},
{
"const": "vim::LineUp",
"type": "string"
},
{
"const": "vim::Literal",
"type": "string"
},
{
"items": [
{
"const": "vim::Literal"
},
{
"items": [
{
"type": "string"
},
{
"maxLength": 1,
"minLength": 1,
"type": "string"
}
],
"maxItems": 2,
"minItems": 2,
"type": "array"
}
],
"maxItems": 2,
"minItems": 2,
"type": "array"
},
{
"const": "vim::Matching",
"type": "string"
},
{
"const": "vim::MaximizePane",
"type": "string"
},
{
"const": "vim::Method",
"type": "string"
},
{
"const": "vim::MiddleOfLine",
"type": "string"
},
{
"items": [
{
"const": "vim::MiddleOfLine"
},
{
"additionalProperties": false,
"properties": {
"display_lines": {
"default": false,
"type": "boolean"
}
},
"type": "object"
}
],
"maxItems": 2,
"minItems": 2,
"type": "array"
},
{
"const": "vim::MiniBrackets",
"type": "string"
},
{
"const": "vim::MiniQuotes",
"type": "string"
},
{
"const": "vim::MoveToNext",
"type": "string"
},
{
"items": [
{
"const": "vim::MoveToNext"
},
{
"additionalProperties": false,
"properties": {
"case_sensitive": {
"default": true,
"type": "boolean"
},
"partial_word": {
"default": false,
"type": "boolean"
},
"regex": {
"default": true,
"type": "boolean"
}
},
"type": "object"
}
],
"maxItems": 2,
"minItems": 2,
"type": "array"
},
{
"const": "vim::MoveToNextMatch",
"type": "string"
},
{
"const": "vim::MoveToPrevious",
"type": "string"
},
{
"items": [
{
"const": "vim::MoveToPrevious"
},
{
"additionalProperties": false,
"properties": {
"case_sensitive": {
"default": true,
"type": "boolean"
},
"partial_word": {
"default": false,
"type": "boolean"
},
"regex": {
"default": true,
"type": "boolean"
}
},
"type": "object"
}
],
"maxItems": 2,
"minItems": 2,
"type": "array"
},
{
"const": "vim::MoveToPreviousMatch",
"type": "string"
},
{
"const": "vim::NextComment",
"type": "string"
},
{
"const": "vim::NextGreaterIndent",
"type": "string"
},
{
"const": "vim::NextLesserIndent",
"type": "string"
},
{
"const": "vim::NextLineStart",
"type": "string"
},
{
"const": "vim::NextMethodEnd",
"type": "string"
},
{
"const": "vim::NextMethodStart",
"type": "string"
},
{
"const": "vim::NextSameIndent",
"type": "string"
},
{
"const": "vim::NextSectionEnd",
"type": "string"
},
{
"const": "vim::NextSectionStart",
"type": "string"
},
{
"const": "vim::NextSubwordEnd",
"type": "string"
},
{
"items": [
{
"const": "vim::NextSubwordEnd"
},
{
"additionalProperties": false,
"properties": {
"ignore_punctuation": {
"default": false,
"type": "boolean"
}
},
"type": "object"
}
],
"maxItems": 2,
"minItems": 2,
"type": "array"
},
{
"const": "vim::NextSubwordStart",
"type": "string"
},
{
"items": [
{
"const": "vim::NextSubwordStart"
},
{
"additionalProperties": false,
"properties": {
"ignore_punctuation": {
"default": false,
"type": "boolean"
}
},
"type": "object"
}
],
"maxItems": 2,
"minItems": 2,
"type": "array"
},
{
"const": "vim::NextWordEnd",
"type": "string"
},
{
"items": [
{
"const": "vim::NextWordEnd"
},
{
"additionalProperties": false,
"properties": {
"ignore_punctuation": {
"default": false,
"type": "boolean"
}
},
"type": "object"
}
],
"maxItems": 2,
"minItems": 2,
"type": "array"
},
{
"const": "vim::NextWordStart",
"type": "string"
},
{
"items": [
{
"const": "vim::NextWordStart"
},
{
"additionalProperties": false,
"properties": {
"ignore_punctuation": {
"default": false,
"type": "boolean"
}
},
"type": "object"
}
],
"maxItems": 2,
"minItems": 2,
"type": "array"
},
{
"const": "vim::NormalBefore",
"type": "string"
},
{
"const": "vim::Number",
"description": "Number is used to manage vim's count. Pushing a digit\nmultiplies the current value by 10 and adds the digit.",
"type": "string"
},
{
"items": [
{
"const": "vim::Number",
"description": "Number is used to manage vim's count. Pushing a digit\nmultiplies the current value by 10 and adds the digit."
},
{
"description": "Number is used to manage vim's count. Pushing a digit\nmultiplies the current value by 10 and adds the digit.",
"format": "uint",
"minimum": 0,
"type": "integer"
}
],
"maxItems": 2,
"minItems": 2,
"type": "array"
},
{
"const": "vim::OpenDefaultKeymap",
"type": "string"
},
{
"const": "vim::OtherEnd",
"type": "string"
},
{
"const": "vim::OtherEndRowAware",
"type": "string"
},
{
"const": "vim::Outdent",
"type": "string"
},
{
"const": "vim::PageDown",
"type": "string"
},
{
"const": "vim::PageUp",
"type": "string"
},
{
"con
View raw

(Sorry about that, but we can’t show files that are this big right now.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment