@@ -1,282 +1,282 @@
{
- "suffixes": {
- "astro": "astro",
- "Emakefile": "erlang",
- "aac": "audio",
- "accdb": "storage",
- "app.src": "erlang",
- "avi": "video",
- "avif": "image",
- "bak": "backup",
- "bash": "terminal",
- "bash_aliases": "terminal",
- "bash_logout": "terminal",
- "bash_profile": "terminal",
- "bashrc": "terminal",
- "bmp": "image",
- "c": "code",
- "cc": "code",
- "cjs": "code",
- "conf": "settings",
- "cpp": "code",
- "css": "css",
- "csv": "storage",
- "cts": "typescript",
- "dat": "storage",
- "db": "storage",
- "dbf": "storage",
- "dll": "storage",
- "doc": "document",
- "docx": "document",
- "eex": "elixir",
- "elm": "elm",
- "erl": "erlang",
- "escript": "erlang",
- "eslintrc": "eslint",
- "eslintrc.js": "eslint",
- "eslintrc.json": "eslint",
- "ex": "elixir",
- "exs": "elixir",
- "fish": "terminal",
- "flac": "audio",
- "fmp": "storage",
- "fp7": "storage",
- "frm": "storage",
- "gdb": "storage",
- "gif": "image",
- "gitattributes": "vcs",
- "gitignore": "vcs",
- "gitkeep": "vcs",
- "gitmodules": "vcs",
- "go": "go",
- "graphql": "graphql",
- "h": "code",
- "handlebars": "code",
- "hbs": "template",
- "heex": "elixir",
- "heif": "image",
- "heic": "image",
- "hrl": "erlang",
- "hs": "haskell",
- "htm": "template",
- "html": "template",
- "ib": "storage",
- "ico": "image",
- "ini": "settings",
- "j2k": "image",
- "java": "code",
- "jfif": "image",
- "jp2": "image",
- "jpeg": "image",
- "jpg": "image",
- "js": "code",
- "json": "storage",
- "jsonc": "storage",
- "jxl": "image",
- "ldf": "storage",
- "lock": "lock",
- "lockb": "bun",
- "log": "log",
- "lua": "lua",
- "m4a": "audio",
- "m4v": "video",
- "md": "document",
- "mdb": "storage",
- "mdf": "storage",
- "mdx": "document",
- "mkv": "video",
- "mjs": "code",
- "mka": "audio",
- "ml": "ocaml",
- "mli": "ocaml",
- "mov": "video",
- "mp3": "audio",
- "mp4": "video",
- "mts": "typescript",
- "myd": "storage",
- "myi": "storage",
- "nu": "terminal",
- "odp": "document",
- "ods": "document",
- "odt": "document",
- "ogg": "audio",
- "opus": "audio",
- "pdb": "storage",
- "pdf": "document",
- "php": "php",
- "png": "image",
- "ppt": "document",
- "pptx": "document",
- "prettierignore": "prettier",
- "prettierrc": "prettier",
- "prisma": "prisma",
- "profile": "terminal",
- "ps1": "terminal",
- "psd": "image",
- "py": "python",
- "qoi": "image",
- "rb": "ruby",
- "rebar.config": "erlang",
- "rkt": "code",
- "rs": "rust",
- "r": "r",
- "rtf": "document",
- "sav": "storage",
- "scm": "code",
- "sdf": "storage",
- "sh": "terminal",
- "sqlite": "storage",
- "svelte": "template",
- "svg": "image",
- "swift": "code",
- "tiff": "image",
- "toml": "toml",
- "ts": "typescript",
- "tsv": "storage",
- "tsx": "code",
- "txt": "document",
- "vue": "vue",
- "wav": "audio",
- "webm": "video",
- "webp": "image",
- "wma": "audio",
- "wmv": "video",
- "wv": "audio",
- "xls": "document",
- "xlsx": "document",
- "xml": "template",
- "xrl": "erlang",
- "yaml": "settings",
- "yml": "settings",
- "yrl": "erlang",
- "zlogin": "terminal",
- "zsh": "terminal",
- "zsh_aliases": "terminal",
- "zsh_histfile": "terminal",
- "zsh_profile": "terminal",
- "zshenv": "terminal",
- "zshrc": "terminal"
- },
- "types": {
- "astro": {
- "icon": "icons/file_icons/astro.svg"
- },
- "audio": {
- "icon": "icons/file_icons/audio.svg"
- },
- "code": {
- "icon": "icons/file_icons/code.svg"
- },
- "collapsed_chevron": {
- "icon": "icons/file_icons/chevron_right.svg"
- },
- "collapsed_folder": {
- "icon": "icons/file_icons/folder.svg"
- },
- "css": {
- "icon": "icons/file_icons/css.svg"
- },
- "default": {
- "icon": "icons/file_icons/file.svg"
- },
- "document": {
- "icon": "icons/file_icons/book.svg"
- },
- "elixir": {
- "icon": "icons/file_icons/elixir.svg"
- },
- "elm": {
- "icon": "icons/file_icons/elm.svg"
- },
- "erlang": {
- "icon": "icons/file_icons/erlang.svg"
- },
- "eslint": {
- "icon": "icons/file_icons/eslint.svg"
- },
- "expanded_chevron": {
- "icon": "icons/file_icons/chevron_down.svg"
- },
- "expanded_folder": {
- "icon": "icons/file_icons/folder_open.svg"
- },
- "haskell": {
- "icon": "icons/file_icons/haskell.svg"
- },
- "go": {
- "icon": "icons/file_icons/go.svg"
- },
- "graphql": {
- "icon": "icons/file_icons/graphql.svg"
- },
- "image": {
- "icon": "icons/file_icons/image.svg"
- },
- "lock": {
- "icon": "icons/file_icons/lock.svg"
- },
- "bun": {
- "icon": "icons/file_icons/bun.svg"
- },
- "log": {
- "icon": "icons/file_icons/info.svg"
- },
- "lua": {
- "icon": "icons/file_icons/lua.svg"
- },
- "ocaml": {
- "icon": "icons/file_icons/ocaml.svg"
- },
- "phoenix": {
- "icon": "icons/file_icons/phoenix.svg"
- },
- "php": {
- "icon": "icons/file_icons/php.svg"
- },
- "prettier": {
- "icon": "icons/file_icons/prettier.svg"
- },
- "prisma": {
- "icon": "icons/file_icons/prisma.svg"
- },
- "python": {
- "icon": "icons/file_icons/python.svg"
- },
- "ruby": {
- "icon": "icons/file_icons/ruby.svg"
- },
- "rust": {
- "icon": "icons/file_icons/rust.svg"
- },
- "r": {
- "icon": "icons/file_icons/r.svg"
- },
- "settings": {
- "icon": "icons/file_icons/settings.svg"
- },
- "storage": {
- "icon": "icons/file_icons/database.svg"
- },
- "template": {
- "icon": "icons/file_icons/html.svg"
- },
- "terminal": {
- "icon": "icons/file_icons/terminal.svg"
- },
- "toml": {
- "icon": "icons/file_icons/toml.svg"
- },
- "typescript": {
- "icon": "icons/file_icons/typescript.svg"
- },
- "vcs": {
- "icon": "icons/file_icons/git.svg"
- },
- "video": {
- "icon": "icons/file_icons/video.svg"
- },
- "vue": {
- "icon": "icons/file_icons/vue.svg"
- }
+ "suffixes": {
+ "astro": "astro",
+ "Emakefile": "erlang",
+ "aac": "audio",
+ "accdb": "storage",
+ "app.src": "erlang",
+ "avi": "video",
+ "avif": "image",
+ "bak": "backup",
+ "bash": "terminal",
+ "bash_aliases": "terminal",
+ "bash_logout": "terminal",
+ "bash_profile": "terminal",
+ "bashrc": "terminal",
+ "bmp": "image",
+ "c": "code",
+ "cc": "code",
+ "cjs": "code",
+ "conf": "settings",
+ "cpp": "code",
+ "css": "css",
+ "csv": "storage",
+ "cts": "typescript",
+ "dat": "storage",
+ "db": "storage",
+ "dbf": "storage",
+ "dll": "storage",
+ "doc": "document",
+ "docx": "document",
+ "eex": "elixir",
+ "elm": "elm",
+ "erl": "erlang",
+ "escript": "erlang",
+ "eslintrc": "eslint",
+ "eslintrc.js": "eslint",
+ "eslintrc.json": "eslint",
+ "ex": "elixir",
+ "exs": "elixir",
+ "fish": "terminal",
+ "flac": "audio",
+ "fmp": "storage",
+ "fp7": "storage",
+ "frm": "storage",
+ "gdb": "storage",
+ "gif": "image",
+ "gitattributes": "vcs",
+ "gitignore": "vcs",
+ "gitkeep": "vcs",
+ "gitmodules": "vcs",
+ "go": "go",
+ "graphql": "graphql",
+ "h": "code",
+ "handlebars": "code",
+ "hbs": "template",
+ "heex": "elixir",
+ "heif": "image",
+ "heic": "image",
+ "hrl": "erlang",
+ "hs": "haskell",
+ "htm": "template",
+ "html": "template",
+ "ib": "storage",
+ "ico": "image",
+ "ini": "settings",
+ "j2k": "image",
+ "java": "code",
+ "jfif": "image",
+ "jp2": "image",
+ "jpeg": "image",
+ "jpg": "image",
+ "js": "code",
+ "json": "storage",
+ "jsonc": "storage",
+ "jxl": "image",
+ "ldf": "storage",
+ "lock": "lock",
+ "lockb": "bun",
+ "log": "log",
+ "lua": "lua",
+ "m4a": "audio",
+ "m4v": "video",
+ "md": "document",
+ "mdb": "storage",
+ "mdf": "storage",
+ "mdx": "document",
+ "mkv": "video",
+ "mjs": "code",
+ "mka": "audio",
+ "ml": "ocaml",
+ "mli": "ocaml",
+ "mov": "video",
+ "mp3": "audio",
+ "mp4": "video",
+ "mts": "typescript",
+ "myd": "storage",
+ "myi": "storage",
+ "nu": "terminal",
+ "odp": "document",
+ "ods": "document",
+ "odt": "document",
+ "ogg": "audio",
+ "opus": "audio",
+ "pdb": "storage",
+ "pdf": "document",
+ "php": "php",
+ "png": "image",
+ "ppt": "document",
+ "pptx": "document",
+ "prettierignore": "prettier",
+ "prettierrc": "prettier",
+ "prisma": "prisma",
+ "profile": "terminal",
+ "ps1": "terminal",
+ "psd": "image",
+ "py": "python",
+ "qoi": "image",
+ "rb": "ruby",
+ "rebar.config": "erlang",
+ "rkt": "code",
+ "rs": "rust",
+ "r": "r",
+ "rtf": "document",
+ "sav": "storage",
+ "scm": "code",
+ "sdf": "storage",
+ "sh": "terminal",
+ "sqlite": "storage",
+ "svelte": "template",
+ "svg": "image",
+ "swift": "code",
+ "tiff": "image",
+ "toml": "toml",
+ "ts": "typescript",
+ "tsv": "storage",
+ "tsx": "code",
+ "txt": "document",
+ "vue": "vue",
+ "wav": "audio",
+ "webm": "video",
+ "webp": "image",
+ "wma": "audio",
+ "wmv": "video",
+ "wv": "audio",
+ "xls": "document",
+ "xlsx": "document",
+ "xml": "template",
+ "xrl": "erlang",
+ "yaml": "settings",
+ "yml": "settings",
+ "yrl": "erlang",
+ "zlogin": "terminal",
+ "zsh": "terminal",
+ "zsh_aliases": "terminal",
+ "zsh_histfile": "terminal",
+ "zsh_profile": "terminal",
+ "zshenv": "terminal",
+ "zshrc": "terminal"
+ },
+ "types": {
+ "astro": {
+ "icon": "icons/file_icons/astro.svg"
+ },
+ "audio": {
+ "icon": "icons/file_icons/audio.svg"
+ },
+ "code": {
+ "icon": "icons/file_icons/code.svg"
+ },
+ "collapsed_chevron": {
+ "icon": "icons/file_icons/chevron_right.svg"
+ },
+ "collapsed_folder": {
+ "icon": "icons/file_icons/folder.svg"
+ },
+ "css": {
+ "icon": "icons/file_icons/css.svg"
+ },
+ "default": {
+ "icon": "icons/file_icons/file.svg"
+ },
+ "document": {
+ "icon": "icons/file_icons/book.svg"
+ },
+ "elixir": {
+ "icon": "icons/file_icons/elixir.svg"
+ },
+ "elm": {
+ "icon": "icons/file_icons/elm.svg"
+ },
+ "erlang": {
+ "icon": "icons/file_icons/erlang.svg"
+ },
+ "eslint": {
+ "icon": "icons/file_icons/eslint.svg"
+ },
+ "expanded_chevron": {
+ "icon": "icons/file_icons/chevron_down.svg"
+ },
+ "expanded_folder": {
+ "icon": "icons/file_icons/folder_open.svg"
+ },
+ "haskell": {
+ "icon": "icons/file_icons/haskell.svg"
+ },
+ "go": {
+ "icon": "icons/file_icons/go.svg"
+ },
+ "graphql": {
+ "icon": "icons/file_icons/graphql.svg"
+ },
+ "image": {
+ "icon": "icons/file_icons/image.svg"
+ },
+ "lock": {
+ "icon": "icons/file_icons/lock.svg"
+ },
+ "bun": {
+ "icon": "icons/file_icons/bun.svg"
+ },
+ "log": {
+ "icon": "icons/file_icons/info.svg"
+ },
+ "lua": {
+ "icon": "icons/file_icons/lua.svg"
+ },
+ "ocaml": {
+ "icon": "icons/file_icons/ocaml.svg"
+ },
+ "phoenix": {
+ "icon": "icons/file_icons/phoenix.svg"
+ },
+ "php": {
+ "icon": "icons/file_icons/php.svg"
+ },
+ "prettier": {
+ "icon": "icons/file_icons/prettier.svg"
+ },
+ "prisma": {
+ "icon": "icons/file_icons/prisma.svg"
+ },
+ "python": {
+ "icon": "icons/file_icons/python.svg"
+ },
+ "ruby": {
+ "icon": "icons/file_icons/ruby.svg"
+ },
+ "rust": {
+ "icon": "icons/file_icons/rust.svg"
+ },
+ "r": {
+ "icon": "icons/file_icons/r.svg"
+ },
+ "settings": {
+ "icon": "icons/file_icons/settings.svg"
+ },
+ "storage": {
+ "icon": "icons/file_icons/database.svg"
+ },
+ "template": {
+ "icon": "icons/file_icons/html.svg"
+ },
+ "terminal": {
+ "icon": "icons/file_icons/terminal.svg"
+ },
+ "toml": {
+ "icon": "icons/file_icons/toml.svg"
+ },
+ "typescript": {
+ "icon": "icons/file_icons/typescript.svg"
+ },
+ "vcs": {
+ "icon": "icons/file_icons/git.svg"
+ },
+ "video": {
+ "icon": "icons/file_icons/video.svg"
+ },
+ "vue": {
+ "icon": "icons/file_icons/vue.svg"
}
+ }
}
@@ -1,561 +1,561 @@
[
- {
- "bindings": {
- "up": "menu::SelectPrev",
- "pageup": "menu::SelectFirst",
- "shift-pageup": "menu::SelectFirst",
- "ctrl-p": "menu::SelectPrev",
- "down": "menu::SelectNext",
- "pagedown": "menu::SelectLast",
- "shift-pagedown": "menu::SelectFirst",
- "ctrl-n": "menu::SelectNext",
- "ctrl-up": "menu::SelectFirst",
- "ctrl-down": "menu::SelectLast",
- "enter": "menu::Confirm",
- "shift-f10": "menu::ShowContextMenu",
- "ctrl-enter": "menu::SecondaryConfirm",
- "escape": "menu::Cancel",
- "ctrl-c": "menu::Cancel",
- "ctrl-shift-w": "workspace::CloseWindow",
- "shift-escape": "workspace::ToggleZoom",
- "ctrl-o": "workspace::Open",
- "ctrl-=": "zed::IncreaseBufferFontSize",
- "ctrl-+": "zed::IncreaseBufferFontSize",
- "ctrl--": "zed::DecreaseBufferFontSize",
- "ctrl-0": "zed::ResetBufferFontSize",
- "ctrl-,": "zed::OpenSettings",
- "ctrl-q": "zed::Quit",
- "ctrl-h": "zed::Hide",
- "alt-ctrl-h": "zed::HideOthers",
- "ctrl-m": "zed::Minimize",
- "f11": "zed::ToggleFullScreen"
- }
- },
- {
- "context": "Editor",
- "bindings": {
- "escape": "editor::Cancel",
- "backspace": "editor::Backspace",
- "shift-backspace": "editor::Backspace",
- "ctrl-h": "editor::Backspace",
- "delete": "editor::Delete",
- "ctrl-d": "editor::Delete",
- "tab": "editor::Tab",
- "shift-tab": "editor::TabPrev",
- "ctrl-k": "editor::CutToEndOfLine",
- "ctrl-t": "editor::Transpose",
- "ctrl-backspace": "editor::DeleteToBeginningOfLine",
- "ctrl-delete": "editor::DeleteToEndOfLine",
- "alt-backspace": "editor::DeleteToPreviousWordStart",
- "alt-delete": "editor::DeleteToNextWordEnd",
- "alt-h": "editor::DeleteToPreviousWordStart",
- "alt-d": "editor::DeleteToNextWordEnd",
- "ctrl-x": "editor::Cut",
- "ctrl-c": "editor::Copy",
- "ctrl-v": "editor::Paste",
- "ctrl-z": "editor::Undo",
- "ctrl-shift-z": "editor::Redo",
- "ctrl-y": "editor::Redo",
- "up": "editor::MoveUp",
- "ctrl-up": "editor::MoveToStartOfParagraph",
- "pageup": "editor::PageUp",
- "shift-pageup": "editor::MovePageUp",
- "home": "editor::MoveToBeginningOfLine",
- "down": "editor::MoveDown",
- "ctrl-down": "editor::MoveToEndOfParagraph",
- "pagedown": "editor::PageDown",
- "shift-pagedown": "editor::MovePageDown",
- "end": "editor::MoveToEndOfLine",
- "left": "editor::MoveLeft",
- "right": "editor::MoveRight",
- "ctrl-p": "editor::MoveUp",
- "ctrl-n": "editor::MoveDown",
- "ctrl-b": "editor::MoveLeft",
- "ctrl-f": "editor::MoveRight",
- "ctrl-shift-l": "editor::NextScreen", // todo!(linux): What is this
- "alt-left": "editor::MoveToPreviousWordStart",
- "alt-b": "editor::MoveToPreviousWordStart",
- "alt-right": "editor::MoveToNextWordEnd",
- "alt-f": "editor::MoveToNextWordEnd",
- "ctrl-e": "editor::MoveToEndOfLine",
- "ctrl-home": "editor::MoveToBeginning",
- "ctrl-=end": "editor::MoveToEnd",
- "shift-up": "editor::SelectUp",
- "ctrl-shift-p": "editor::SelectUp",
- "shift-down": "editor::SelectDown",
- "ctrl-shift-n": "editor::SelectDown",
- "shift-left": "editor::SelectLeft",
- "ctrl-shift-b": "editor::SelectLeft",
- "shift-right": "editor::SelectRight",
- "ctrl-shift-f": "editor::SelectRight",
- "alt-shift-left": "editor::SelectToPreviousWordStart",
- "alt-shift-b": "editor::SelectToPreviousWordStart",
- "alt-shift-right": "editor::SelectToNextWordEnd",
- "alt-shift-f": "editor::SelectToNextWordEnd",
- "ctrl-shift-up": "editor::SelectToStartOfParagraph",
- "ctrl-shift-down": "editor::SelectToEndOfParagraph",
- "ctrl-shift-home": "editor::SelectToBeginning",
- "ctrl-shift-end": "editor::SelectToEnd",
- "ctrl-a": "editor::SelectAll",
- "ctrl-l": "editor::SelectLine",
- "ctrl-shift-i": "editor::Format",
- "shift-home": [
- "editor::SelectToBeginningOfLine",
- {
- "stop_at_soft_wraps": true
- }
- ],
- "shift-end": [
- "editor::SelectToEndOfLine",
- {
- "stop_at_soft_wraps": true
- }
- ],
- "ctrl-shift-e": [
- "editor::SelectToEndOfLine",
- {
- "stop_at_soft_wraps": true
- }
- ]
- }
- },
- {
- "context": "Editor && mode == full",
- "bindings": {
- "enter": "editor::Newline",
- "shift-enter": "editor::Newline",
- "ctrl-shift-enter": "editor::NewlineAbove",
- "ctrl-enter": "editor::NewlineBelow",
- "alt-z": "editor::ToggleSoftWrap",
- "ctrl-f": [
- "buffer_search::Deploy",
- {
- "focus": true
- }
- ],
- "alt-\\": "copilot::Suggest",
- "alt-]": "copilot::NextSuggestion",
- "alt-[": "copilot::PreviousSuggestion",
- "ctrl->": "assistant::QuoteSelection"
- }
- },
- {
- "context": "Editor && mode == auto_height",
- "bindings": {
- "ctrl-enter": "editor::Newline",
- "shift-enter": "editor::Newline",
- "ctrl-shift-enter": "editor::NewlineBelow"
- }
- },
- {
- "context": "AssistantPanel",
- "bindings": {
- "f3": "search::SelectNextMatch",
- "shift-f3": "search::SelectPrevMatch"
- }
- },
- {
- "context": "ConversationEditor > Editor",
- "bindings": {
- "ctrl-enter": "assistant::Assist",
- "ctrl-s": "workspace::Save",
- "ctrl->": "assistant::QuoteSelection",
- "shift-enter": "assistant::Split",
- "ctrl-r": "assistant::CycleMessageRole"
- }
- },
- {
- "context": "BufferSearchBar",
- "bindings": {
- "escape": "buffer_search::Dismiss",
- "tab": "buffer_search::FocusEditor",
- "enter": "search::SelectNextMatch",
- "shift-enter": "search::SelectPrevMatch",
- "alt-enter": "search::SelectAllMatches",
- "alt-tab": "search::CycleMode"
- }
- },
- {
- "context": "BufferSearchBar && in_replace",
- "bindings": {
- "enter": "search::ReplaceNext",
- "ctrl-enter": "search::ReplaceAll"
- }
- },
- {
- "context": "BufferSearchBar && !in_replace > Editor",
- "bindings": {
- "up": "search::PreviousHistoryQuery",
- "down": "search::NextHistoryQuery"
- }
- },
- {
- "context": "ProjectSearchBar",
- "bindings": {
- "escape": "project_search::ToggleFocus",
- "alt-tab": "search::CycleMode",
- "ctrl-shift-h": "search::ToggleReplace",
- "ctrl-alt-g": "search::ActivateRegexMode",
- "ctrl-alt-s": "search::ActivateSemanticMode",
- "ctrl-alt-x": "search::ActivateTextMode"
- }
- },
- {
- "context": "ProjectSearchBar > Editor",
- "bindings": {
- "up": "search::PreviousHistoryQuery",
- "down": "search::NextHistoryQuery"
- }
- },
- {
- "context": "ProjectSearchBar && in_replace",
- "bindings": {
- "enter": "search::ReplaceNext",
- "ctrl-enter": "search::ReplaceAll"
- }
- },
- {
- "context": "ProjectSearchView",
- "bindings": {
- "escape": "project_search::ToggleFocus",
- "alt-tab": "search::CycleMode",
- "ctrl-shift-h": "search::ToggleReplace",
- "ctrl-alt-g": "search::ActivateRegexMode",
- "ctrl-alt-s": "search::ActivateSemanticMode",
- "ctrl-alt-x": "search::ActivateTextMode"
- }
- },
- {
- "context": "Pane",
- "bindings": {
- "ctrl-{": "pane::ActivatePrevItem",
- "ctrl-}": "pane::ActivateNextItem",
- "ctrl-alt-left": "pane::ActivatePrevItem",
- "ctrl-alt-right": "pane::ActivateNextItem",
- "ctrl-w": "pane::CloseActiveItem",
- "ctrl-alt-t": "pane::CloseInactiveItems",
- "ctrl-alt-shift-w": "workspace::CloseInactiveTabsAndPanes",
- "ctrl-k u": "pane::CloseCleanItems",
- "ctrl-k ctrl-w": "pane::CloseAllItems",
- "ctrl-f": "project_search::ToggleFocus",
- "f3": "search::SelectNextMatch",
- "shift-f3": "search::SelectPrevMatch",
- "ctrl-shift-h": "search::ToggleReplace",
- "alt-enter": "search::SelectAllMatches",
- "ctrl-alt-c": "search::ToggleCaseSensitive",
- "ctrl-alt-w": "search::ToggleWholeWord",
- "alt-tab": "search::CycleMode",
- "ctrl-alt-f": "project_search::ToggleFilters",
- "ctrl-alt-g": "search::ActivateRegexMode",
- "ctrl-alt-s": "search::ActivateSemanticMode",
- "ctrl-alt-x": "search::ActivateTextMode"
- }
- },
- // Bindings from VS Code
- {
- "context": "Editor",
- "bindings": {
- "ctrl-[": "editor::Outdent",
- "ctrl-]": "editor::Indent",
- "ctrl-alt-up": "editor::AddSelectionAbove",
- "ctrl-alt-down": "editor::AddSelectionBelow",
- "ctrl-d": [
- "editor::SelectNext",
- {
- "replace_newest": false
- }
- ],
- "ctrl-shift-l": "editor::SelectAllMatches",
- "ctrl-shift-d": [
- "editor::SelectPrevious",
- {
- "replace_newest": false
- }
- ],
- "ctrl-k ctrl-d": [
- "editor::SelectNext",
- {
- "replace_newest": true
- }
- ],
- "ctrl-k ctrl-shift-d": [
- "editor::SelectPrevious",
- {
- "replace_newest": true
- }
- ],
- "ctrl-k ctrl-i": "editor::Hover",
- "ctrl-/": [
- "editor::ToggleComments",
- {
- "advance_downwards": false
- }
- ],
- "alt-up": "editor::SelectLargerSyntaxNode",
- "alt-down": "editor::SelectSmallerSyntaxNode",
- "ctrl-u": "editor::UndoSelection",
- "ctrl-shift-u": "editor::RedoSelection",
- "f8": "editor::GoToDiagnostic",
- "shift-f8": "editor::GoToPrevDiagnostic",
- "f2": "editor::Rename",
- "f12": "editor::GoToDefinition",
- "alt-f12": "editor::GoToDefinitionSplit",
- "ctrl-f12": "editor::GoToTypeDefinition",
- "ctrl-alt-f12": "editor::GoToTypeDefinitionSplit",
- "alt-shift-f12": "editor::FindAllReferences",
- "ctrl-m": "editor::MoveToEnclosingBracket",
- "ctrl-alt-[": "editor::Fold",
- "ctrl-alt-]": "editor::UnfoldLines",
- "ctrl-space": "editor::ShowCompletions",
- "ctrl-.": "editor::ToggleCodeActions",
- "ctrl-alt-r": "editor::RevealInFinder",
- "ctrl-alt-c": "editor::DisplayCursorNames"
- }
- },
- {
- "context": "Editor && mode == full",
- "bindings": {
- "ctrl-shift-o": "outline::Toggle",
- "ctrl-g": "go_to_line::Toggle"
- }
- },
- {
- "context": "Pane",
- "bindings": {
- "ctrl-1": ["pane::ActivateItem", 0],
- "ctrl-2": ["pane::ActivateItem", 1],
- "ctrl-3": ["pane::ActivateItem", 2],
- "ctrl-4": ["pane::ActivateItem", 3],
- "ctrl-5": ["pane::ActivateItem", 4],
- "ctrl-6": ["pane::ActivateItem", 5],
- "ctrl-7": ["pane::ActivateItem", 6],
- "ctrl-8": ["pane::ActivateItem", 7],
- "ctrl-9": ["pane::ActivateItem", 8],
- "ctrl-0": "pane::ActivateLastItem",
- "ctrl--": "pane::GoBack",
- "ctrl-_": "pane::GoForward",
- "ctrl-shift-t": "pane::ReopenClosedItem",
- "ctrl-shift-f": "project_search::ToggleFocus"
- }
- },
- {
- "context": "Workspace",
- "bindings": {
- "ctrl-alt-o": "projects::OpenRecent",
- "ctrl-alt-b": "branches::OpenRecent",
- "ctrl-~": "workspace::NewTerminal",
- "ctrl-s": "workspace::Save",
- "ctrl-shift-s": "workspace::SaveAs",
- "ctrl-n": "workspace::NewFile",
- "ctrl-shift-n": "workspace::NewWindow",
- "ctrl-`": "terminal_panel::ToggleFocus",
- "ctrl-1": ["workspace::ActivatePane", 0],
- "ctrl-2": ["workspace::ActivatePane", 1],
- "ctrl-3": ["workspace::ActivatePane", 2],
- "ctrl-4": ["workspace::ActivatePane", 3],
- "ctrl-5": ["workspace::ActivatePane", 4],
- "ctrl-6": ["workspace::ActivatePane", 5],
- "ctrl-7": ["workspace::ActivatePane", 6],
- "ctrl-8": ["workspace::ActivatePane", 7],
- "ctrl-9": ["workspace::ActivatePane", 8],
- "ctrl-b": "workspace::ToggleLeftDock",
- "ctrl-r": "workspace::ToggleRightDock",
- "ctrl-j": "workspace::ToggleBottomDock",
- "ctrl-alt-y": "workspace::CloseAllDocks",
- "ctrl-shift-f": "pane::DeploySearch",
- "ctrl-k ctrl-t": "theme_selector::Toggle",
- "ctrl-k ctrl-s": "zed::OpenKeymap",
- "ctrl-t": "project_symbols::Toggle",
- "ctrl-p": "file_finder::Toggle",
- "ctrl-shift-p": "command_palette::Toggle",
- "ctrl-shift-m": "diagnostics::Deploy",
- "ctrl-shift-e": "project_panel::ToggleFocus",
- "ctrl-?": "assistant::ToggleFocus",
- "ctrl-alt-s": "workspace::SaveAll",
- "ctrl-k m": "language_selector::Toggle",
- "escape": "workspace::Unfollow",
- "ctrl-k ctrl-left": ["workspace::ActivatePaneInDirection", "Left"],
- "ctrl-k ctrl-right": ["workspace::ActivatePaneInDirection", "Right"],
- "ctrl-k ctrl-up": ["workspace::ActivatePaneInDirection", "Up"],
- "ctrl-k ctrl-down": ["workspace::ActivatePaneInDirection", "Down"],
- "ctrl-k shift-left": ["workspace::SwapPaneInDirection", "Left"],
- "ctrl-k shift-right": ["workspace::SwapPaneInDirection", "Right"],
- "ctrl-k shift-up": ["workspace::SwapPaneInDirection", "Up"],
- "ctrl-k shift-down": ["workspace::SwapPaneInDirection", "Down"],
- "alt-t": "task::Rerun",
- "alt-shift-t": "task::Spawn"
- }
- },
- // Bindings from Sublime Text
- // todo!(linux) make sure these match linux bindings or remove above comment?
- {
- "context": "Editor",
- "bindings": {
- "ctrl-shift-k": "editor::DeleteLine",
- "ctrl-shift-d": "editor::DuplicateLine",
- "ctrl-j": "editor::JoinLines",
- "ctrl-alt-up": "editor::MoveLineUp",
- "ctrl-alt-down": "editor::MoveLineDown",
- "ctrl-alt-backspace": "editor::DeleteToPreviousSubwordStart",
- "ctrl-alt-h": "editor::DeleteToPreviousSubwordStart",
- "ctrl-alt-delete": "editor::DeleteToNextSubwordEnd",
- "ctrl-alt-d": "editor::DeleteToNextSubwordEnd",
- "ctrl-alt-left": "editor::MoveToPreviousSubwordStart",
- "ctrl-alt-b": "editor::MoveToPreviousSubwordStart",
- "ctrl-alt-right": "editor::MoveToNextSubwordEnd",
- "ctrl-alt-f": "editor::MoveToNextSubwordEnd",
- "ctrl-alt-shift-left": "editor::SelectToPreviousSubwordStart",
- "ctrl-alt-shift-b": "editor::SelectToPreviousSubwordStart",
- "ctrl-alt-shift-right": "editor::SelectToNextSubwordEnd",
- "ctrl-alt-shift-f": "editor::SelectToNextSubwordEnd"
- }
- },
- // Bindings from Atom
- // todo!(linux) make sure these match linux bindings or remove above comment?
- {
- "context": "Pane",
- "bindings": {
- "ctrl-k up": "pane::SplitUp",
- "ctrl-k down": "pane::SplitDown",
- "ctrl-k left": "pane::SplitLeft",
- "ctrl-k right": "pane::SplitRight"
- }
- },
- // Bindings that should be unified with bindings for more general actions
- {
- "context": "Editor && renaming",
- "bindings": {
- "enter": "editor::ConfirmRename"
- }
- },
- {
- "context": "Editor && showing_completions",
- "bindings": {
- "enter": "editor::ConfirmCompletion",
- "tab": "editor::ConfirmCompletion"
- }
- },
- {
- "context": "Editor && showing_code_actions",
- "bindings": {
- "enter": "editor::ConfirmCodeAction"
- }
- },
- {
- "context": "Editor && (showing_code_actions || showing_completions)",
- "bindings": {
- "up": "editor::ContextMenuPrev",
- "ctrl-p": "editor::ContextMenuPrev",
- "down": "editor::ContextMenuNext",
- "ctrl-n": "editor::ContextMenuNext",
- "pageup": "editor::ContextMenuFirst",
- "pagedown": "editor::ContextMenuLast"
- }
- },
- // Custom bindings
- {
- "bindings": {
- "ctrl-alt-shift-f": "workspace::FollowNextCollaborator",
- // TODO: Move this to a dock open action
- "ctrl-alt-c": "collab_panel::ToggleFocus",
- "ctrl-alt-i": "zed::DebugElements",
- "ctrl-:": "editor::ToggleInlayHints"
- }
- },
- {
- "context": "Editor && mode == full",
- "bindings": {
- "alt-enter": "editor::OpenExcerpts",
- "ctrl-f8": "editor::GoToHunk",
- "ctrl-shift-f8": "editor::GoToPrevHunk",
- "ctrl-enter": "assistant::InlineAssist"
- }
- },
- {
- "context": "ProjectSearchBar && !in_replace",
- "bindings": {
- "ctrl-enter": "project_search::SearchInNew"
- }
- },
- {
- "context": "ProjectPanel",
- "bindings": {
- "left": "project_panel::CollapseSelectedEntry",
- "right": "project_panel::ExpandSelectedEntry",
- "ctrl-n": "project_panel::NewFile",
- "ctrl-alt-n": "project_panel::NewDirectory",
- "ctrl-x": "project_panel::Cut",
- "ctrl-c": "project_panel::Copy",
- "ctrl-v": "project_panel::Paste",
- "ctrl-alt-c": "project_panel::CopyPath",
- "ctrl-alt-shift-c": "project_panel::CopyRelativePath",
- "f2": "project_panel::Rename",
- "enter": "project_panel::Rename",
- "backspace": "project_panel::Delete",
- "ctrl-alt-r": "project_panel::RevealInFinder",
- "alt-shift-f": "project_panel::NewSearchInDirectory"
- }
- },
- {
- "context": "ProjectPanel && not_editing",
- "bindings": {
- "space": "project_panel::Open"
- }
- },
- {
- "context": "CollabPanel && not_editing",
- "bindings": {
- "ctrl-backspace": "collab_panel::Remove",
- "space": "menu::Confirm"
- }
- },
- {
- "context": "(CollabPanel && editing) > Editor",
- "bindings": {
- "space": "collab_panel::InsertSpace"
- }
- },
- {
- "context": "ChannelModal",
- "bindings": {
- "tab": "channel_modal::ToggleMode"
- }
- },
- {
- "context": "ChannelModal > Picker > Editor",
- "bindings": {
- "tab": "channel_modal::ToggleMode"
- }
- },
- {
- "context": "ChatPanel > MessageEditor",
- "bindings": {
- "escape": "chat_panel::CloseReplyPreview"
- }
- },
- {
- "context": "Terminal",
- "bindings": {
- "ctrl-alt-space": "terminal::ShowCharacterPalette",
- "ctrl-shift-c": "terminal::Copy",
- "ctrl-shift-v": "terminal::Paste",
- "ctrl-k": "terminal::Clear",
- // Some nice conveniences
- "ctrl-backspace": ["terminal::SendText", "\u0015"],
- "ctrl-right": ["terminal::SendText", "\u0005"],
- "ctrl-left": ["terminal::SendText", "\u0001"],
- // Terminal.app compatibility
- "alt-left": ["terminal::SendText", "\u001bb"],
- "alt-right": ["terminal::SendText", "\u001bf"],
- // There are conflicting bindings for these keys in the global context.
- // these bindings override them, remove at your own risk:
- "up": ["terminal::SendKeystroke", "up"],
- "pageup": ["terminal::SendKeystroke", "pageup"],
- "down": ["terminal::SendKeystroke", "down"],
- "pagedown": ["terminal::SendKeystroke", "pagedown"],
- "escape": ["terminal::SendKeystroke", "escape"],
- "enter": ["terminal::SendKeystroke", "enter"],
- "ctrl-c": ["terminal::SendKeystroke", "ctrl-c"]
- }
- }
- ]
+ {
+ "bindings": {
+ "up": "menu::SelectPrev",
+ "pageup": "menu::SelectFirst",
+ "shift-pageup": "menu::SelectFirst",
+ "ctrl-p": "menu::SelectPrev",
+ "down": "menu::SelectNext",
+ "pagedown": "menu::SelectLast",
+ "shift-pagedown": "menu::SelectFirst",
+ "ctrl-n": "menu::SelectNext",
+ "ctrl-up": "menu::SelectFirst",
+ "ctrl-down": "menu::SelectLast",
+ "enter": "menu::Confirm",
+ "shift-f10": "menu::ShowContextMenu",
+ "ctrl-enter": "menu::SecondaryConfirm",
+ "escape": "menu::Cancel",
+ "ctrl-c": "menu::Cancel",
+ "ctrl-shift-w": "workspace::CloseWindow",
+ "shift-escape": "workspace::ToggleZoom",
+ "ctrl-o": "workspace::Open",
+ "ctrl-=": "zed::IncreaseBufferFontSize",
+ "ctrl-+": "zed::IncreaseBufferFontSize",
+ "ctrl--": "zed::DecreaseBufferFontSize",
+ "ctrl-0": "zed::ResetBufferFontSize",
+ "ctrl-,": "zed::OpenSettings",
+ "ctrl-q": "zed::Quit",
+ "ctrl-h": "zed::Hide",
+ "alt-ctrl-h": "zed::HideOthers",
+ "ctrl-m": "zed::Minimize",
+ "f11": "zed::ToggleFullScreen"
+ }
+ },
+ {
+ "context": "Editor",
+ "bindings": {
+ "escape": "editor::Cancel",
+ "backspace": "editor::Backspace",
+ "shift-backspace": "editor::Backspace",
+ "ctrl-h": "editor::Backspace",
+ "delete": "editor::Delete",
+ "ctrl-d": "editor::Delete",
+ "tab": "editor::Tab",
+ "shift-tab": "editor::TabPrev",
+ "ctrl-k": "editor::CutToEndOfLine",
+ "ctrl-t": "editor::Transpose",
+ "ctrl-backspace": "editor::DeleteToBeginningOfLine",
+ "ctrl-delete": "editor::DeleteToEndOfLine",
+ "alt-backspace": "editor::DeleteToPreviousWordStart",
+ "alt-delete": "editor::DeleteToNextWordEnd",
+ "alt-h": "editor::DeleteToPreviousWordStart",
+ "alt-d": "editor::DeleteToNextWordEnd",
+ "ctrl-x": "editor::Cut",
+ "ctrl-c": "editor::Copy",
+ "ctrl-v": "editor::Paste",
+ "ctrl-z": "editor::Undo",
+ "ctrl-shift-z": "editor::Redo",
+ "ctrl-y": "editor::Redo",
+ "up": "editor::MoveUp",
+ "ctrl-up": "editor::MoveToStartOfParagraph",
+ "pageup": "editor::PageUp",
+ "shift-pageup": "editor::MovePageUp",
+ "home": "editor::MoveToBeginningOfLine",
+ "down": "editor::MoveDown",
+ "ctrl-down": "editor::MoveToEndOfParagraph",
+ "pagedown": "editor::PageDown",
+ "shift-pagedown": "editor::MovePageDown",
+ "end": "editor::MoveToEndOfLine",
+ "left": "editor::MoveLeft",
+ "right": "editor::MoveRight",
+ "ctrl-p": "editor::MoveUp",
+ "ctrl-n": "editor::MoveDown",
+ "ctrl-b": "editor::MoveLeft",
+ "ctrl-f": "editor::MoveRight",
+ "ctrl-shift-l": "editor::NextScreen", // todo!(linux): What is this
+ "alt-left": "editor::MoveToPreviousWordStart",
+ "alt-b": "editor::MoveToPreviousWordStart",
+ "alt-right": "editor::MoveToNextWordEnd",
+ "alt-f": "editor::MoveToNextWordEnd",
+ "ctrl-e": "editor::MoveToEndOfLine",
+ "ctrl-home": "editor::MoveToBeginning",
+ "ctrl-=end": "editor::MoveToEnd",
+ "shift-up": "editor::SelectUp",
+ "ctrl-shift-p": "editor::SelectUp",
+ "shift-down": "editor::SelectDown",
+ "ctrl-shift-n": "editor::SelectDown",
+ "shift-left": "editor::SelectLeft",
+ "ctrl-shift-b": "editor::SelectLeft",
+ "shift-right": "editor::SelectRight",
+ "ctrl-shift-f": "editor::SelectRight",
+ "alt-shift-left": "editor::SelectToPreviousWordStart",
+ "alt-shift-b": "editor::SelectToPreviousWordStart",
+ "alt-shift-right": "editor::SelectToNextWordEnd",
+ "alt-shift-f": "editor::SelectToNextWordEnd",
+ "ctrl-shift-up": "editor::SelectToStartOfParagraph",
+ "ctrl-shift-down": "editor::SelectToEndOfParagraph",
+ "ctrl-shift-home": "editor::SelectToBeginning",
+ "ctrl-shift-end": "editor::SelectToEnd",
+ "ctrl-a": "editor::SelectAll",
+ "ctrl-l": "editor::SelectLine",
+ "ctrl-shift-i": "editor::Format",
+ "shift-home": [
+ "editor::SelectToBeginningOfLine",
+ {
+ "stop_at_soft_wraps": true
+ }
+ ],
+ "shift-end": [
+ "editor::SelectToEndOfLine",
+ {
+ "stop_at_soft_wraps": true
+ }
+ ],
+ "ctrl-shift-e": [
+ "editor::SelectToEndOfLine",
+ {
+ "stop_at_soft_wraps": true
+ }
+ ]
+ }
+ },
+ {
+ "context": "Editor && mode == full",
+ "bindings": {
+ "enter": "editor::Newline",
+ "shift-enter": "editor::Newline",
+ "ctrl-shift-enter": "editor::NewlineAbove",
+ "ctrl-enter": "editor::NewlineBelow",
+ "alt-z": "editor::ToggleSoftWrap",
+ "ctrl-f": [
+ "buffer_search::Deploy",
+ {
+ "focus": true
+ }
+ ],
+ "alt-\\": "copilot::Suggest",
+ "alt-]": "copilot::NextSuggestion",
+ "alt-[": "copilot::PreviousSuggestion",
+ "ctrl->": "assistant::QuoteSelection"
+ }
+ },
+ {
+ "context": "Editor && mode == auto_height",
+ "bindings": {
+ "ctrl-enter": "editor::Newline",
+ "shift-enter": "editor::Newline",
+ "ctrl-shift-enter": "editor::NewlineBelow"
+ }
+ },
+ {
+ "context": "AssistantPanel",
+ "bindings": {
+ "f3": "search::SelectNextMatch",
+ "shift-f3": "search::SelectPrevMatch"
+ }
+ },
+ {
+ "context": "ConversationEditor > Editor",
+ "bindings": {
+ "ctrl-enter": "assistant::Assist",
+ "ctrl-s": "workspace::Save",
+ "ctrl->": "assistant::QuoteSelection",
+ "shift-enter": "assistant::Split",
+ "ctrl-r": "assistant::CycleMessageRole"
+ }
+ },
+ {
+ "context": "BufferSearchBar",
+ "bindings": {
+ "escape": "buffer_search::Dismiss",
+ "tab": "buffer_search::FocusEditor",
+ "enter": "search::SelectNextMatch",
+ "shift-enter": "search::SelectPrevMatch",
+ "alt-enter": "search::SelectAllMatches",
+ "alt-tab": "search::CycleMode"
+ }
+ },
+ {
+ "context": "BufferSearchBar && in_replace",
+ "bindings": {
+ "enter": "search::ReplaceNext",
+ "ctrl-enter": "search::ReplaceAll"
+ }
+ },
+ {
+ "context": "BufferSearchBar && !in_replace > Editor",
+ "bindings": {
+ "up": "search::PreviousHistoryQuery",
+ "down": "search::NextHistoryQuery"
+ }
+ },
+ {
+ "context": "ProjectSearchBar",
+ "bindings": {
+ "escape": "project_search::ToggleFocus",
+ "alt-tab": "search::CycleMode",
+ "ctrl-shift-h": "search::ToggleReplace",
+ "ctrl-alt-g": "search::ActivateRegexMode",
+ "ctrl-alt-s": "search::ActivateSemanticMode",
+ "ctrl-alt-x": "search::ActivateTextMode"
+ }
+ },
+ {
+ "context": "ProjectSearchBar > Editor",
+ "bindings": {
+ "up": "search::PreviousHistoryQuery",
+ "down": "search::NextHistoryQuery"
+ }
+ },
+ {
+ "context": "ProjectSearchBar && in_replace",
+ "bindings": {
+ "enter": "search::ReplaceNext",
+ "ctrl-enter": "search::ReplaceAll"
+ }
+ },
+ {
+ "context": "ProjectSearchView",
+ "bindings": {
+ "escape": "project_search::ToggleFocus",
+ "alt-tab": "search::CycleMode",
+ "ctrl-shift-h": "search::ToggleReplace",
+ "ctrl-alt-g": "search::ActivateRegexMode",
+ "ctrl-alt-s": "search::ActivateSemanticMode",
+ "ctrl-alt-x": "search::ActivateTextMode"
+ }
+ },
+ {
+ "context": "Pane",
+ "bindings": {
+ "ctrl-{": "pane::ActivatePrevItem",
+ "ctrl-}": "pane::ActivateNextItem",
+ "ctrl-alt-left": "pane::ActivatePrevItem",
+ "ctrl-alt-right": "pane::ActivateNextItem",
+ "ctrl-w": "pane::CloseActiveItem",
+ "ctrl-alt-t": "pane::CloseInactiveItems",
+ "ctrl-alt-shift-w": "workspace::CloseInactiveTabsAndPanes",
+ "ctrl-k u": "pane::CloseCleanItems",
+ "ctrl-k ctrl-w": "pane::CloseAllItems",
+ "ctrl-f": "project_search::ToggleFocus",
+ "f3": "search::SelectNextMatch",
+ "shift-f3": "search::SelectPrevMatch",
+ "ctrl-shift-h": "search::ToggleReplace",
+ "alt-enter": "search::SelectAllMatches",
+ "ctrl-alt-c": "search::ToggleCaseSensitive",
+ "ctrl-alt-w": "search::ToggleWholeWord",
+ "alt-tab": "search::CycleMode",
+ "ctrl-alt-f": "project_search::ToggleFilters",
+ "ctrl-alt-g": "search::ActivateRegexMode",
+ "ctrl-alt-s": "search::ActivateSemanticMode",
+ "ctrl-alt-x": "search::ActivateTextMode"
+ }
+ },
+ // Bindings from VS Code
+ {
+ "context": "Editor",
+ "bindings": {
+ "ctrl-[": "editor::Outdent",
+ "ctrl-]": "editor::Indent",
+ "ctrl-alt-up": "editor::AddSelectionAbove",
+ "ctrl-alt-down": "editor::AddSelectionBelow",
+ "ctrl-d": [
+ "editor::SelectNext",
+ {
+ "replace_newest": false
+ }
+ ],
+ "ctrl-shift-l": "editor::SelectAllMatches",
+ "ctrl-shift-d": [
+ "editor::SelectPrevious",
+ {
+ "replace_newest": false
+ }
+ ],
+ "ctrl-k ctrl-d": [
+ "editor::SelectNext",
+ {
+ "replace_newest": true
+ }
+ ],
+ "ctrl-k ctrl-shift-d": [
+ "editor::SelectPrevious",
+ {
+ "replace_newest": true
+ }
+ ],
+ "ctrl-k ctrl-i": "editor::Hover",
+ "ctrl-/": [
+ "editor::ToggleComments",
+ {
+ "advance_downwards": false
+ }
+ ],
+ "alt-up": "editor::SelectLargerSyntaxNode",
+ "alt-down": "editor::SelectSmallerSyntaxNode",
+ "ctrl-u": "editor::UndoSelection",
+ "ctrl-shift-u": "editor::RedoSelection",
+ "f8": "editor::GoToDiagnostic",
+ "shift-f8": "editor::GoToPrevDiagnostic",
+ "f2": "editor::Rename",
+ "f12": "editor::GoToDefinition",
+ "alt-f12": "editor::GoToDefinitionSplit",
+ "ctrl-f12": "editor::GoToTypeDefinition",
+ "ctrl-alt-f12": "editor::GoToTypeDefinitionSplit",
+ "alt-shift-f12": "editor::FindAllReferences",
+ "ctrl-m": "editor::MoveToEnclosingBracket",
+ "ctrl-alt-[": "editor::Fold",
+ "ctrl-alt-]": "editor::UnfoldLines",
+ "ctrl-space": "editor::ShowCompletions",
+ "ctrl-.": "editor::ToggleCodeActions",
+ "ctrl-alt-r": "editor::RevealInFinder",
+ "ctrl-alt-c": "editor::DisplayCursorNames"
+ }
+ },
+ {
+ "context": "Editor && mode == full",
+ "bindings": {
+ "ctrl-shift-o": "outline::Toggle",
+ "ctrl-g": "go_to_line::Toggle"
+ }
+ },
+ {
+ "context": "Pane",
+ "bindings": {
+ "ctrl-1": ["pane::ActivateItem", 0],
+ "ctrl-2": ["pane::ActivateItem", 1],
+ "ctrl-3": ["pane::ActivateItem", 2],
+ "ctrl-4": ["pane::ActivateItem", 3],
+ "ctrl-5": ["pane::ActivateItem", 4],
+ "ctrl-6": ["pane::ActivateItem", 5],
+ "ctrl-7": ["pane::ActivateItem", 6],
+ "ctrl-8": ["pane::ActivateItem", 7],
+ "ctrl-9": ["pane::ActivateItem", 8],
+ "ctrl-0": "pane::ActivateLastItem",
+ "ctrl--": "pane::GoBack",
+ "ctrl-_": "pane::GoForward",
+ "ctrl-shift-t": "pane::ReopenClosedItem",
+ "ctrl-shift-f": "project_search::ToggleFocus"
+ }
+ },
+ {
+ "context": "Workspace",
+ "bindings": {
+ "ctrl-alt-o": "projects::OpenRecent",
+ "ctrl-alt-b": "branches::OpenRecent",
+ "ctrl-~": "workspace::NewTerminal",
+ "ctrl-s": "workspace::Save",
+ "ctrl-shift-s": "workspace::SaveAs",
+ "ctrl-n": "workspace::NewFile",
+ "ctrl-shift-n": "workspace::NewWindow",
+ "ctrl-`": "terminal_panel::ToggleFocus",
+ "ctrl-1": ["workspace::ActivatePane", 0],
+ "ctrl-2": ["workspace::ActivatePane", 1],
+ "ctrl-3": ["workspace::ActivatePane", 2],
+ "ctrl-4": ["workspace::ActivatePane", 3],
+ "ctrl-5": ["workspace::ActivatePane", 4],
+ "ctrl-6": ["workspace::ActivatePane", 5],
+ "ctrl-7": ["workspace::ActivatePane", 6],
+ "ctrl-8": ["workspace::ActivatePane", 7],
+ "ctrl-9": ["workspace::ActivatePane", 8],
+ "ctrl-b": "workspace::ToggleLeftDock",
+ "ctrl-r": "workspace::ToggleRightDock",
+ "ctrl-j": "workspace::ToggleBottomDock",
+ "ctrl-alt-y": "workspace::CloseAllDocks",
+ "ctrl-shift-f": "pane::DeploySearch",
+ "ctrl-k ctrl-t": "theme_selector::Toggle",
+ "ctrl-k ctrl-s": "zed::OpenKeymap",
+ "ctrl-t": "project_symbols::Toggle",
+ "ctrl-p": "file_finder::Toggle",
+ "ctrl-shift-p": "command_palette::Toggle",
+ "ctrl-shift-m": "diagnostics::Deploy",
+ "ctrl-shift-e": "project_panel::ToggleFocus",
+ "ctrl-?": "assistant::ToggleFocus",
+ "ctrl-alt-s": "workspace::SaveAll",
+ "ctrl-k m": "language_selector::Toggle",
+ "escape": "workspace::Unfollow",
+ "ctrl-k ctrl-left": ["workspace::ActivatePaneInDirection", "Left"],
+ "ctrl-k ctrl-right": ["workspace::ActivatePaneInDirection", "Right"],
+ "ctrl-k ctrl-up": ["workspace::ActivatePaneInDirection", "Up"],
+ "ctrl-k ctrl-down": ["workspace::ActivatePaneInDirection", "Down"],
+ "ctrl-k shift-left": ["workspace::SwapPaneInDirection", "Left"],
+ "ctrl-k shift-right": ["workspace::SwapPaneInDirection", "Right"],
+ "ctrl-k shift-up": ["workspace::SwapPaneInDirection", "Up"],
+ "ctrl-k shift-down": ["workspace::SwapPaneInDirection", "Down"],
+ "alt-t": "task::Rerun",
+ "alt-shift-t": "task::Spawn"
+ }
+ },
+ // Bindings from Sublime Text
+ // todo!(linux) make sure these match linux bindings or remove above comment?
+ {
+ "context": "Editor",
+ "bindings": {
+ "ctrl-shift-k": "editor::DeleteLine",
+ "ctrl-shift-d": "editor::DuplicateLine",
+ "ctrl-j": "editor::JoinLines",
+ "ctrl-alt-up": "editor::MoveLineUp",
+ "ctrl-alt-down": "editor::MoveLineDown",
+ "ctrl-alt-backspace": "editor::DeleteToPreviousSubwordStart",
+ "ctrl-alt-h": "editor::DeleteToPreviousSubwordStart",
+ "ctrl-alt-delete": "editor::DeleteToNextSubwordEnd",
+ "ctrl-alt-d": "editor::DeleteToNextSubwordEnd",
+ "ctrl-alt-left": "editor::MoveToPreviousSubwordStart",
+ "ctrl-alt-b": "editor::MoveToPreviousSubwordStart",
+ "ctrl-alt-right": "editor::MoveToNextSubwordEnd",
+ "ctrl-alt-f": "editor::MoveToNextSubwordEnd",
+ "ctrl-alt-shift-left": "editor::SelectToPreviousSubwordStart",
+ "ctrl-alt-shift-b": "editor::SelectToPreviousSubwordStart",
+ "ctrl-alt-shift-right": "editor::SelectToNextSubwordEnd",
+ "ctrl-alt-shift-f": "editor::SelectToNextSubwordEnd"
+ }
+ },
+ // Bindings from Atom
+ // todo!(linux) make sure these match linux bindings or remove above comment?
+ {
+ "context": "Pane",
+ "bindings": {
+ "ctrl-k up": "pane::SplitUp",
+ "ctrl-k down": "pane::SplitDown",
+ "ctrl-k left": "pane::SplitLeft",
+ "ctrl-k right": "pane::SplitRight"
+ }
+ },
+ // Bindings that should be unified with bindings for more general actions
+ {
+ "context": "Editor && renaming",
+ "bindings": {
+ "enter": "editor::ConfirmRename"
+ }
+ },
+ {
+ "context": "Editor && showing_completions",
+ "bindings": {
+ "enter": "editor::ConfirmCompletion",
+ "tab": "editor::ConfirmCompletion"
+ }
+ },
+ {
+ "context": "Editor && showing_code_actions",
+ "bindings": {
+ "enter": "editor::ConfirmCodeAction"
+ }
+ },
+ {
+ "context": "Editor && (showing_code_actions || showing_completions)",
+ "bindings": {
+ "up": "editor::ContextMenuPrev",
+ "ctrl-p": "editor::ContextMenuPrev",
+ "down": "editor::ContextMenuNext",
+ "ctrl-n": "editor::ContextMenuNext",
+ "pageup": "editor::ContextMenuFirst",
+ "pagedown": "editor::ContextMenuLast"
+ }
+ },
+ // Custom bindings
+ {
+ "bindings": {
+ "ctrl-alt-shift-f": "workspace::FollowNextCollaborator",
+ // TODO: Move this to a dock open action
+ "ctrl-alt-c": "collab_panel::ToggleFocus",
+ "ctrl-alt-i": "zed::DebugElements",
+ "ctrl-:": "editor::ToggleInlayHints"
+ }
+ },
+ {
+ "context": "Editor && mode == full",
+ "bindings": {
+ "alt-enter": "editor::OpenExcerpts",
+ "ctrl-f8": "editor::GoToHunk",
+ "ctrl-shift-f8": "editor::GoToPrevHunk",
+ "ctrl-enter": "assistant::InlineAssist"
+ }
+ },
+ {
+ "context": "ProjectSearchBar && !in_replace",
+ "bindings": {
+ "ctrl-enter": "project_search::SearchInNew"
+ }
+ },
+ {
+ "context": "ProjectPanel",
+ "bindings": {
+ "left": "project_panel::CollapseSelectedEntry",
+ "right": "project_panel::ExpandSelectedEntry",
+ "ctrl-n": "project_panel::NewFile",
+ "ctrl-alt-n": "project_panel::NewDirectory",
+ "ctrl-x": "project_panel::Cut",
+ "ctrl-c": "project_panel::Copy",
+ "ctrl-v": "project_panel::Paste",
+ "ctrl-alt-c": "project_panel::CopyPath",
+ "ctrl-alt-shift-c": "project_panel::CopyRelativePath",
+ "f2": "project_panel::Rename",
+ "enter": "project_panel::Rename",
+ "backspace": "project_panel::Delete",
+ "ctrl-alt-r": "project_panel::RevealInFinder",
+ "alt-shift-f": "project_panel::NewSearchInDirectory"
+ }
+ },
+ {
+ "context": "ProjectPanel && not_editing",
+ "bindings": {
+ "space": "project_panel::Open"
+ }
+ },
+ {
+ "context": "CollabPanel && not_editing",
+ "bindings": {
+ "ctrl-backspace": "collab_panel::Remove",
+ "space": "menu::Confirm"
+ }
+ },
+ {
+ "context": "(CollabPanel && editing) > Editor",
+ "bindings": {
+ "space": "collab_panel::InsertSpace"
+ }
+ },
+ {
+ "context": "ChannelModal",
+ "bindings": {
+ "tab": "channel_modal::ToggleMode"
+ }
+ },
+ {
+ "context": "ChannelModal > Picker > Editor",
+ "bindings": {
+ "tab": "channel_modal::ToggleMode"
+ }
+ },
+ {
+ "context": "ChatPanel > MessageEditor",
+ "bindings": {
+ "escape": "chat_panel::CloseReplyPreview"
+ }
+ },
+ {
+ "context": "Terminal",
+ "bindings": {
+ "ctrl-alt-space": "terminal::ShowCharacterPalette",
+ "ctrl-shift-c": "terminal::Copy",
+ "ctrl-shift-v": "terminal::Paste",
+ "ctrl-k": "terminal::Clear",
+ // Some nice conveniences
+ "ctrl-backspace": ["terminal::SendText", "\u0015"],
+ "ctrl-right": ["terminal::SendText", "\u0005"],
+ "ctrl-left": ["terminal::SendText", "\u0001"],
+ // Terminal.app compatibility
+ "alt-left": ["terminal::SendText", "\u001bb"],
+ "alt-right": ["terminal::SendText", "\u001bf"],
+ // There are conflicting bindings for these keys in the global context.
+ // these bindings override them, remove at your own risk:
+ "up": ["terminal::SendKeystroke", "up"],
+ "pageup": ["terminal::SendKeystroke", "pageup"],
+ "down": ["terminal::SendKeystroke", "down"],
+ "pagedown": ["terminal::SendKeystroke", "pagedown"],
+ "escape": ["terminal::SendKeystroke", "escape"],
+ "enter": ["terminal::SendKeystroke", "enter"],
+ "ctrl-c": ["terminal::SendKeystroke", "ctrl-c"]
+ }
+ }
+]
@@ -101,14 +101,8 @@
"ctrl-o": "pane::GoBack",
"ctrl-i": "pane::GoForward",
"ctrl-]": "editor::GoToDefinition",
- "escape": [
- "vim::SwitchMode",
- "Normal"
- ],
- "ctrl-[": [
- "vim::SwitchMode",
- "Normal"
- ],
+ "escape": ["vim::SwitchMode", "Normal"],
+ "ctrl-[": ["vim::SwitchMode", "Normal"],
"v": "vim::ToggleVisual",
"shift-v": "vim::ToggleVisualLine",
"ctrl-v": "vim::ToggleVisualBlock",
@@ -241,123 +235,36 @@
}
],
// Count support
- "1": [
- "vim::Number",
- 1
- ],
- "2": [
- "vim::Number",
- 2
- ],
- "3": [
- "vim::Number",
- 3
- ],
- "4": [
- "vim::Number",
- 4
- ],
- "5": [
- "vim::Number",
- 5
- ],
- "6": [
- "vim::Number",
- 6
- ],
- "7": [
- "vim::Number",
- 7
- ],
- "8": [
- "vim::Number",
- 8
- ],
- "9": [
- "vim::Number",
- 9
- ],
+ "1": ["vim::Number", 1],
+ "2": ["vim::Number", 2],
+ "3": ["vim::Number", 3],
+ "4": ["vim::Number", 4],
+ "5": ["vim::Number", 5],
+ "6": ["vim::Number", 6],
+ "7": ["vim::Number", 7],
+ "8": ["vim::Number", 8],
+ "9": ["vim::Number", 9],
// window related commands (ctrl-w X)
- "ctrl-w left": [
- "workspace::ActivatePaneInDirection",
- "Left"
- ],
- "ctrl-w right": [
- "workspace::ActivatePaneInDirection",
- "Right"
- ],
- "ctrl-w up": [
- "workspace::ActivatePaneInDirection",
- "Up"
- ],
- "ctrl-w down": [
- "workspace::ActivatePaneInDirection",
- "Down"
- ],
- "ctrl-w h": [
- "workspace::ActivatePaneInDirection",
- "Left"
- ],
- "ctrl-w l": [
- "workspace::ActivatePaneInDirection",
- "Right"
- ],
- "ctrl-w k": [
- "workspace::ActivatePaneInDirection",
- "Up"
- ],
- "ctrl-w j": [
- "workspace::ActivatePaneInDirection",
- "Down"
- ],
- "ctrl-w ctrl-h": [
- "workspace::ActivatePaneInDirection",
- "Left"
- ],
- "ctrl-w ctrl-l": [
- "workspace::ActivatePaneInDirection",
- "Right"
- ],
- "ctrl-w ctrl-k": [
- "workspace::ActivatePaneInDirection",
- "Up"
- ],
- "ctrl-w ctrl-j": [
- "workspace::ActivatePaneInDirection",
- "Down"
- ],
- "ctrl-w shift-left": [
- "workspace::SwapPaneInDirection",
- "Left"
- ],
- "ctrl-w shift-right": [
- "workspace::SwapPaneInDirection",
- "Right"
- ],
- "ctrl-w shift-up": [
- "workspace::SwapPaneInDirection",
- "Up"
- ],
- "ctrl-w shift-down": [
- "workspace::SwapPaneInDirection",
- "Down"
- ],
- "ctrl-w shift-h": [
- "workspace::SwapPaneInDirection",
- "Left"
- ],
- "ctrl-w shift-l": [
- "workspace::SwapPaneInDirection",
- "Right"
- ],
- "ctrl-w shift-k": [
- "workspace::SwapPaneInDirection",
- "Up"
- ],
- "ctrl-w shift-j": [
- "workspace::SwapPaneInDirection",
- "Down"
- ],
+ "ctrl-w left": ["workspace::ActivatePaneInDirection", "Left"],
+ "ctrl-w right": ["workspace::ActivatePaneInDirection", "Right"],
+ "ctrl-w up": ["workspace::ActivatePaneInDirection", "Up"],
+ "ctrl-w down": ["workspace::ActivatePaneInDirection", "Down"],
+ "ctrl-w h": ["workspace::ActivatePaneInDirection", "Left"],
+ "ctrl-w l": ["workspace::ActivatePaneInDirection", "Right"],
+ "ctrl-w k": ["workspace::ActivatePaneInDirection", "Up"],
+ "ctrl-w j": ["workspace::ActivatePaneInDirection", "Down"],
+ "ctrl-w ctrl-h": ["workspace::ActivatePaneInDirection", "Left"],
+ "ctrl-w ctrl-l": ["workspace::ActivatePaneInDirection", "Right"],
+ "ctrl-w ctrl-k": ["workspace::ActivatePaneInDirection", "Up"],
+ "ctrl-w ctrl-j": ["workspace::ActivatePaneInDirection", "Down"],
+ "ctrl-w shift-left": ["workspace::SwapPaneInDirection", "Left"],
+ "ctrl-w shift-right": ["workspace::SwapPaneInDirection", "Right"],
+ "ctrl-w shift-up": ["workspace::SwapPaneInDirection", "Up"],
+ "ctrl-w shift-down": ["workspace::SwapPaneInDirection", "Down"],
+ "ctrl-w shift-h": ["workspace::SwapPaneInDirection", "Left"],
+ "ctrl-w shift-l": ["workspace::SwapPaneInDirection", "Right"],
+ "ctrl-w shift-k": ["workspace::SwapPaneInDirection", "Up"],
+ "ctrl-w shift-j": ["workspace::SwapPaneInDirection", "Down"],
"ctrl-w g t": "pane::ActivateNextItem",
"ctrl-w ctrl-g t": "pane::ActivateNextItem",
"ctrl-w g shift-t": "pane::ActivatePrevItem",
@@ -379,14 +286,8 @@
"ctrl-w ctrl-q": "pane::CloseAllItems",
"ctrl-w o": "workspace::CloseInactiveTabsAndPanes",
"ctrl-w ctrl-o": "workspace::CloseInactiveTabsAndPanes",
- "ctrl-w n": [
- "workspace::NewFileInDirection",
- "Up"
- ],
- "ctrl-w ctrl-n": [
- "workspace::NewFileInDirection",
- "Up"
- ],
+ "ctrl-w n": ["workspace::NewFileInDirection", "Up"],
+ "ctrl-w ctrl-n": ["workspace::NewFileInDirection", "Up"],
"-": "pane::RevealInProjectPanel"
}
},
@@ -402,21 +303,12 @@
"context": "Editor && vim_mode == normal && vim_operator == none && !VimWaiting",
"bindings": {
".": "vim::Repeat",
- "c": [
- "vim::PushOperator",
- "Change"
- ],
+ "c": ["vim::PushOperator", "Change"],
"shift-c": "vim::ChangeToEndOfLine",
- "d": [
- "vim::PushOperator",
- "Delete"
- ],
+ "d": ["vim::PushOperator", "Delete"],
"shift-d": "vim::DeleteToEndOfLine",
"shift-j": "vim::JoinLines",
- "y": [
- "vim::PushOperator",
- "Yank"
- ],
+ "y": ["vim::PushOperator", "Yank"],
"shift-y": "vim::YankLine",
"i": "vim::InsertBefore",
"shift-i": "vim::InsertFirstNonWhitespace",
@@ -447,10 +339,7 @@
],
"*": "vim::MoveToNext",
"#": "vim::MoveToPrev",
- "r": [
- "vim::PushOperator",
- "Replace"
- ],
+ "r": ["vim::PushOperator", "Replace"],
"s": "vim::Substitute",
"shift-s": "vim::SubstituteLine",
"> >": "editor::Indent",
@@ -462,10 +351,7 @@
{
"context": "Editor && VimCount",
"bindings": {
- "0": [
- "vim::Number",
- 0
- ]
+ "0": ["vim::Number", 0]
}
},
{
@@ -569,22 +455,10 @@
"shift-i": "vim::InsertBefore",
"shift-a": "vim::InsertAfter",
"shift-j": "vim::JoinLines",
- "r": [
- "vim::PushOperator",
- "Replace"
- ],
- "ctrl-c": [
- "vim::SwitchMode",
- "Normal"
- ],
- "escape": [
- "vim::SwitchMode",
- "Normal"
- ],
- "ctrl-[": [
- "vim::SwitchMode",
- "Normal"
- ],
+ "r": ["vim::PushOperator", "Replace"],
+ "ctrl-c": ["vim::SwitchMode", "Normal"],
+ "escape": ["vim::SwitchMode", "Normal"],
+ "ctrl-[": ["vim::SwitchMode", "Normal"],
">": "editor::Indent",
"<": "editor::Outdent",
"i": [
@@ -625,14 +499,8 @@
"bindings": {
"tab": "vim::Tab",
"enter": "vim::Enter",
- "escape": [
- "vim::SwitchMode",
- "Normal"
- ],
- "ctrl-[": [
- "vim::SwitchMode",
- "Normal"
- ]
+ "escape": ["vim::SwitchMode", "Normal"],
+ "ctrl-[": ["vim::SwitchMode", "Normal"]
}
},
{