dots-of-war/files/.config/wezterm/config.fnl
2021-04-04 14:09:13 +02:00

68 lines
2.3 KiB
Fennel

(local wezterm (require "wezterm"))
(fn string? [x] (= "string" (type x)))
(fn gen-keys [entries]
(icollect [_ x (pairs entries)]
{ :mods (. x 1)
:key (. x 2)
:action (let [action (. x 3)]
(if (string? action) action (wezterm.action action)))}))
(fn merge [a b]
(let [merged {}]
(each [k v (pairs a)] (tset merged k v))
(each [k v (pairs b)] (tset merged k v))
merged))
(local color-theme
{ :background "#282828"
:background-dark "#1d2021"
:background-light "#3c3836"
:foreground "#ebdbb2"
:cursor_bg "#8ec07c"
:cursor_border "#8ec07c"
:cursor_fg "#282828"
:selection_bg "#e6d4a3"
:selection_fg "#534a42"
:ansi [ "#282828" "#cc241d" "#98971a" "#d79921" "#458588" "#b16286" "#689d6a" "#a89984"]
:brights [ "#928374" "#fb4934" "#b8bb26" "#fabd2f" "#83a598" "#d3869b" "#8ec07c" "#ebdbb2"]
:accent "#689d6a"})
{ :font (wezterm.font "Terminus (TTF)")
:hide_tab_bar_if_only_one_tab true
:scrollback_lines 5000
:line_height 0.91
:window_padding { :left 20 :right 20 :top 20 :bottom 20}
:leader { :mods "CTRL" :key "a" :timeout_milliseconds 500}
:keys
(gen-keys
[ [:CTRL :+ "IncreaseFontSize"]
[:LEADER :n "SpawnWindow"]
[:LEADER :f "TogglePaneZoomState"]
[:LEADER :p "ShowLauncher"]
[:LEADER :t { :SpawnTab "CurrentPaneDomain"}]
[:LEADER :c { :CloseCurrentTab {:confirm false}}]
[:LEADER :l { :ActivateTabRelative 1}]
[:LEADER :h { :ActivateTabRelative -1}]
[:LEADER :v { :SplitVertical {:domain "CurrentPaneDomain"}}]
[:LEADER :b { :SplitHorizontal {:domain "CurrentPaneDomain"}}]
[:LEADER :s { :Search {:CaseInSensitiveString ""}}]
[:CTRL :LeftArrow { :ActivatePaneDirection "Left"}]
[:CTRL :RightArrow { :ActivatePaneDirection "Right"}]
[:CTRL :DownArrow { :ActivatePaneDirection "Down"}]
[:CTRL :UpArrow { :ActivatePaneDirection "Up"}]])
:colors
(merge color-theme
{ :tab_bar
{ :background color-theme.background
:active_tab { :bg_color color-theme.accent :fg_color color-theme.background}
:inactive_tab { :bg_color color-theme.background-light :fg_color color-theme.accent}
:inactive_tab_hover { :bg_color color-theme.background-dark :fg_color color-theme.accent :italic false}}})}