77 lines
1.5 KiB
Lua
77 lines
1.5 KiB
Lua
local wezterm = require("wezterm")
|
|
local helpers = require("helpers")
|
|
local projects = require("projects")
|
|
|
|
local M = {}
|
|
|
|
function M.apply_to_config(config)
|
|
config.leader = { key = "b", mods = "CTRL", timeout_milliseconds = 1000 }
|
|
|
|
config.keys = {
|
|
-- Window/Pane Management
|
|
{
|
|
key = "|",
|
|
mods = "LEADER",
|
|
action = wezterm.action.SplitPane({ direction = "Left", size = { Percent = 40 } }),
|
|
},
|
|
{
|
|
key = "-",
|
|
mods = "LEADER",
|
|
action = wezterm.action.SplitPane({ direction = "Down", size = { Percent = 30 } }),
|
|
},
|
|
{
|
|
key = "x",
|
|
mods = "LEADER",
|
|
action = wezterm.action.CloseCurrentPane({ confirm = true }),
|
|
},
|
|
{
|
|
mods = "LEADER",
|
|
key = "z",
|
|
action = wezterm.action.TogglePaneZoomState,
|
|
},
|
|
{
|
|
mods = "LEADER",
|
|
key = "u",
|
|
action = wezterm.action.PaneSelect({
|
|
mode = "SwapWithActive",
|
|
}),
|
|
},
|
|
-- Navigation
|
|
helpers.move_pane("j", "Down"),
|
|
helpers.move_pane("k", "Up"),
|
|
helpers.move_pane("h", "Left"),
|
|
helpers.move_pane("l", "Right"),
|
|
-- Workspaces
|
|
{
|
|
key = "s",
|
|
mods = "LEADER",
|
|
action = projects.choose(),
|
|
},
|
|
-- Misc
|
|
{
|
|
key = " ",
|
|
mods = "LEADER",
|
|
action = wezterm.action.ActivateCommandPalette,
|
|
},
|
|
{
|
|
key = "v",
|
|
mods = "LEADER",
|
|
action = wezterm.action.ActivateCopyMode,
|
|
},
|
|
{
|
|
key = "c",
|
|
mods = "LEADER",
|
|
action = wezterm.action.SpawnTab("CurrentPaneDomain"),
|
|
},
|
|
}
|
|
|
|
for i = 1, 8 do
|
|
table.insert(config.keys, {
|
|
key = tostring(i),
|
|
mods = "LEADER",
|
|
action = wezterm.action.ActivateTab(i - 1),
|
|
})
|
|
end
|
|
end
|
|
|
|
return M
|