This commit is contained in:
Sebastian Moser
2026-05-18 18:22:45 +02:00
parent 4a62c235f1
commit 5b895c54dc
31 changed files with 9569 additions and 323 deletions

29
zed/debug.json Normal file
View File

@@ -0,0 +1,29 @@
// Some example tasks for common languages.
//
// For more documentation on how to configure debug tasks,
// see: https://zed.dev/docs/debugger
[
{
"label": "Debug active Python file",
"adapter": "Debugpy",
"program": "$ZED_FILE",
"request": "launch",
"cwd": "$ZED_WORKTREE_ROOT",
},
{
"label": "Debug active JavaScript file",
"adapter": "JavaScript",
"program": "$ZED_FILE",
"request": "launch",
"cwd": "$ZED_WORKTREE_ROOT",
"type": "pwa-node",
},
{
"label": "JavaScript debug terminal",
"adapter": "JavaScript",
"request": "launch",
"cwd": "$ZED_WORKTREE_ROOT",
"console": "integratedTerminal",
"type": "pwa-node",
},
]

209
zed/keymap.json Normal file
View File

@@ -0,0 +1,209 @@
// Zed keymap
//
// For information on binding keys, see the Zed
// documentation: https://zed.dev/docs/key-bindings
//
// To see the default key bindings run `zed: open default keymap`
// from the command palette.
[
{
"bindings": {
"ctrl-f": "diagnostics::ToggleDiagnosticsRefresh",
"ctrl-e": "file_finder::Toggle",
"ctrl-p": "command_palette::Toggle",
"ctrl-k": "menu::SelectPrevious",
"ctrl-j": "menu::SelectNext",
"ctrl-tab": "pane::ActivateNextItem",
"ctrl-shift-tab": "pane::ActivatePreviousItem",
"ctrl-w": "pane::CloseActiveItem",
"ctrl-shift-w": "pane::ReopenClosedItem",
"ctrl-v": "editor::Paste",
"ctrl-c": "editor::Copy",
"ctrl-t": ["workspace::SendKeystrokes", "ctrl-# ctrl-e"],
"ctrl-shift-p": "pane::RevealInProjectPanel",
"ctrl-shift-a": "workspace::ToggleRightDock",
"ctrl-shift-t": "terminal_panel::Toggle",
// for send keystrokes
"ctrl-#": "pane::ActivateLastItem",
"ctrl-shift-#": "project_panel::Open",
"ctrl-shift-?": "workspace::ToggleLeftDock",
},
},
{
"context": "Editor",
"bindings": {
"ctrl-h": "outline::Toggle",
},
},
{
"context": "KeymapEditor",
"bindings": {
"ctrl-f": "keymap_editor::ToggleKeystrokeSearch",
},
},
{
"context": "ProjectPanel",
"bindings": {
//"l": "project_panel::Open",
"enter": ["workspace::SendKeystrokes", "ctrl-shift-# ctrl-shift-?"],
"ctrl-shift-p": "workspace::ToggleLeftDock",
//"a": "project_panel::UnfoldDirectory",
//"b": "project_panel:entry"
},
},
{
"context": "Editor && showing_completions",
"bindings": {
"ctrl-j": "editor::ContextMenuNext",
"ctrl-k": "editor::ContextMenuPrevious",
},
},
{
"context": "Workspace",
"bindings": {
//"ctrl-shift-tab": ["tab_switcher::Toggle", { "select_last": true }]
//"ctrl-shift-tab": ["tab_switcher::Toggle", { "select_last": true }]
},
},
{
"context": "Editor && vim_mode == insert",
"bindings": {
// "j k": "vim::NormalBefore"
},
},
{
"context": "vim_mode == insert",
"bindings": {
"ctrl-dead_acute ctrl-acute": "vim::InsertFromBelow",
},
},
{
"context": "(VimControl && !menu)",
"bindings": {
"ctrl-dead_acute ctrl-acute": "vim::LineDown",
},
},
{
"context": "showing_completions",
"bindings": {
"ctrl-dead_acute ctrl-acute": "vim::LineDown",
},
},
{
"context": "vim_mode == literal",
"bindings": {
"ctrl-dead_acute ctrl-acute": ["vim::Literal", ["ctrl-e", "\u0005"]],
},
},
{
"context": "Terminal",
"bindings": {
"ctrl-dead_acute ctrl-acute": ["terminal::SendKeystroke", "ctrl-e"],
"ctrl-j": ["terminal::SendKeystroke", "down"],
"ctrl-k": ["terminal::SendKeystroke", "up"],
"ctrl-h": ["terminal::SendKeystroke", "left"],
"ctrl-l": ["terminal::SendKeystroke", "right"],
"ctrl-t": "terminal_panel::ToggleFocus",
},
},
{
"context": "((os != macos && Editor) && edit_prediction_conflict)",
"bindings": {
//"ctrl-l": "editor::AcceptEditPrediction"
},
},
{
"context": "((os != macos && Editor) && edit_prediction_conflict)",
"bindings": {
"ctrl-i": "editor::AcceptEditPrediction",
},
},
{
"context": "(Editor && edit_prediction)",
"bindings": {
"ctrl-i": "editor::AcceptEditPrediction",
},
},
{
"context": "Editor",
"bindings": {
"ctrl-shift-b": "editor::ToggleBreakpoint",
},
},
{
"context": "vim_mode == visual",
"bindings": {
"#": [
"vim::MoveToNext",
{
"partial_word": true,
},
],
},
},
{
"context": "(VimControl && !menu)",
"bindings": {
"#": [
"vim::MoveToNext",
{
"partial_word": true,
},
],
},
},
{
"context": "(Diagnostics && Editor)",
"bindings": {},
},
{
"context": "(VimControl && !menu)",
"bindings": {
"g a": "editor::Hover"
}
},
{
"bindings": {
"ctrl-m ctrl-t": "pane::TogglePreviewTab"
}
},
{
"context": "Workspace",
"bindings": {
"ctrl-m ctrl-r": "task::Spawn"
}
},
{
"context": "(VimControl && !menu)",
"bindings": {
"j": [
"vim::Down",
{
"display_lines": true
}
]
}
},
{
"context": "(VimControl && !menu)",
"bindings": {
"k": [
"vim::Up",
{
"display_lines": true
}
]
}
},
{
"bindings": {
"ctrl-m ctrl-h": "editor::SwitchSourceHeader"
}
},
{
"bindings": {
"ctrl-m ctrl-s": "workspace::NewSearch"
}
}
]

182
zed/settings.json Normal file
View File

@@ -0,0 +1,182 @@
// Zed settings
//
// For information on how to configure Zed, see the Zed
// documentation: https://zed.dev/docs/configuring-zed
//
// To see all of Zed's default settings without changing your
// custom settings, run `zed: open default settings` from the
// command palette (cmd-shift-p / ctrl-shift-p)
{
"cli_default_open_behavior": "new_window",
"project_panel": {
"dock": "left"
},
"collaboration_panel": {
"dock": "left"
},
"git_panel": {
"dock": "left"
},
"ssh_connections": [
{
"host": "nico",
"args": [],
"projects": [
{
"paths": [
"/root/work/c2vi/a1-vibe"
]
},
{
"paths": [
"/root/work/mize"
]
}
]
},
{
"host": "nico",
"args": [],
"projects": []
},
{
"host": "nico",
"args": [],
"projects": []
}
],
"vim": {
"use_system_clipboard": "never"
},
"ui_font_weight": 250.0,
"agent_ui_font_size": 14.0,
"outline_panel": {
"dock": "left",
"button": true,
},
"file_scan_exclusions": ["/gitignore/**", "**/node_modules/**"],
"tab_size": 2,
"agent": {
"dock": "right",
"default_profile": "minimal",
"default_model": {
"provider": "perplexity",
"model": "sonar",
},
},
"language_models": {
"openai_compatible": {
"perplexity": {
"api_url": "https://api.perplexity.ai",
"available_models": [
{
"name": "sonar",
"display_name": null,
"max_tokens": 200000,
"max_output_tokens": 32000,
"max_completion_tokens": 200000,
"capabilities": {
"tools": false,
"images": false,
"parallel_tool_calls": false,
"prompt_cache_key": false,
},
},
],
},
},
},
"agent_servers": {
"your_agent": {
"type": "custom",
"command": "path_to_executable",
"args": [],
"env": {},
},
},
"vim_mode": true,
"ui_font_size": 16.0,
"buffer_font_size": 19.0,
"theme": {
"mode": "system",
"light": "Gruvbox Dark Hard",
"dark": "One Dark",
},
"toolbar": {
"breadcrumbs": false,
"code_actions": false,
"quick_actions": false,
"agent_review": false,
"selections_menu": false,
},
"title_bar": {
"show_user_menu": false,
"show_branch_name": false,
"show_onboarding_banner": false,
"show_project_items": false,
"show_sign_in": false,
"show_user_picture": false,
"show_menus": false,
},
"languages": {
"Nix": {
"enable_language_server": false,
"language_servers": ["nixd", "!nil"],
},
"C": {
"language_servers": ["clangd"],
},
},
"file_finder": {
"modal_max_width": "large",
},
"preview_tabs": {
"enable_preview_from_file_finder": true,
"enable_keep_preview_on_code_navigation": true,
},
"relative_line_numbers": "enabled",
"remove_trailing_whitespace_on_save": false,
"lsp": {
"clangd": {
"binary": {
"path": "/home/me/work/path-extra/clangd",
"arguments": [],
},
},
// https://github.com/zed-extensions/nix/tree/main?tab=readme-ov-file
"nixd": {
"settings": {
// see https://github.com/nix-community/nixd/blob/main/nixd/docs/configuration.md
// for what configuration is possible
"formatting": {
//"command": [ "nixpkgs-fmt" ],
//"command": [ "alejandra" ],
"command": ["nixfmt"],
},
"nixpkgs": {
"expr": "import <nixpkgs> { }",
},
"options": {
// If this is omitted, default search path (<nixpkgs>) will be used.
"nixos": {
// This name "nixos" could be arbitrary.
// The expression to eval, interpret it as option declarations.
"expr": "(builtins.getFlake \"/home/me/work/config\").nixosConfigurations._lsp_dummy.options",
},
// for home manager as nixos module we must get the suboptions
// https://discourse.nixos.org/t/nixd-home-manager-completion-and-standalone-home-manager-outputs/55610/2
"home-manager": {
// This name could be arbitrary.
"expr": "(builtins.getFlake \"/home/me/work/config\").nixosConfigurations._lsp_dummy.options.home-manager.users.type.getSubOptions []",
},
// By default there is no home-manager options completion, thus you can add this entry.
//"home-manager": {
// "expr": "(builtins.getFlake \"/home/melektron/goarnix\").homeConfigurations.\"lsp_dummy\".options"
//}
},
},
},
},
}

182
zed/settings_backup.json Normal file
View File

@@ -0,0 +1,182 @@
// Zed settings
//
// For information on how to configure Zed, see the Zed
// documentation: https://zed.dev/docs/configuring-zed
//
// To see all of Zed's default settings without changing your
// custom settings, run `zed: open default settings` from the
// command palette (cmd-shift-p / ctrl-shift-p)
{
"cli_default_open_behavior": "new_window",
"project_panel": {
"dock": "left"
},
"collaboration_panel": {
"dock": "left"
},
"git_panel": {
"dock": "left"
},
"ssh_connections": [
{
"host": "nico",
"args": [],
"projects": [
{
"paths": [
"/root/work/c2vi/a1-vibe"
]
},
{
"paths": [
"/root/work/mize"
]
}
]
},
{
"host": "nico",
"args": [],
"projects": []
},
{
"host": "nico",
"args": [],
"projects": []
}
],
"vim": {
"use_system_clipboard": "never"
},
"ui_font_weight": 250.0,
"agent_ui_font_size": 14.0,
"outline_panel": {
"dock": "left",
"button": true,
},
"file_scan_exclusions": ["/gitignore/**", "**/node_modules/**"],
"tab_size": 2,
"agent": {
"dock": "right",
"default_profile": "minimal",
"default_model": {
"provider": "perplexity",
"model": "sonar",
},
},
"language_models": {
"openai_compatible": {
"perplexity": {
"api_url": "https://api.perplexity.ai",
"available_models": [
{
"name": "sonar",
"display_name": null,
"max_tokens": 200000,
"max_output_tokens": 32000,
"max_completion_tokens": 200000,
"capabilities": {
"tools": false,
"images": false,
"parallel_tool_calls": false,
"prompt_cache_key": false,
},
},
],
},
},
},
"agent_servers": {
"your_agent": {
"type": "custom",
"command": "path_to_executable",
"args": [],
"env": {},
},
},
"vim_mode": true,
"ui_font_size": 16.0,
"buffer_font_size": 19.0,
"theme": {
"mode": "system",
"light": "Gruvbox Dark Hard",
"dark": "One Dark",
},
"toolbar": {
"breadcrumbs": false,
"code_actions": false,
"quick_actions": false,
"agent_review": false,
"selections_menu": false,
},
"title_bar": {
"show_user_menu": false,
"show_branch_name": false,
"show_onboarding_banner": false,
"show_project_items": false,
"show_sign_in": false,
"show_user_picture": false,
"show_branch_icon": false,
"show_menus": false,
},
"languages": {
"Nix": {
"language_servers": ["nixd", "!nil"],
},
"C": {
"language_servers": ["clangd"],
},
},
"file_finder": {
"modal_max_width": "large",
},
"preview_tabs": {
"enable_preview_from_file_finder": true,
"enable_keep_preview_on_code_navigation": true,
},
"relative_line_numbers": "enabled",
"remove_trailing_whitespace_on_save": false,
"lsp": {
"clangd": {
"binary": {
"path": "/home/me/work/path-extra/clangd",
"arguments": [],
},
},
// https://github.com/zed-extensions/nix/tree/main?tab=readme-ov-file
"nixd": {
"settings": {
// see https://github.com/nix-community/nixd/blob/main/nixd/docs/configuration.md
// for what configuration is possible
"formatting": {
//"command": [ "nixpkgs-fmt" ],
//"command": [ "alejandra" ],
"command": ["nixfmt"],
},
"nixpkgs": {
"expr": "import <nixpkgs> { }",
},
"options": {
// If this is omitted, default search path (<nixpkgs>) will be used.
"nixos": {
// This name "nixos" could be arbitrary.
// The expression to eval, interpret it as option declarations.
"expr": "(builtins.getFlake \"/home/me/work/config\").nixosConfigurations._lsp_dummy.options",
},
// for home manager as nixos module we must get the suboptions
// https://discourse.nixos.org/t/nixd-home-manager-completion-and-standalone-home-manager-outputs/55610/2
"home-manager": {
// This name could be arbitrary.
"expr": "(builtins.getFlake \"/home/me/work/config\").nixosConfigurations._lsp_dummy.options.home-manager.users.type.getSubOptions []",
},
// By default there is no home-manager options completion, thus you can add this entry.
//"home-manager": {
// "expr": "(builtins.getFlake \"/home/melektron/goarnix\").homeConfigurations.\"lsp_dummy\".options"
//}
},
},
},
},
}

54
zed/tasks.json Normal file
View File

@@ -0,0 +1,54 @@
// Project tasks configuration. See https://zed.dev/docs/tasks for documentation.
//
// Example:
[
{
"label": "Example task",
"command": "for i in {1..5}; do echo \"Hello $i/5\"; sleep 1; done",
//"args": [],
// Env overrides for the command, will be appended to the terminal's environment from the settings.
"env": { "foo": "bar" },
// Current working directory to spawn the command into, defaults to current project root.
//"cwd": "/path/to/working/directory",
// Whether to use a new terminal tab or reuse the existing one to spawn the process, defaults to `false`.
"use_new_terminal": false,
// Whether to allow multiple instances of the same task to be run, or rather wait for the existing ones to finish, defaults to `false`.
"allow_concurrent_runs": false,
// 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)
// * `no_focus` — always show the task's pane, add the task's tab in it, but don't focus it
// * `never` — do not alter focus, but still add/reuse the task's tab in its pane
"reveal": "always",
// 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
"reveal_target": "dock",
// 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`
"hide": "never",
// Which shell to use when running a task inside the terminal.
// May take 3 values:
// 1. (default) Use the system's default terminal configuration in /etc/passwd
// "shell": "system"
// 2. A program:
// "shell": {
// "program": "sh"
// }
// 3. A program with arguments:
// "shell": {
// "with_arguments": {
// "program": "/bin/bash",
// "args": ["--login"]
// }
// }
"shell": "system",
// Whether to show the task line in the output of the spawned task, defaults to `true`.
"show_summary": true,
// Whether to show the command line in the output of the spawned task, defaults to `true`.
"show_command": true,
// Represents the tags for inline runnable indicators, or spawning multiple tasks at once.
// "tags": []
},
]