Compare commits

..

18 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
8266382d70 nvim: add fzf-lua, remove telescope, remove snacks keys covered by fzf-lua 2026-03-01 23:43:47 +01:00
786ea69867 add vim config 2026-03-01 21:56:27 +01:00
3e79476b5d nvim: smartcase and change keys 2026-03-01 21:56:27 +01:00
85395280ba nvim+kitty: theme flexoki, use kitty cursor trail 2026-02-24 10:10:22 +01:00
3b57990b9d kitty new keys and new shell aliases 2026-02-22 23:25:03 +01:00
4629322b51 supperfile: add config 2026-02-22 20:15:22 +01:00
7f52230f2e xsession: switch to awesome, add needed picom option, run dunst with dwm 2026-02-22 20:12:19 +01:00
6e0320da4f awesome: change font, terminal and theme detection 2026-02-22 20:12:19 +01:00
832080bbe6 kitty: update settings 2026-02-22 20:12:19 +01:00
734938a724 nvim: update packages 2026-02-21 13:57:53 +01:00
4db06659a0 nvim: lua_ls: silent vim name diagnostic 2026-02-21 13:51:36 +01:00
24c0064ec9 nvim: telescope keys 2026-02-21 13:50:53 +01:00
f5ad3f4926 nvim: telescope: theme dropdown, filename first, change keys 2026-02-21 12:20:34 +01:00
b618dfc5f0 nvim: leader keys for clipboard yank and paste and fullscreen lazygit 2026-02-21 12:20:34 +01:00
28 changed files with 873 additions and 311 deletions

View File

@@ -54,14 +54,12 @@ end
local function read_theme()
local theme = "theme_dark.lua"
local f = io.open(os.getenv('HOME') .. '/.config/alacritty/alacritty.toml')
local f = io.open(os.getenv('HOME') .. '/.lightmode')
if f then
if string.find(f:read('*all'), 'light') then
theme = 'theme_light.lua'
end
theme = 'theme_light.lua'
f:close()
return theme
end
return theme
end
local theme = read_theme()
@@ -88,7 +86,7 @@ local function switch_theme()
end
-- This is used later as the default terminal and editor to run.
local terminal = "st"
local terminal = "kitty --single-instance --instance-group default"
-- Default modkey.
local modkey = "Mod4"
@@ -236,13 +234,15 @@ local function layout_menu()
awful.menu(layouts):show()
end
local function focus_nth_window (n)
local function focus_nth_window(n)
local cc = {}
for _, c in ipairs(client.get()) do
if awful.widget.tasklist.filter.currenttags(c, mouse.screen) then cc[#cc + 1] = c end
end
local new_focused = cc[n]
if new_focused then client.focus = new_focused; new_focused:raise() end
if new_focused then
client.focus = new_focused; new_focused:raise()
end
end
-- {{{ Key bindings
@@ -296,7 +296,7 @@ local globalkeys = gears.table.join(
{ description = "open a terminal", group = "launcher" }),
awful.key({ modkey, "Control", "Shift" }, "s", function() awful.spawn("systemctl suspend") end,
{ description = "open a terminal", group = "launcher" }),
awful.key({ modkey, "Shift" }, "F6", switch_theme,
awful.key({ modkey, "Control", "Shift" }, "t", switch_theme,
{ description = "switch theme", group = "launcher" }),
awful.key({ modkey, }, "q", awesome.restart,
{ description = "reload awesome", group = "awesome" }),
@@ -347,7 +347,7 @@ local globalkeys = gears.table.join(
end,
{ description = "lua execute prompt", group = "awesome" }),
-- Menubar
awful.key({ modkey }, "p", function() awful.spawn("dmenu_run -fn 'FiraCode Nerd Font Ret:size=10'") end,
awful.key({ modkey }, "p", function() awful.spawn("dmenu_run -fn 'HurmitNerdFont:size=16'") end,
{ description = "run command", group = "launcher" })
)
@@ -377,11 +377,11 @@ local clientkeys = gears.table.join(
{ description = "minimize", group = "client" }),
awful.key({ modkey, }, "m",
function(c)
if awful.layout.getname() == "max" then
awful.layout.set(awful.layout.suit.tile)
else
awful.layout.set(awful.layout.suit.max)
end
if awful.layout.getname() == "max" then
awful.layout.set(awful.layout.suit.tile)
else
awful.layout.set(awful.layout.suit.max)
end
end,
{ description = "(un)maximize", group = "client" }),
awful.key({ modkey, }, "v",
@@ -539,15 +539,15 @@ awful.rules.rules = {
-- {{{ Signals
local function set_border_width(c)
local t = awful.screen.focused().selected_tag
if #t:clients() == 1 or t.layout.name == 'max' then
c = c or client.focus
c.border_width = 0
else
for _, cl in ipairs(t:clients()) do
cl.border_width = beautiful.border_width
end
local t = awful.screen.focused().selected_tag
if #t:clients() == 1 or t.layout.name == 'max' then
c = c or client.focus
c.border_width = 0
else
for _, cl in ipairs(t:clients()) do
cl.border_width = beautiful.border_width
end
end
end
-- Signal function to execute when a new client appears.
@@ -571,20 +571,20 @@ client.connect_signal("mouse::enter", function(c)
end)
-- local function set_border(c)
-- local s = awful.screen.focused()
-- if c.maximized
-- or (#s.tiled_clients == 1 and not c.floating)
-- or (s.selected_tag and s.selected_tag.layout.name == 'max')
-- then
-- c.border_width = 0
-- else
-- c.border_width = beautiful.border_width
-- end
-- local s = awful.screen.focused()
-- if c.maximized
-- or (#s.tiled_clients == 1 and not c.floating)
-- or (s.selected_tag and s.selected_tag.layout.name == 'max')
-- then
-- c.border_width = 0
-- else
-- c.border_width = beautiful.border_width
-- end
-- end
client.connect_signal("focus", function(c)
c.border_color = beautiful.border_focus
set_border_width(c)
c.border_color = beautiful.border_focus
set_border_width(c)
end)
client.connect_signal("unfocus", function(c) c.border_color = beautiful.border_normal; end)
tag.connect_signal("property::layout", function() set_border_width(nil) end)

View File

@@ -5,7 +5,7 @@ local dpi = xresources.apply_dpi
local theme = {}
theme.font = "Fira Code Nerd Font 10"
theme.font = "HurmitNerdFont 10"
theme.tasklist_disable_icon = true
theme.wibar_height = 30

View File

@@ -5,7 +5,7 @@ local dpi = xresources.apply_dpi
local theme = {}
theme.font = "Fira Code Nerd Font 10"
theme.font = "HurmitNerdFont 10"
theme.tasklist_disable_icon = true
theme.wibar_height = 30

View File

@@ -1,20 +1,25 @@
font_family FiraCode Nerd
font_family HurmitNerdFont
font_size 11
cursor_blink_interval 0
enable_audio_bell no
visual_bell_duration 1.0
tab_title_template "{fmt.fg.red}{bell_symbol}{activity_symbol}{fmt.fg.tab}{title} {index}"
tab_bar_min_tabs 1
tab_bar_style powerline
tab_bar_edge top
tab_bar_filter session:~ or session:^$
tab_title_template "{index}:{session_name}:{bell_symbol}{activity_symbol}{title}"
tab_powerline_style round
action_alias launch_tab launch --type=tab --cwd=current
open_url_with qutebrowser
action_alias launch_tab_home launch --type tab --cwd=~
kitten_alias hints hints --hints-background-color red --hints-foreground-color white
map ctrl+shift+n launch_tab tmux
map ctrl+shift+t launch_tab tmux attach
map ctrl+shift+s launch_tab zsh
map ctrl+shift+6 no_op
map ctrl+shift+0 nth_window -1
map ctrl+shift+h previous_tab
map ctrl+shift+l next_tab
map ctrl+shift+p goto_tab -1
map ctrl+alt+1 goto_tab 1
map ctrl+alt+2 goto_tab 2
map ctrl+alt+3 goto_tab 3
@@ -24,9 +29,43 @@ map ctrl+alt+6 goto_tab 6
map ctrl+alt+7 goto_tab 7
map ctrl+alt+8 goto_tab 8
map ctrl+alt+9 goto_tab 9
map ctrl+alt+0 goto_tab 10
map ctrl+alt+0 goto_tab -1
map ctrl+alt+h neighboring_window left
map ctrl+alt+j neighboring_window down
map ctrl+alt+k neighboring_window up
map ctrl+alt+l neighboring_window right
map ctrl+alt+a last_used_layout
map ctrl+alt+b goto_layout fat
map ctrl+alt+g goto_layout grid
map ctrl+alt+r goto_layout tall
map ctrl+alt+space goto_session -1
map ctrl+alt+return new_window_with_cwd
map ctrl+alt+d new_tab_with_cwd sh -c 'cd $(kitten choose-file --mode dir) && nvim'
map ctrl+alt+e new_tab_with_cwd nvim
map ctrl+alt+i new_tab_with_cwd lazygit
map ctrl+alt+f new_tab_with_cwd sh -c 'nvim $(kitten choose-file)'
map ctrl+alt+m toggle_layout stack
map ctrl+alt+o goto_session ~/.config/kitty/sessions
map ctrl+alt+/ goto_session --sort-by=alphabetical ~/.config/kitty/sessions
map ctrl+alt+p new_tab_with_cwd spf
map ctrl+alt+s launch --stdin-source=@screen_scrollback --type=overlay nvim -R -
map ctrl+alt+w new_window_with_cwd
map ctrl+alt+t new_tab_with_cwd
map ctrl+alt+x close_window_with_confirmation
map ctrl+alt+u>d launch_tab_home sh -c 'cd $(kitten choose-file --mode dir) && nvim'
map ctrl+alt+u>f launch_tab_home sh -c 'nvim $(kitten choose-file)'
map ctrl+alt+v focus_visible_window
map ctrl+alt+y new_window nvim @selection
map ctrl+alt+shift+s save_as_session --base-dir ~/.config/kitty/sessions --match=session:.
map ctrl+alt+shift+t detach_tab
map ctrl+alt+shift+w detach_window
map ctrl+alt+shift+x close_session .
# BEGIN_KITTY_THEME
# Afterglow
# Lupanbones-Dark
include current-theme.conf
# 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

@@ -7,3 +7,7 @@ os:
gui:
nerdFontsVersion: "3"
theme:
selectedLineBgColor:
- reverse

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

@@ -7,6 +7,7 @@ require("plugins.auto-session")
require("plugins.colorscheme")
require("plugins.conform")
require("plugins.flash")
require("plugins.fzf-lua")
require("plugins.guess-indent")
require("plugins.luasnip")
require("plugins.multicursor")
@@ -14,7 +15,6 @@ require("plugins.nvim-various-textobjs")
require("plugins.oil")
require("plugins.slimline")
require("plugins.snacks")
require("plugins.telescope")
require("plugins.surround")
require("plugins.treesitter")
require("plugins.which-key")

View File

@@ -7,6 +7,9 @@ return {
runtime = {
version = "LuaJIT",
},
diagnostics = {
globals = { "vim" },
}
},
},
}

View File

@@ -15,7 +15,6 @@ vim.api.nvim_create_autocmd("LspAttach", {
return { abbr = item.label:gsub("%b()", "") }
end,
})
vim.keymap.set("n", "<leader>ca", vim.lsp.buf.code_action)
vim.keymap.set("i", "<C-space>", vim.lsp.completion.get)
vim.keymap.set("n", "<leader>k", function()
vim.diagnostic.jump({ float = true, count = -1 })

View File

@@ -8,6 +8,17 @@ vim.opt.relativenumber = true
vim.opt.signcolumn = "yes"
vim.opt.title = true
vim.opt.ignorecase = true
vim.opt.smartcase = true
vim.opt.timeout = false
vim.o.undofile = true
vim.cmd([[autocmd TermOpen * startinsert]]);
vim.filetype.add({
extension = {
["kitty-session"] = 'kitty',
},
})

View File

@@ -5,8 +5,15 @@ set("n", "<M-k>", "<C-w>k")
set("n", "<M-j>", "<C-w>j")
set("n", "<M-l>", "<C-w>l")
set({ "n", 'v' }, "<leader>p", [["+p]])
set({ "n", 'v' }, "<leader>P", [["+P]])
set({ "n", 'v' }, "<leader>y", [["+y]])
set({ "n", 'v' }, "<leader>Y", [["+Y]])
set("n", "<Esc>", "<cmd>nohlsearch<cr>")
set("n", "<leader>K", "<cmd>cp<cr>")
set("n", "<leader>J", "<cmd>cn<cr>")
set("n", "<leader>x", "<cmd>copen<cr>")
set("n", "<leader>X", "<cmd>cclose<cr>")
set("n", "<leader>ga", "<cmd>tabnew | terminal lazygit<cr>")

View File

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

View File

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

View File

@@ -0,0 +1,232 @@
vim.pack.add({
"https://github.com/ibhagwan/fzf-lua",
"https://github.com/elanmed/fzf-lua-frecency.nvim",
})
local ok, fzf = pcall(require, "fzf-lua")
local ok2, frecency = pcall(require, "fzf-lua-frecency")
if ok then
fzf.setup({
keymap = {
builtin = {
true,
["<M-m>"] = "toggle-fullscreen",
},
fzf = {
true,
-- Use <c-q> to select all items and add them to the quickfix list
["ctrl-q"] = "select-all+accept",
},
}
})
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
set("n", "<leader>ba", fzf.buffers, { desc = "FzfLua buffers" })
set("n", "<leader>bh", fzf.history, { desc = "FzfLua history" })
set("n", "<leader>bj", fzf.jumps, { desc = "FzfLua jumps" })
set("n", "<leader>ca", fzf.lsp_code_actions, { desc = "FzfLua LSP code actions" })
set("n", "<leader>cb", fzf.complete_bline, { desc = "FzfLua complete buffer line" })
set("n", "<leader>cc", fzf.commands, { desc = "FzfLua commands" })
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>ch", fzf.command_history, { desc = "FzfLua command history" })
set("n", "<leader>cH", fzf.highlights, { desc = "FzfLua color highlights" })
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>cr", fzf.profiles, { desc = "FzfLua fzf profiles" })
set("n", "<leader>cs", fzf.colorschemes, { desc = "FzfLua color schemes" })
set("n", "<leader>ct", fzf.tabs, { desc = "FzfLua tabs" })
set("n", "<leader>da", fzf.diagnostics_document, { desc = "FzfLua document diagnostics" })
set("n", "<leader>dw", fzf.diagnostics_workspace, { desc = "FzfLua workspace diagnostics" })
set("n", "<leader>ec", function()
fzf.files({ cwd = vim.fn.stdpath("config") })
end, { desc = "FzfLua nvim config files" })
set("n", "<leader>ep", function()
fzf.files({ cwd = vim.fs.joinpath(vim.fn.stdpath("data"), "site") })
end, { desc = "FzfLua find files" })
set("n", "<leader>es", function()
fzf.files({ cwd = '~/.config/kitty/sessions' })
end, { desc = "FzfLua kitty sessions" })
set("n", "<leader>eS", "<cmd>Oil ~/.config/kitty/sessions<cr>", { desc = "Kitty sessions (dir)" })
set("n", "<leader>fa", fzf.git_files, { desc = "FzfLua git files" })
set("n", "<leader>ff", fzf.files, { desc = "FzfLua find files" })
set("n", "<leader>fg", fzf.global, { desc = "FzfLua global" })
set("n", "<leader>fo", frecency.frecency, { desc = "FzfLua frecency oldfiles" })
set("n", "<leader>ft", fzf.filetypes, { desc = "FzfLua file types" })
set("n", "<leader>;", function()
frecency.frecency({ cwd_only = true })
end, { desc = "FzfLua frecency files" })
set("n", "<leader>gb", fzf.git_branches, { desc = "FzfLua git branches" })
set("n", "<leader>gB", fzf.git_blame, { desc = "FzfLua git blame" })
set("n", "<leader>gc", fzf.git_bcommits, { desc = "FzfLua git buffer commits" })
set("n", "<leader>gC", fzf.git_commits, { desc = "FzfLua git commits" })
set("n", "<leader>gd", fzf.git_diff, { desc = "FzfLua git diff" })
set("n", "<leader>gh", fzf.git_hunks, { desc = "FzfLua git hunks" })
set("n", "<leader>gC", fzf.git_commits, { desc = "FzfLua git commits" })
set("n", "<leader>gs", fzf.git_status, { desc = "FzfLua git status" })
set("n", "<leader>gS", fzf.git_stash, { desc = "FzfLua git stash" })
set("n", "<leader>gt", fzf.git_tags, { desc = "FzfLua git tags" })
set("n", "<leader>gw", fzf.git_worktrees, { desc = "FzfLua git worktrees" })
set("n", "<leader>ha", fzf.helptags, { desc = "FzfLua help tags" })
set("n", "<leader>hk", fzf.keymaps, { desc = "FzfLua keymaps" })
set("n", "<leader>ma", fzf.marks, { desc = "FzfLua marks" })
set("n", "<leader>mp", fzf.manpages, { desc = "FzfLua man pages" })
set("n", "<leader>qa", fzf.quickfix, { desc = "FzfLua quickfix" })
set("n", "<leader>qs", fzf.quickfix_stack, { desc = "FzfLua quickfix stack" })
set("n", "<leader>ql", fzf.loclist, { desc = "FzfLua loclist" })
set("n", "<leader>qh", fzf.loclist_stack, { desc = "FzfLua loclist stack" })
set("n", "<leader>ra", fzf.resume, { desc = "FzfLua resume" })
set("n", "<leader>rr", fzf.registers, { desc = "FzfLua registers" })
set("n", "<leader>ta", fzf.treesitter, { desc = "FzfLua treesitter symbols" })
set("n", "<leader>sa", fzf.live_grep, { desc = "FzfLua live grep" })
set("n", "<leader>sb", fzf.blines, { desc = "FzfLua buffer lines" })
set("n", "<leader>sB", fzf.grep_curbuf, { desc = "FzfLua grep current buffer" })
set("n", "<leader>sg", fzf.grep, { desc = "FzfLua grep" })
set("n", "<leader>sh", fzf.search_history, { desc = "FzfLua search history" })
set("n", "<leader>sl", fzf.grep_loclist, { desc = "FzfLua grep loclist" })
set("n", "<leader>sn", fzf.live_grep_native, { desc = "FzfLua live grep native" })
set("n", "<leader>so", fzf.lines, { desc = "FzfLua open buffers lines" })
set("n", "<leader>sp", fzf.grep_project, { desc = "FzfLua grep project" })
set("n", "<leader>sq", fzf.grep_quickfix, { desc = "FzfLua grep quickfix" })
set("n", "<leader>sr", function() fzf.grep({ resume = true }) end, { desc = "FzfLua grep resume" })
set("n", "<leader>sc", fzf.spellcheck, { desc = "FzfLua spell check" })
set("n", "<leader>ss", fzf.spell_suggest, { desc = "FzfLua spell suggest" })
set({ "n", "v" }, "<leader>sv", fzf.grep_visual, { desc = "FzfLua grep visual" })
set("n", "<leader>sw", fzf.grep_cword, { desc = "FzfLua grep cword" })
set("n", "<leader>sW", fzf.grep_cWORD, { desc = "FzfLua grep cword" })
set("n", "<leader>U", fzf.undotree, { desc = "FzfLua undo tree" })
set("n", "<leader>wa", fzf.lsp_live_workspace_symbols, { desc = "FzfLua document symbols" })
set("n", "<leader>wd", fzf.lsp_document_symbols, { desc = "FzfLua document symbols" })
set("n", "<leader>wf", fzf.lsp_finder, { desc = "FzfLua LSP finder" })
set("n", "<leader>wp", fzf.lsp_workspace_symbols, { desc = "FzfLua workspace symbols" })
set("n", "<leader>wz", fzf.zoxide, { desc = "FzfLua zoxide" })
set("n", "gd", fzf.lsp_definitions, { desc = "Goto Definition" })
set("n", "gD", fzf.lsp_declarations, { desc = "Goto Declarations" })
set("n", "grr", fzf.lsp_references, { desc = "References" })
set("n", "gri", fzf.lsp_implementations, { desc = "Goto Implementation" })
set("n", "grI", fzf.lsp_incoming_calls, { desc = "Incomming calls" })
set("n", "grO", fzf.lsp_outgoing_calls, { 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", "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
print("plugin fzf-lua missing")
end
if not ok2 then
print("plugin fzf-lua-frecency missing")
end
--vim.keymap.set("n", "<leader>-", "<cmd>Oil<cr>", { desc = "Oil file manager" })

View File

@@ -1,8 +1,9 @@
vim.pack.add({ "https://github.com/chrisgrieser/nvim-various-textobjs" })
local ok, oil = pcall(require, "various-textobjs")
local ok, vto = pcall(require, "various-textobjs")
if ok then
oil.setup({ keymaps = { useDefaults = true } })
vto.setup({ keymaps = { useDefaults = true, diabledDefaults = { 'r' } } })
vim.keymap.set({ 'o', 'x' }, ' }', vto.restOfParagraph)
else
print("plugin nvim-various-textobjs missing")
end

View File

@@ -3,7 +3,7 @@ vim.pack.add({ "https://github.com/folke/snacks.nvim" })
local ok, snacks = pcall(require, "snacks")
if ok then
snacks.setup({
picker = { enabled = true },
picker = { enabled = false },
})
else
print("plugin snacks missing")
@@ -15,50 +15,18 @@ set("n", "<leader>ea", function()
Snacks.explorer()
end, { desc = "File Explorer" })
set("n", "<leader>ga", function()
Snacks.lazygit()
end, { desc = "Lazygit" })
set("n", "<leader>gh", function()
Snacks.picker.git_diff()
end, { desc = "Git Diff (Hunks)" })
set("n", "<leader>gl", function()
Snacks.picker.git_log_line()
end, { desc = "Git Log Line" })
set("n", "<leader>gL", function()
Snacks.picker.git_log()
end, { desc = "Git Log" })
set("n", "<leader>gr", function()
Snacks.lazygit.log_file()
end, { desc = "Git Log File (reflog)" })
set({ "n", "v" }, "<leader>gw", function()
Snacks.picker.grep_word()
end, { desc = "Grep Visual Selection or Word" })
set({ "n", "v" }, "<leader>gx", function()
Snacks.gitbrowse()
end, { desc = "Git Browse" })
set("n", "<leader>xr", function()
Snacks.picker.recent()
end, { desc = "Recent files" })
set("n", "<leader>xR", function()
Snacks.picker.resume()
end, { desc = "Resume" })
set("n", "<leader>U", function()
Snacks.picker.undo()
end, { desc = "Undo History" })
set("n", "<leader>xC", function()
Snacks.picker.colorschemes()
end, { desc = "Colorschemes" })
set("n", "<leader>n", function()
Snacks.notifier.show_history()
end, { desc = "Notification History" })
@@ -83,12 +51,6 @@ set("n", "<leader>x.", function()
Snacks.scratch.select()
end, { desc = "Select Scratch Buffer" })
-- LSP
set("n", "gD", function()
Snacks.picker.lsp_declarations()
end, { desc = "Goto Declaration" })
-- Terminal
set({ "n", "t" }, "<c-/>", function()

View File

@@ -1,99 +0,0 @@
vim.api.nvim_create_autocmd("PackChanged", {
group = vim.api.nvim_create_augroup("telescope-fzf-native-update", { clear = true }),
callback = function(ev)
local name, kind = ev.data.spec.name, ev.data.kind
if name == "telescope-fzf-native.nvim" and (kind == "install" or kind == "update") then
vim.system({ "make" }, { cwd = ev.data.path }):wait()
print("telescope-fzf-native make done.")
end
end,
})
vim.pack.add({
{ src = "https://github.com/nvim-telescope/telescope.nvim", version = "v0.2.1" },
"https://github.com/nvim-lua/plenary.nvim",
"https://github.com/nvim-telescope/telescope-fzf-native.nvim",
"https://gitlab.com/davvid/telescope-git-grep.nvim",
{ src = "https://github.com/nvim-telescope/telescope-frecency.nvim", version = vim.version.range("^1.0.0") },
})
local ok, builtin = pcall(require, "telescope.builtin")
if ok then
require("telescope").setup({
defaults = require("telescope.themes").get_ivy(),
})
local set = vim.keymap.set
require("telescope").load_extension("fzf")
require("telescope").load_extension("git_grep")
require("telescope").load_extension("frecency")
set("n", "<leader><space>", function()
require("telescope-frecency").start()
end, { desc = "Telescope frecency" })
set("n", "<leader>;", function()
require("telescope-frecency").start({ workspace = "CWD" })
end, { desc = "Telescope frecency" })
set("n", "<leader>b", builtin.buffers, { desc = "Telescope buffers" })
set("n", "<leader>cc", builtin.commands, { desc = "Telescope commands" })
set("n", "<leader>ch", builtin.command_history, { desc = "Telescope command history" })
set("n", "<leader>cH", builtin.highlights, { desc = "Telescope highlights" })
set("n", "<leader>da", builtin.diagnostics, { desc = "Telescope diagnostics" })
set("n", "<leader>ec", function()
builtin.find_files({ cwd = vim.fn.stdpath("config") })
end, { desc = "Telescope nvim config files" })
set("n", "<leader>ep", function()
builtin.find_files({ cwd = vim.fs.joinpath(vim.fn.stdpath("data"), "site") })
end, { desc = "Telescope find files" })
set("n", "<leader>fa", builtin.git_files, { desc = "Telescope nvim package files" })
set("n", "<leader>F", builtin.find_files, { desc = "Telescope find files" })
set("n", "<leader>fh", function()
builtin.find_files({ hidden = true })
end, { desc = "Telescope find files (hidden)" })
set("n", "<leader>gB", builtin.git_branches, { desc = "Telescope git branches" })
set("n", "<leader>gc", builtin.git_bcommits, { desc = "Telescope git buffer commits" })
set("n", "<leader>gC", builtin.git_commits, { desc = "Telescope git commits" })
set("n", "<leader>gs", builtin.git_status, { desc = "Telescope git status" })
set("n", "<leader>gS", builtin.git_stash, { desc = "Telescope git stash" })
set("n", "<leader>ha", builtin.help_tags, { desc = "Telescope help tags" })
set("n", "<leader>hk", builtin.keymaps, { desc = "Telescope keymaps" })
set("n", "<leader>l", builtin.current_buffer_fuzzy_find, { desc = "Telescope current buffer fuzzy find" })
set("n", "<leader>L", function()
builtin.live_grep({ grep_open_files = true })
end, { desc = "Telescope grep open files" })
set("n", "<leader>m", builtin.marks, { desc = "Telescope marks" })
set("n", "<leader>M", builtin.man_pages, { desc = "Telescope man pages" })
set("n", "<leader>o", builtin.oldfiles, { desc = "Telescope oldfiles" })
set("n", "<leader>qa", builtin.quickfix, { desc = "Telescope quickfix" })
set("n", "<leader>qh", builtin.quickfixhistory, { desc = "Telescope quickfix history" })
set("n", "<leader>ql", builtin.loclist, { desc = "Telescope loclist" })
set("n", "<leader>r", builtin.resume, { desc = "Telescope resume" })
set("n", "<leader>t", builtin.treesitter, { desc = "Telescope treesitter symbols" })
set("n", "<leader>R", builtin.registers, { desc = "Telescope registers" })
set("n", "<leader>sa", function()
require("git_grep").live_grep()
end, { desc = "Telescope git live grep" })
set("n", "<leader>S", builtin.live_grep, { desc = "Telescope live grep" })
set("n", "<leader>sh", builtin.search_history, { desc = "Telescope search history" })
set("n", "<leader>so", function()
builtin.grep_string({ grep_open_files = true })
end, { desc = "Telescope grep open files" })
set({ "n", "v" }, "<leader>sw", function()
require("git_grep").grep()
end, { desc = "Telescope git grep word" })
set("n", "<leader>wd", builtin.lsp_document_symbols, { desc = "Telescope document symbols" })
set("n", "<leader>wp", builtin.lsp_workspace_symbols, { desc = "Telescope workspace symbols" })
set("n", "<leader>ws", function()
require("git_grep").workspace_live_grep()
end, { desc = "Telescope workspace git live grep" })
set("n", "<leader>wy", function()
require("git_grep").workspace_grep()
end, { desc = "Telescope workspace git grep word" })
set("n", "<leader>:", builtin.builtin, { desc = "Telescope builtin" })
set("n", "gd", builtin.lsp_definitions, { desc = "Goto Definition" })
set("n", "grr", builtin.lsp_references, { desc = "References" })
set("n", "gI", builtin.lsp_implementations, { desc = "Goto Implementation" })
set("n", "gy", builtin.lsp_type_definitions, { desc = "Goto T[y]pe Definition" })
else
print("plugin builtin missing")
end

View File

@@ -71,10 +71,10 @@ if ok then
swap = {
enable = true,
swap_next = {
["<leader>p"] = "@parameter.inner",
["<leader>cp"] = "@parameter.inner",
},
swap_previous = {
["<leader>P"] = "@parameter.inner",
["<leader>cP"] = "@parameter.inner",
},
},
},

View File

@@ -10,17 +10,29 @@
"src": "https://github.com/otavioschwanck/arrow.nvim"
},
"auto-session": {
"rev": "292492ab7af4bd8b9e37e28508bc8ce995722fd5",
"rev": "62437532b38495551410b3f377bcf4aaac574ebe",
"src": "https://github.com/rmagatti/auto-session"
},
"conform.nvim": {
"rev": "8314f4c9e205e7f30b62147069729f9a1227d8bf",
"rev": "c2526f1cde528a66e086ab1668e996d162c75f4f",
"src": "https://github.com/stevearc/conform.nvim"
},
"flash.nvim": {
"rev": "fcea7ff883235d9024dc41e638f164a450c14ca2",
"src": "https://github.com/folke/flash.nvim"
},
"flexoki-neovim": {
"rev": "c3e2251e813d29d885a7cbbe9808a7af234d845d",
"src": "https://github.com/kepano/flexoki-neovim"
},
"fzf-lua": {
"rev": "d9908fd0a5474994f00526ed17f0b77339dc0152",
"src": "https://github.com/ibhagwan/fzf-lua"
},
"fzf-lua-frecency.nvim": {
"rev": "5726403e132fe8699d670c7ef8d59dbed887b4e6",
"src": "https://github.com/elanmed/fzf-lua-frecency.nvim"
},
"guess-indent.nvim": {
"rev": "84a4987ff36798c2fc1169cbaff67960aed9776f",
"src": "https://github.com/NMAC427/guess-indent.nvim"
@@ -29,8 +41,12 @@
"rev": "aef7f5cec0a40dbe7f3304214850c472e2264b10",
"src": "https://github.com/rebelot/kanagawa.nvim"
},
"lush.nvim": {
"rev": "9c60ec2279d62487d942ce095e49006af28eed6e",
"src": "https://github.com/rktjmp/lush.nvim"
},
"multicursor.nvim": {
"rev": "993c6eda70077c5619388900dcffefff73b40c96",
"rev": "630dd29dd696bc977cb81d7dd2fa6bb280f60fc4",
"src": "https://github.com/jake-stewart/multicursor.nvim",
"version": "'1.0'"
},
@@ -54,46 +70,28 @@
"version": "'master'"
},
"nvim-various-textobjs": {
"rev": "1532de4649c81b88ee0b4e53bdd17e551dd4589a",
"rev": "34ca4f6b54cf167554c5792cacc69c930b654136",
"src": "https://github.com/chrisgrieser/nvim-various-textobjs"
},
"oil.nvim": {
"rev": "81b8a91735ad5cd24a6b3137f14a89f19176364f",
"rev": "f55b25e493a7df76371cfadd0ded5004cb9cd48a",
"src": "https://github.com/stevearc/oil.nvim"
},
"plenary.nvim": {
"rev": "b9fd5226c2f76c951fc8ed5923d85e4de065e509",
"src": "https://github.com/nvim-lua/plenary.nvim"
},
"slimline.nvim": {
"rev": "b23d6239ae06d7b422b30b227756971348ffcd68",
"rev": "6b1f20780a26813ba3c2f248c6c6f61e7281bb7b",
"src": "https://github.com/sschleemilch/slimline.nvim"
},
"snacks.nvim": {
"rev": "fe7cfe9800a182274d0f868a74b7263b8c0c020b",
"src": "https://github.com/folke/snacks.nvim"
},
"telescope-frecency.nvim": {
"rev": "d4f1bb2a939cc02720bceb635095246751db144f",
"src": "https://github.com/nvim-telescope/telescope-frecency.nvim",
"version": "1.0.0 - 2.0.0"
},
"telescope-fzf-native.nvim": {
"rev": "6fea601bd2b694c6f2ae08a6c6fab14930c60e2c",
"src": "https://github.com/nvim-telescope/telescope-fzf-native.nvim"
},
"telescope-git-grep.nvim": {
"rev": "0936967941a6e7b3875d1b1bfff41b8bcd75bdf5",
"src": "https://gitlab.com/davvid/telescope-git-grep.nvim"
},
"telescope.nvim": {
"rev": "3333a52ff548ba0a68af6d8da1e54f9cd96e9179",
"src": "https://github.com/nvim-telescope/telescope.nvim",
"version": "'v0.2.1'"
},
"which-key.nvim": {
"rev": "3aab2147e74890957785941f0c1ad87d0a44c15a",
"src": "https://github.com/folke/which-key.nvim"
},
"zenbones.nvim": {
"rev": "22b7fb75593412e0dc81b4bdefae718e9e84aa82",
"src": "https://github.com/zenbones-theme/zenbones.nvim"
}
}
}

View File

@@ -72,5 +72,25 @@ tai() {
}
vf() {
nvim $(fzf --multi)
if [ "$TERM" = "xterm-kitty" ]; then
local FILE=$(kitten choose-file)
[ -n "$FILE" ] && nvim "$FILE"
else
nvim $(fzf --multi)
fi
}
vd() {
if [ "$TERM" = "xterm-kitty" ]; then
local DIR=$(kitten choose-file --mode dir)
[ -n "$DIR" ] && ( cd "$DIR" && exec nvim )
else
local DIR=$(fzf --walker dir,follow,hidden)
[ -n "$DIR" ] && ( cd "$DIR" && exec nvim )
fi
}
vz() {
local DIR=$(zoxide query -l | fzf --query "$Q")
[ -n "$DIR" ] && ( cd "$DIR" && exec nvim )
}

View File

@@ -0,0 +1,178 @@
##############################################
# #
# Superfile Configuration #
# #
##############################################
# This contains the root config file for superfile! More details can be found at
# https://superfile.dev/configure/superfile-config/.
###############################################################################
# Defaults #
###############################################################################
#-- File Editor
# Default: $EDITOR
editor = "nvim"
#-- Directory Editor
#
dir_editor = "nvim ."
#-- Auto check for update
auto_check_update = false
#-- cd on quit
# Should we cd the shell to the last directory open in superfile when the
# program exits?
cd_on_quit = false
#-- File Preview
# Should we open a file preview by default whenever selection-hovering over a
# file?
default_open_file_preview = true
#-- Image Preview
# Should we open an image preview by default whenever selection-hovering over an
# image?
show_image_preview = true
#-- File Info Footer
# Should we display a footer in the file panel that provides more file information?
show_panel_footer_info = true
#-- Default Directory
# The initial path that the file panel should navigate to when superfile is
# opened. This setting understands relative paths such as ".", "..", etc.
default_directory = "."
#-- File Size Units
# true: SI decimal units of 1000 (kB, MB, GB).
# false: IEC binary units of 1024 (KiB, MiB, GiB).
file_size_use_si = false
#-- Default File Sort Type
# (0: Name, 1: Size, 2: Date Modified, 3: Type).
default_sort_type = 0
#-- Sort Order Reversing
# true: Descending.
# false: Ascending.
sort_order_reversed = false
#-- Case-Sensitive Sorting (only for Name Sort)
# An uppercase "B" comes before a lowercase "a" if true.
case_sensitive_sort = false
#-- Exit Shell on Success
# Whether to exit the shell on successful command execution.
shell_close_on_success = false
#-- Page Scroll Size
# Number of lines to scroll for PgUp/PgDown keys (0: full page, default behavior).
page_scroll_size = 0
#-- Debug Mode
debug = false
#-- Ignore Missing Config Fields
# Whether to silence any warnings about missing config fields.
ignore_missing_fields = false
#-- File Panel Extra Columns Count
# Count of extra columns in file panel in addition to file name. When option equal 0 then feature is disabled.
file_panel_extra_columns = 0
#-- File name width in File Panel
# Percentage of file panel width allocated to file names (25-100). Higher values give more space to names, less to extra columns.
file_panel_name_percent = 50
###############################################################################
# Styling #
###############################################################################
#-- Theme
# Put your theme's name here!
theme = "catppuccin-mocha"
#-- Code Previewer
# Whether to use the builtin syntax highlighting with chroma or use bat. Values: "" for builtin chroma, "bat" for bat
code_previewer = ""
#-- Nerd Fonts Support
# Whether to enable support for Nerd Fonts symbols.
# Requires: Font patched with the Nerd Fonts patch.
nerdfont = true
#-- Show checkbox icons in select mode
# Requires: nerdfont = true
show_select_icons = true
#-- Transparent Background Support
# Set to true to enable background transparency.
# Requires: terminal support for colour transparency
transparent_background = false
#-- File Preview Panel Width
# Width of the file preview panel will be 1/n of the total width.
# Values recommended to be in 210.
# Default (0): Use the same width as file picker panel.
file_preview_width = 0
#-- File Preview Border
# Enable border around the file preview panel for better visual separation.
# Default: false (no border)
enable_file_preview_border = false
#-- Sidebar Width
# If you don't want to display the sidebar, you can input 0 directly.
# Values recommended to be in 520.
sidebar_width = 20
#-- Border
# Make sure to add strings that are exactly one character wide!
# Use ' ' for borderless.
border_top = '─'
border_bottom = '─'
border_left = '│'
border_right = '│'
border_top_left = '╭'
border_top_right = '╮'
border_bottom_left = '╰'
border_bottom_right = '╯'
border_middle_left = '├'
border_middle_right = '┤'
###############################################################################
# Plugins #
###############################################################################
# This section is for using plugins with superfile, external addons that extend
# the default capabilities of the program! More info can be found at
# https://superfile.dev/list/plugin-list/.
#-- Detailed Metadata
# Requires: exiftool
metadata = false
#-- MD5 Checksum Generation
# Requires: md5sum
enable_md5_checksum = false
#
#-- Zoxide Support - Smart directory navigation!
# Requires: zoxide
zoxide_support = true
#-- File opening rules
# Map file extensions to commands used to open them.
# The file path will be appended as the last argument.
# MUST BE IN THE VERY END OF THE FILE BECAUSE TOML CANNOT CLOSE TABLES
# Example:
# png = "feh"
# pdf = "zathura"
# conf = "nvim"
[open_with]
pdf = "zathura"
png = "sxiv"
jpg = "sxiv"

View File

@@ -0,0 +1,98 @@
##############################################
# #
# Superfile vim-like Hotkeys #
# #
##############################################
#-- Maintainer: nonepork <https://github.com/nonepork>
# This contains a hotkey config file for superfile, that's themed around vim
# controls! More details can be found at
# https://superfile.dev/configure/custom-hotkeys/.
###############################################################################
# Global hotkeys #
###############################################################################
# Note: These hotkeys should be unique.
#-- Basic Actions
confirm = ['enter', 'l']
quit = ['ctrl+c', ''] # a.k.a. "theprimeagen troller"
cd_quit = ['Q', '']
#-- Navigation
list_up = ['k', '']
list_down = ['j', '']
page_up = ['pgup','']
page_down = ['pgdown','']
#-- File Panel Controls
create_new_file_panel = ['n', '']
close_file_panel = ['q', '']
next_file_panel = ['tab', 'L']
previous_file_panel = ['shift+tab', 'H']
toggle_file_preview_panel = ['f', '']
open_sort_options_menu = ['o', '']
toggle_reverse_sort = ['R', '']
#-- Focus Manipulation
focus_on_process_bar = ['ctrl+p', '']
focus_on_sidebar = ['ctrl+s', '']
focus_on_metadata = ['ctrl+d', '']
#-- File/Dir Creation/Renaming
file_panel_item_create = ['a', '']
file_panel_item_rename = ['r', '']
#-- Main File Operations
copy_items = ['y', '']
cut_items = ['x', '']
paste_items = ['p', '']
delete_items = ['d', '']
permanently_delete_items = ['D', '']
#-- Archive Manipulation
extract_file = ['ctrl+e', '']
compress_file = ['ctrl+a', '']
#-- Editor Actions
open_file_with_editor = ['e', '']
open_current_directory_with_editor = ['E', '']
#-- Other Actions
pinned_directory = ['P', '']
toggle_dot_file = ['.', '']
change_panel_mode = ['m', '']
open_help_menu = ['?', '']
open_spf_prompt = ['>', '']
open_command_line = [':', '']
open_zoxide = ['z', '']
copy_path = ['Y', '']
copy_present_working_directory = ['c', '']
toggle_footer = ['ctrl+f', '']
###############################################################################
# Typing hotkeys #
###############################################################################
# Note: These hotkeys can override all hotkeys.
confirm_typing = ['enter', '']
cancel_typing = ['esc', '']
###############################################################################
# Mode-Specific Hotkeys #
###############################################################################
# Note: These hotkeys can conflict with other modes, but not with global
# hotkeys.
#-- Normal Mode Actions
parent_directory = ['-', 'h']
search_bar = ['/', '']
#-- Selection Mode Actions
file_panel_select_mode_items_select_down = ['J', '']
file_panel_select_mode_items_select_up = ['K', '']
file_panel_select_all_items = ['A', '']

20
vim/.config/vim/vimrc Normal file
View File

@@ -0,0 +1,20 @@
set nocompatible
set ignorecase
set smartcase
set hlsearch
set relativenumber
syntax enable
filetype plugin on
" open nested file with :find file.name
" include * in path for fuzzy find
set path+=**
set wildmenu
let g:netrw_banner=0
let g:netrw_liststyle=3
nmap <esc> <cmd>nohlsearch<cr>
colorscheme catppuccin

View File

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

View File

@@ -28,17 +28,18 @@ xsettingsd &
xsetroot -cursor_name left_ptr
picom -b -I 1 -O 1 -i 1 -e 1 --no-fading-openclose --backend glx || compton -b --no-fading-openclose
if which dwm > /dev/null; then
lupan-clock &
exec dwm
fi
picom -b -I 1 -O 1 -e 1 --no-fading-openclose --backend glx || compton -b --no-fading-openclose
if which awesome > /dev/null; then
exec awesome
fi
if which dwm > /dev/null; then
dunst &
lupan-clock &
exec dwm
fi
if which dk > /dev/null; then
for m in $(polybar --list-monitors | cut -d: -f1); do
MONITOR=$m polybar --reload bar &

View File

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