diff --git a/config/zed/keymap.json b/config/zed/keymap.json index aae6526..551a4eb 100644 --- a/config/zed/keymap.json +++ b/config/zed/keymap.json @@ -15,12 +15,13 @@ "space l r": "editor::Rename", "space s p": "workspace::NewSearch", "space b e": "pane::ReopenClosedItem", - "space g g": "git::Branch", "space p p": "projects::OpenRecent", "ctrl-n": "menu::SelectNext", // Navigate down in lists (e.g., file finder, search results) "ctrl-p": "menu::SelectPrevious", // Navigate up in lists "ctrl-/": "editor::ToggleComments", "ctrl-space": "workspace::ToggleRightDock", + // task spawns + "space g g": ["task::Spawn", { "task_name": "gitu" }] } }, // VIM VISUAL MODE @@ -43,6 +44,11 @@ { "context": "Terminal", "bindings": { + "ctrl-w h": "workspace::ActivatePaneLeft", + "ctrl-w l": "workspace::ActivatePaneRight", + "ctrl-w k": "workspace::ActivatePaneUp", + "ctrl-w j": "workspace::ActivatePaneDown", + "ctrl-space": "workspace::ToggleRightDock", "ctrl-o": "workspace::NewTerminal", "ctrl-l": "pane::ActivateNextItem", diff --git a/config/zed/settings.json b/config/zed/settings.json index 328ccd2..df455c7 100644 --- a/config/zed/settings.json +++ b/config/zed/settings.json @@ -6,6 +6,7 @@ "telemetry": { "diagnostics": false, "metrics": false }, // Editor behavior + "gutter": { "line_numbers": true }, "use_on_type_format": true, "format_on_save": "off", "tab_size": 4, @@ -14,19 +15,15 @@ "show_whitespaces": "none", // Fonts & text rendering - "buffer_font_family": "Consolas", - "buffer_font_size": 14.5, + "buffer_font_family": "Hack Nerd Font", + "buffer_font_size": 14.8, "buffer_line_height": "comfortable", "buffer_font_features": { "liga": false }, // UI appearance - "ui_font_size": 14, + "ui_font_size": 17, "scrollbar": { "show": "never" }, - "theme": { - "mode": "dark", - "light": "Gruber Darker", - "dark": "Gruber Darker", - }, + "theme": "Kanagawa Wave", // Keybindings & modes "vim_mode": true, @@ -89,26 +86,15 @@ "button": false }, + // Git + "git": { + "inline_blame": { + "enabled": false + } + }, + // Language servers (LSP) "languages": { - "PHP": { - "language_servers": [ - "intelephense", - "!phpactor", - "!phptools", - "!outsourced", - "tailwindcss-language-server", - "..." - ] - }, - "Markdown": { - "language_servers": [ - "markdown-oxide", - "!tailwindcss-language-server", - "!json-language-server", - "..." - ] - }, "HTML": { "language_servers": ["!tailwindcss-language-server", "..."] }, @@ -123,6 +109,16 @@ }, "JSON": { "language_servers": ["!json-language-server", "..."] - } + }, + // "PHP": { + // "language_servers": [ + // "intelephense", + // "!phpactor", + // "!phptools", + // "!outsourced", + // "tailwindcss-language-server", + // "..." + // ] + // }, } } diff --git a/config/zed/tasks.json b/config/zed/tasks.json new file mode 100644 index 0000000..658ca6b --- /dev/null +++ b/config/zed/tasks.json @@ -0,0 +1,60 @@ +// 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": [] + }, + { + "label": "gitu", + "command": "gitu", + "use_new_terminal": true, + "reveal_target": "center", + "hide": "always" + } +]