epic fennel wezterm

This commit is contained in:
elkowar 2021-04-04 14:09:13 +02:00
parent 4b1dd4ea46
commit 74a7ee0f20
6 changed files with 3956 additions and 83 deletions

View file

@ -1,4 +1,4 @@
{
"optOut": false,
"lastUpdateCheck": 1616428132450
"lastUpdateCheck": 1617355353140
}

View file

@ -1,18 +0,0 @@
# Gruvbox
[colors]
foreground = "#ebdbb2"
background = "#282828"
cursor_bg = "#8ec07c"
cursor_border = "#8ec07c"
cursor_fg = "#282828"
selection_bg = "#e6d4a3"
selection_fg = "#534a42"
ansi = ["#282828", "#cc241d", "#b8bb26", "#fabd2f", "#83a598", "#d3869b", "#8ec07c", "#ebdbb2"]
brights = ["#98971a", "#d79921", "#458588", "#b16286", "#689d6a", "#a89984", "#928374", "#fb4934"]
[[tab_bar]]
background = "#282828"
active_tab.bg_color = "#8ec07c"

View file

@ -0,0 +1,68 @@
(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}}})}

File diff suppressed because it is too large Load diff

View file

View file

@ -1,65 +1,5 @@
local wezterm = require 'wezterm'
return {
color_scheme = "gruvbox",
font = wezterm.font("Terminus (TTF)"),
local fennel = require("./fennel")
fennel.path = fennel.path .. ";.config/wezterm/?.fnl"
table.insert(package.loaders or package.searchers, fennel.searcher)
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 = { key="a", mods="CTRL", timeout_milliseconds=500 },
keys = {
{key="+", mods="CTRL", action="IncreaseFontSize"},
{key="t", mods="LEADER", action=wezterm.action{SpawnTab="CurrentPaneDomain"}},
{key="c", mods="LEADER", action=wezterm.action{CloseCurrentTab={confirm=false}}},
{key="l", mods="LEADER", action=wezterm.action{ActivateTabRelative=1}},
{key="h", mods="LEADER", action=wezterm.action{ActivateTabRelative=-1}},
{key="v", mods="LEADER", action=wezterm.action{SplitVertical={domain="CurrentPaneDomain"}}},
{key="b", mods="LEADER", action=wezterm.action{SplitHorizontal={domain="CurrentPaneDomain"}}},
{key="n", mods="LEADER", action="SpawnWindow"},
{key="f", mods="LEADER", action="TogglePaneZoomState"},
{key="p", mods="LEADER", action="ShowLauncher"},
{key="s", mods="LEADER", action=wezterm.action{Search={CaseInSensitiveString=""}}},
{key="LeftArrow", mods="CTRL", action=wezterm.action{ActivatePaneDirection="Left"}},
{key="RightArrow", mods="CTRL", action=wezterm.action{ActivatePaneDirection="Right"}},
{key="DownArrow", mods="CTRL", action=wezterm.action{ActivatePaneDirection="Down"}},
{key="UpArrow", mods="CTRL", action=wezterm.action{ActivatePaneDirection="Up"}},
},
colors = {
background = "#282828",
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"},
tab_bar = {
background = "#282828",
active_tab = {
bg_color = "#689D6A",
fg_color = "#282828"
},
inactive_tab = {
bg_color = "#3C3836",
fg_color = "#8ec07c"
},
inactive_tab_hover = {
bg_color = "#1d2021",
fg_color = "#8ec07c",
italic = false
}
}
}
}
return require("config")