Compare commits

..

4 Commits

Author SHA1 Message Date
34fd4bd6c9 nvim: more Go and Odin keys 2026-03-12 22:30:31 +01:00
389dbe5c9d nvim: add keys to search Go and Odin stdlib declarations 2026-03-12 08:54:47 +01:00
0d65fc0d2a nvim: back to \\ as main flash key, improve doc for highlights key 2026-03-08 21:11:50 +01:00
a9415caa6e nvim: add lupanbones colorscheme (my variant for zenbones)
- also add lupanbones colors for kitty and st
- remove zutty config
2026-03-08 21:11:50 +01:00
11 changed files with 292 additions and 89 deletions

View File

@@ -17,8 +17,6 @@ open_url_with qutebrowser
action_alias launch_tab_home launch --type tab --cwd=~ action_alias launch_tab_home launch --type tab --cwd=~
kitten_alias hints hints --hints-background-color red --hints-foreground-color white kitten_alias hints hints --hints-background-color red --hints-foreground-color white
cursor_trail 1
map ctrl+shift+6 no_op map ctrl+shift+6 no_op
map ctrl+shift+0 nth_window -1 map ctrl+shift+0 nth_window -1
@@ -68,6 +66,6 @@ map ctrl+alt+shift+w detach_window
map ctrl+alt+shift+x close_session . map ctrl+alt+shift+x close_session .
# BEGIN_KITTY_THEME # BEGIN_KITTY_THEME
# Flexoki (Dark) # Lupanbones-Dark
include current-theme.conf include current-theme.conf
# END_KITTY_THEME # END_KITTY_THEME

View File

@@ -0,0 +1,33 @@
# vim:ft=kitty
foreground #9da0af
background #1f212e
selection_foreground #808080
selection_background #4d5580
cursor #bf8040
cursor_text_color #1f212e
active_border_color #862d2d
inactive_border_color #4d5580
active_tab_foreground #9da0af
active_tab_background #4d5580
inactive_tab_foreground #1f212e
inactive_tab_background #808080
color1 #862d2d
color2 #3a783a
color3 #707010
color4 #345eb2
color5 #cc66cc
color6 #3a7878
color7 #a1a3aa
color8 #4d4d4d
color9 #c27070
color10 #40bf40
color11 #acac53
color12 #6b8ac7
color13 #8f248f
color14 #509595
color15 #dbdff0

View File

@@ -0,0 +1,34 @@
# vim:ft=kitty
foreground #1f212e
background #faf8f5
selection_foreground #1f212e
selection_background #a6c7f2
cursor #1f212e
cursor_text_color #faf8f5
active_border_color #862d2d
inactive_border_color #a6c7f2
active_tab_foreground #1f212e
active_tab_background #a6c7f2
inactive_tab_foreground #faf8f5
inactive_tab_background #808080
color0 #1f212e
color1 #862d2d
color2 #3a783a
color3 #707010
color4 #345eb2
color5 #cc66cc
color6 #3a7878
color7 #a1a3aa
color8 #73778c
color9 #c27070
color10 #40bf40
color11 #acac53
color12 #6b8ac7
color13 #8f248f
color14 #509595
color15 #dae4f1

View File

@@ -0,0 +1,55 @@
local colors_name = "lupanbones"
vim.g.colors_name = colors_name -- Required when defining a colorscheme
local lush = require "lush"
local hsluv = lush.hsluv -- Human-friendly hsl
local util = require "zenbones.util"
local bg = vim.o.background
-- Define a palette. Use `palette_extend` to fill unspecified colors
local palette
if bg == "light" then
palette = util.palette_extend({
bg = hsluv "#faf8f5",
fg = hsluv "#1f212e",
rose = hsluv "#bf8040",
leaf = hsluv "#3d8f66",
wood = hsluv "#acac53",
water = hsluv "#6b8ac7",
blossom = hsluv "#93806c",
sky = hsluv "#7461d1",
}, bg)
else
palette = util.palette_extend({
bg = hsluv "#1f212e",
fg = hsluv "#9da0af",
rose = hsluv "#bf8040",
leaf = hsluv "#3d8f66",
wood = hsluv "#d1d147",
water = hsluv "#6b8ac7",
blossom = hsluv "#93806c",
sky = hsluv "#7461d1",
}, bg)
end
-- Generate the lush specs using the generator util
local generator = require "zenbones.specs"
local base_specs = generator.generate(palette, bg, generator.get_global_config(colors_name, bg))
-- Optionally extend specs using Lush
local specs = lush.extends({ base_specs }).with(function()
return {
Statement { base_specs.Statement, fg = palette.rose },
String { fg = palette.leaf },
Special { fg = palette.water },
Type { fg = palette.sky, gui = "italic" },
Delimiter { fg = palette.blossom },
}
end)
-- Pass the specs to lush to apply
lush(specs)
-- Optionally set term colors
require("zenbones.term").apply_colors(palette)

View File

@@ -1,6 +1,6 @@
vim.pack.add({ "https://github.com/rmagatti/auto-session" }) vim.pack.add({ "https://github.com/rmagatti/auto-session" })
vim.keymap.set("n", "<leader>wp", "<cmd>AutoSession search<cr>") vim.keymap.set("n", "<leader>wy", "<cmd>AutoSession search<cr>")
local ok, sess = pcall(require, "auto-session") local ok, sess = pcall(require, "auto-session")
if ok then if ok then

View File

@@ -2,8 +2,10 @@ vim.pack.add({
"https://github.com/EdenEast/nightfox.nvim", "https://github.com/EdenEast/nightfox.nvim",
"https://github.com/rebelot/kanagawa.nvim", "https://github.com/rebelot/kanagawa.nvim",
"https://github.com/kepano/flexoki-neovim", "https://github.com/kepano/flexoki-neovim",
"https://github.com/rktjmp/lush.nvim",
"https://github.com/zenbones-theme/zenbones.nvim",
}) })
local cs = require("config.colorscheme") local cs = require("config.colorscheme")
cs.set_colorschemes("flexoki", "flexoki") cs.set_colorschemes("lupanbones", "lupanbones")
cs.update_colorscheme() cs.update_colorscheme()

View File

@@ -13,7 +13,7 @@ if ok then
local set = vim.keymap.set local set = vim.keymap.set
set({ "n", "x", "o" }, "<leader><space>", function() set({ "n", "x", "o" }, "\\", function()
require("flash").jump() require("flash").jump()
end, { desc = "Flash" }) end, { desc = "Flash" })
set({ "n", "x", "o" }, "=", function() set({ "n", "x", "o" }, "=", function()

View File

@@ -20,6 +20,45 @@ if ok then
} }
}) })
fzf.register_ui_select() fzf.register_ui_select()
local odin_pkg = "~/cloned/Odin"
local function go_root()
return vim.fn.trim(vim.fn.system("go env GOROOT"))
end
local go_root_pkg = nil
local function go_mod()
return vim.fs.joinpath(vim.fn.trim(vim.fn.system("go env GOPATH")), "pkg/mod")
end
local go_mod_pkg = nil
local function go_grep(cwd)
local input = vim.fn.input("Go grep declarations> ")
if #input == 0 then
return
end
local search1 = "^(func|type) .*(?<= )(?=[A-Z])[a-zA-Z0-9_]*" .. input .. "[a-zA-Z0-9_]*( |\\()"
local search2 = "^[\\t]+(?=[A-Z])[a-zA-Z0-9_]*" .. input .. "[a-zA-Z0-9_]* +="
local search = "(" .. search1 .. "|" .. search2 .. ")"
fzf.grep({
cwd = cwd,
cmd = "rg -P -g '*.go'",
search = search,
no_esc = true,
profile = 'ivy',
})
end
local function odin_grep(cwd)
local input = vim.fn.input("Odin grep declarations> ")
if #input == 0 then
return
end
local search = "^[ \\t]*[a-zA-Z0-9_]*" .. input .. "[a-zA-Z0-9_]* +::"
fzf.grep({
cwd = cwd,
cmd = "rg -g '*.odin'",
search = search,
no_esc = true,
profile = 'ivy',
})
end
local set = vim.keymap.set local set = vim.keymap.set
set("n", "<leader>ba", fzf.buffers, { desc = "FzfLua buffers" }) set("n", "<leader>ba", fzf.buffers, { desc = "FzfLua buffers" })
set("n", "<leader>bh", fzf.history, { desc = "FzfLua history" }) set("n", "<leader>bh", fzf.history, { desc = "FzfLua history" })
@@ -30,7 +69,7 @@ if ok then
set("n", "<leader>cf", fzf.complete_file, { desc = "FzfLua complete file" }) set("n", "<leader>cf", fzf.complete_file, { desc = "FzfLua complete file" })
set("n", "<leader>cF", fzf.complete_path, { desc = "FzfLua complete path" }) set("n", "<leader>cF", fzf.complete_path, { desc = "FzfLua complete path" })
set("n", "<leader>ch", fzf.command_history, { desc = "FzfLua command history" }) set("n", "<leader>ch", fzf.command_history, { desc = "FzfLua command history" })
set("n", "<leader>cH", fzf.highlights, { desc = "FzfLua highlights" }) set("n", "<leader>cH", fzf.highlights, { desc = "FzfLua color highlights" })
set("n", "<leader>cl", fzf.complete_line, { desc = "FzfLua complete line" }) set("n", "<leader>cl", fzf.complete_line, { desc = "FzfLua complete line" })
set("n", "<leader>co", fzf.nvim_options, { desc = "FzfLua nvim options" }) set("n", "<leader>co", fzf.nvim_options, { desc = "FzfLua nvim options" })
set("n", "<leader>cr", fzf.profiles, { desc = "FzfLua fzf profiles" }) set("n", "<leader>cr", fzf.profiles, { desc = "FzfLua fzf profiles" })
@@ -109,6 +148,80 @@ if ok then
set("n", "grs", fzf.lsp_type_sub, { desc = "Outgouing calls" }) set("n", "grs", fzf.lsp_type_sub, { desc = "Outgouing calls" })
set("n", "grp", fzf.lsp_type_super, { desc = "Outgouing calls" }) set("n", "grp", fzf.lsp_type_super, { desc = "Outgouing calls" })
set("n", "grt", fzf.lsp_typedefs, { desc = "Goto Type Definition" }) set("n", "grt", fzf.lsp_typedefs, { desc = "Goto Type Definition" })
set("n", "<leader>Gf", function()
fzf.files({ cwd = go_root(), cmd = "fd --type f -e go" })
end, { desc = "FzfLua Go files" })
set("n", "<leader>GF", function()
fzf.files({ cwd = go_mod(), cmd = "fd --type f -e go" })
end, { desc = "FzfLua Go mod files" })
set("n", "<leader>Gl", function()
fzf.files({ cmd = "fd --type f -e go" })
end, { desc = "FzfLua Go current dir files" })
set("n", "<leader>Gs", function()
go_grep(go_root())
end, { desc = "FzfLua Go grep declarations" })
set("n", "<leader>GS", function()
go_grep(go_mod())
end, { desc = "FzfLua Go grep mod declarations" })
set("n", "<leader>Gd", function()
go_grep(nil)
end, { desc = "FzfLua Go current dir grep declarations" })
set("n", "<leader>Gm", function()
go_grep(go_mod_pkg or go_mod())
end, { desc = "FzfLua Go grep mod declarations" })
set("n", "<leader>GM", function()
fzf.zoxide({
cmd = "fd '' --type d " .. vim.fn.shellescape(go_mod()) .. [[ | awk '{print "\t"$1}']],
actions = {
["enter"] = function(a)
go_mod_pkg = vim.fn.trim(a[1])
go_grep(go_mod_pkg)
end
}
})
end, { desc = "FzfLua Go select package and grep package declarations" })
set("n", "<leader>Gp", function()
go_grep(go_root_pkg or go_root())
end, { desc = "FzfLua Go grep package declarations" })
set("n", "<leader>GP", function()
fzf.zoxide({
cmd = "fd '' --type d " .. vim.fn.shellescape(go_root()) .. [[ | awk '{print "\t"$1}']],
actions = {
["enter"] = function(a)
go_root_pkg = vim.fn.trim(a[1])
go_grep(go_root_pkg)
end
}
})
end, { desc = "FzfLua Go select package and grep package declarations" })
set("n", "<leader>of", function()
fzf.files({ cwd = "~/cloned/Odin", cmd = "fd --type f -e odin" })
end, { desc = "FzfLua Odin files" })
set("n", "<leader>ol", function()
fzf.files({ cmd = "fd --type f -e odin" })
end, { desc = "FzfLua Odin current dir files" })
set("n", "<leader>os", function()
odin_grep("~/cloned/Odin")
end, { desc = "FzfLua Odin grep declarations" })
set("n", "<leader>od", function()
odin_grep(nil)
end, { desc = "FzfLua Odin grep declarations" })
set("n", "<leader>op", function()
odin_grep(odin_pkg)
end, { desc = "FzfLua Odin grep package declarations" })
set("n", "<leader>oP", function()
fzf.zoxide({
cmd = [[fd '' --type d ~/cloned/Odin | awk '{print "\t"$1}']],
actions = {
["enter"] = function(a)
odin_pkg = vim.fn.trim(a[1])
odin_grep(odin_pkg)
end
}
})
end, { desc = "FzfLua Odin select package and grep package declarations" })
else else
print("plugin fzf-lua missing") print("plugin fzf-lua missing")
end end

View File

@@ -41,6 +41,10 @@
"rev": "aef7f5cec0a40dbe7f3304214850c472e2264b10", "rev": "aef7f5cec0a40dbe7f3304214850c472e2264b10",
"src": "https://github.com/rebelot/kanagawa.nvim" "src": "https://github.com/rebelot/kanagawa.nvim"
}, },
"lush.nvim": {
"rev": "9c60ec2279d62487d942ce095e49006af28eed6e",
"src": "https://github.com/rktjmp/lush.nvim"
},
"multicursor.nvim": { "multicursor.nvim": {
"rev": "630dd29dd696bc977cb81d7dd2fa6bb280f60fc4", "rev": "630dd29dd696bc977cb81d7dd2fa6bb280f60fc4",
"src": "https://github.com/jake-stewart/multicursor.nvim", "src": "https://github.com/jake-stewart/multicursor.nvim",
@@ -84,6 +88,10 @@
"which-key.nvim": { "which-key.nvim": {
"rev": "3aab2147e74890957785941f0c1ad87d0a44c15a", "rev": "3aab2147e74890957785941f0c1ad87d0a44c15a",
"src": "https://github.com/folke/which-key.nvim" "src": "https://github.com/folke/which-key.nvim"
},
"zenbones.nvim": {
"rev": "22b7fb75593412e0dc81b4bdefae718e9e84aa82",
"src": "https://github.com/zenbones-theme/zenbones.nvim"
} }
} }
} }

View File

@@ -67,86 +67,46 @@ Zutty.fontsize: 20
#ifdef THEME_DARK #ifdef THEME_DARK
st.lightmode: 0 st.lightmode: 0
st.background: #1f1f28 st.background: #1f212e
st.foreground: #dcd7ba st.foreground: #9da0af
st.cursorColor: #cbd9d8 st.cursorColor: #bf8040
st.reverse-cursor: #e6eaea st.reverse-cursor: #1f212e
st.color0: #090618 st.color0: #1f212e
st.color1: #c34043 st.color1: #862d2d
st.color2: #76946a st.color2: #3a783a
st.color3: #c0a36e st.color3: #707010
st.color4: #7e9cd8 st.color4: #345eb2
st.color5: #957fb8 st.color5: #cc66cc
st.color6: #6a9589 st.color6: #3a7878
st.color7: #c8c093 st.color7: #a1a3aa
st.color8: #727169 st.color8: #4d4d4d
st.color9: #e82424 st.color9: #c27070
st.color10: #98bb6c st.color10: #40bf40
st.color11: #e6c384 st.color11: #acac53
st.color12: #7fb4ca st.color12: #6b8ac7
st.color13: #938aa9 st.color13: #8f248f
st.color14: #7aa89f st.color14: #509595
st.color15: #dcd7ba st.color15: #dbdff0
Zutty.bg: #1f1f28
Zutty.fg: #dcd7ba
Zutty.cr: #cbd9d8
Zutty.color0: #090618
Zutty.color1: #c34043
Zutty.color2: #76946a
Zutty.color3: #c0a36e
Zutty.color4: #7e9cd8
Zutty.color5: #957fb8
Zutty.color6: #6a9589
Zutty.color7: #c8c093
Zutty.color8: #727169
Zutty.color9: #e82424
Zutty.color10: #98bb6c
Zutty.color11: #e6c384
Zutty.color12: #7fb4ca
Zutty.color13: #938aa9
Zutty.color14: #7aa89f
Zutty.color15: #dcd7ba
#else #else
st.lightmode: 1 st.lightmode: 1
st.background: #f6f2ee st.background: #faf8f5
st.foreground: #3d2b5a st.foreground: #1f212e
st.cursorColor: #643f61 st.cursorColor: #bf8040
st.reverse-cursor: #3d2b5a st.reverse-cursor: #1f212e
st.color0: #352c24 st.color0: #1f212e
st.color1: #a5222f st.color1: #862d2d
st.color2: #396847 st.color2: #3a783a
st.color3: #ac5402 st.color3: #707010
st.color4: #2848a9 st.color4: #345eb2
st.color5: #6e33ce st.color5: #cc66cc
st.color6: #287980 st.color6: #3a7878
st.color7: #f2e9e1 st.color7: #a1a3aa
st.color8: #534c45 st.color8: #73778c
st.color9: #b3434e st.color9: #c27070
st.color10: #577f63 st.color10: #40bf40
st.color11: #b86e28 st.color11: #acac53
st.color12: #4863b6 st.color12: #6b8ac7
st.color13: #8452d5 st.color13: #8f248f
st.color14: #488d93 st.color14: #509595
st.color15: #f4ece6 st.color15: #dae4f1
Zutty.bg: #f6f2ee
Zutty.fg: #3d2b5a
Zutty.cr: #643f61
Zutty.color0: #352c24
Zutty.color1: #a5222f
Zutty.color2: #396847
Zutty.color3: #ac5402
Zutty.color4: #2848a9
Zutty.color5: #6e33ce
Zutty.color6: #287980
Zutty.color7: #f2e9e1
Zutty.color8: #534c45
Zutty.color9: #b3434e
Zutty.color10: #577f63
Zutty.color11: #b86e28
Zutty.color12: #4863b6
Zutty.color13: #8452d5
Zutty.color14: #488d93
Zutty.color15: #f4ece6
#endif #endif

View File

@@ -46,9 +46,9 @@ fi
XSET=$(readlink -e ~/.config/xsettingsd/xsettingsd.conf) XSET=$(readlink -e ~/.config/xsettingsd/xsettingsd.conf)
if [ "$THEME" = dark ]; then if [ "$THEME" = dark ]; then
kitten themes --reload-in=all 'Flexoki (Dark)' kitten themes --reload-in=all 'lupanbones-dark'
elif [ "$THEME" = light ]; then elif [ "$THEME" = light ]; then
kitten themes --reload-in=all 'Flexoki (Light)' kitten themes --reload-in=all 'lupanbones-light'
fi fi
# GTK # GTK