user/settings/zed.nix (view raw)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 | { config, pkgs, lib, ... }: { programs.zed-editor = { enable = true; installRemoteServer = true; userSettings = { base_keymap = "Emacs"; vim_mode = true; tab_size = 2; tab_bar = { show = true; show_nav_history_buttons = false; show_tab_bar_buttons = false; }; toolbar = { breadcrumbs = false; quick_actions = false; selections_menu = false; }; theme = { mode = "system"; light = "One Light"; dark = "One Dark"; }; cursor_blink = false; current_line_highlight = "gutter"; indent_guides.enabled = false; git = { git_gutter = "hide"; inline_blame.enabled = false; }; gutter = { runnables = false; breakpoints = false; folds = false; }; pane_split_direction_vertical = "right"; use_smartcase_search = true; seed_search_query_from_cursor = "always"; inlay_hints = { enabled = true; show_type_hints = true; show_parameter_hints = false; }; file_types = { "Shell Script" = [ "envrc" ]; }; project_panel = { entry_spacing = "standard"; file_icons = false; folder_icons = false; indent_size = 16; }; preview_tabs.enabled = false; collaboration_panel.button = false; vim = { toggle_relative_line_numbers = true; }; }; userKeymaps = [ { context = "VimControl && !menu"; bindings = { "alt-x" = "command_palette::Toggle"; "," = null; ", f f" = "file_finder::Toggle"; ", b b" = "file_finder::Toggle"; ", f s" = "workspace::Save"; ", p" = "projects::OpenRecent"; ", r" = "editor::Rename"; ", w d" = "editor::GoToDefinitionSplit"; ", w g d" = "editor::GoToDefinitionSplit"; ", w shift-d" = "editor::GoToTypeDefinitionSplit"; ", w g shift-d" = "editor::GoToTypeDefinitionSplit"; ", w space" = "editor::OpenExcerptsSplit"; ", w g space" = "editor::OpenExcerptsSplit"; ", b x" = "pane::CloseActiveItem"; ", q" = "pane::CloseActiveItem"; }; } { context = "ProjectPanel || CollabPanel || OutlinePanel || ChatPanel || VimControl || EmptyPane || SharedScreen || MarkdownPreview || KeyContextView"; bindings = { ", w" = null; ", w left" = "workspace::ActivatePaneLeft"; ", w right" = "workspace::ActivatePaneRight"; ", w up" = "workspace::ActivatePaneUp"; ", w down" = "workspace::ActivatePaneDown"; ", w h" = "workspace::ActivatePaneLeft"; ", w l" = "workspace::ActivatePaneRight"; ", w k" = "workspace::ActivatePaneUp"; ", w j" = "workspace::ActivatePaneDown"; ", w ctrl-h" = "workspace::ActivatePaneLeft"; ", w ctrl-l" = "workspace::ActivatePaneRight"; ", w ctrl-k" = "workspace::ActivatePaneUp"; ", w ctrl-j" = "workspace::ActivatePaneDown"; ", w shift-left" = "workspace::SwapPaneLeft"; ", w shift-right" = "workspace::SwapPaneRight"; ", w shift-up" = "workspace::SwapPaneUp"; ", w shift-down" = "workspace::SwapPaneDown"; ", w shift-h" = "workspace::SwapPaneLeft"; ", w shift-l" = "workspace::SwapPaneRight"; ", w shift-k" = "workspace::SwapPaneUp"; ", w shift-j" = "workspace::SwapPaneDown"; ", w 1" = [ "workspace::ActivatePane" 0 ]; ", w 2" = [ "workspace::ActivatePane" 1 ]; ", w 3" = [ "workspace::ActivatePane" 2 ]; ", w 4" = [ "workspace::ActivatePane" 3 ]; ", w 5" = [ "workspace::ActivatePane" 4 ]; ", w 6" = [ "workspace::ActivatePane" 5 ]; ", w 7" = [ "workspace::ActivatePane" 6 ]; ", w 8" = [ "workspace::ActivatePane" 7 ]; ", w 9" = [ "workspace::ActivatePane" 8 ]; ", w >" = "vim::ResizePaneRight"; ", w <" = "vim::ResizePaneLeft"; ", w -" = "vim::ResizePaneDown"; ", w +" = "vim::ResizePaneUp"; ", w _" = "vim::MaximizePane"; ", w =" = "vim::ResetPaneSizes"; ", w g t" = "pane::ActivateNextItem"; ", w ctrl-g t" = "pane::ActivateNextItem"; ", w g shift-t" = "pane::ActivatePreviousItem"; ", w ctrl-g shift-t" = "pane::ActivatePreviousItem"; ", w w" = "workspace::ActivateNextPane"; ", w p" = "workspace::ActivatePreviousPane"; ", w ctrl-p" = "workspace::ActivatePreviousPane"; ", w shift-w" = "workspace::ActivatePreviousPane"; ", w v" = "pane::SplitVertical"; ", w ctrl-v" = "pane::SplitVertical"; ", w s" = "pane::SplitHorizontal"; ", w shift-s" = "pane::SplitHorizontal"; ", w ctrl-s" = "pane::SplitHorizontal"; ", w c" = "pane::CloseAllItems"; ", w ctrl-c" = "pane::CloseAllItems"; ", w q" = "pane::CloseAllItems"; ", w ctrl-q" = "pane::CloseAllItems"; ", w o" = "workspace::CloseInactiveTabsAndPanes"; ", w ctrl-o" = "workspace::CloseInactiveTabsAndPanes"; ", w n" = "workspace::NewFileSplitHorizontal"; ", w ctrl-n" = "workspace::NewFileSplitHorizontal"; }; } ]; }; } |