feat(nvim): half-baked migration from lazy.nvim to lz.n + vim.pack

This commit is contained in:
Barrett Ruth 2026-02-28 12:43:26 -05:00
parent 60969865b5
commit 50642823bd
Signed by: barrett
GPG key ID: A6C96C9349D2FC81
30 changed files with 865 additions and 1315 deletions

View file

@ -1,13 +1,11 @@
local api, au = vim.api, vim.api.nvim_create_autocmd
local aug = vim.api.nvim_create_augroup('AAugs', { clear = true })
local aug = api.nvim_create_augroup('AAugs', { clear = true })
au('BufEnter', {
vim.api.nvim_create_autocmd('BufEnter', {
command = 'setl formatoptions-=cro spelloptions=camel,noplainbuffer',
group = aug,
})
au({ 'TermOpen', 'BufWinEnter' }, {
vim.api.nvim_create_autocmd({ 'TermOpen', 'BufWinEnter' }, {
callback = function(args)
if vim.bo[args.buf].buftype == 'terminal' then
vim.opt_local.number = true
@ -18,41 +16,19 @@ au({ 'TermOpen', 'BufWinEnter' }, {
group = aug,
})
au('BufWritePost', {
pattern = (
os.getenv('XDG_CONFIG_HOME') or (os.getenv('HOME') .. '/.config')
) .. '/dunst/dunstrc',
callback = function()
vim.fn.system('killall dunst && nohup dunst &; disown')
end,
group = aug,
})
au('BufReadPost', {
vim.api.nvim_create_autocmd('BufReadPost', {
command = 'sil! normal g`"',
group = aug,
})
au({ 'BufRead', 'BufNewFile' }, {
pattern = '*/templates/*.html',
callback = function(opts)
vim.api.nvim_set_option_value(
'filetype',
'htmldjango',
{ buf = opts.buf }
)
end,
group = aug,
})
au('TextYankPost', {
vim.api.nvim_create_autocmd('TextYankPost', {
callback = function()
vim.highlight.on_yank({ higroup = 'Visual', timeout = 300 })
end,
group = aug,
})
au({ 'FocusLost', 'BufLeave', 'VimLeave' }, {
vim.api.nvim_create_autocmd({ 'FocusLost', 'BufLeave', 'VimLeave' }, {
pattern = '*',
callback = function()
vim.cmd('silent! wall')

View file

@ -1 +0,0 @@
require('config.fold').setup()

View file

@ -1,18 +1,19 @@
local api = vim.api
local ns = api.nvim_create_namespace('highlight_undo')
local ns = vim.api.nvim_create_namespace('highlight_undo')
api.nvim_set_hl(0, 'HighlightUndo', { link = 'IncSearch', default = true })
vim.api.nvim_set_hl(0, 'HighlightUndo', { link = 'IncSearch', default = true })
for _, key in ipairs({ 'u', '<C-r>', 'U' }) do
vim.keymap.set('n', key, function()
api.nvim_buf_attach(0, false, {
vim.api.nvim_buf_attach(0, false, {
on_bytes = function(_, buf, _, sr, sc, _, _, _, _, ner, nec)
local er, ec = sr + ner, sc + nec
if er >= api.nvim_buf_line_count(buf) then
ec = #(api.nvim_buf_get_lines(buf, -2, -1, false)[1] or '')
if er >= vim.api.nvim_buf_line_count(buf) then
ec = #(
vim.api.nvim_buf_get_lines(buf, -2, -1, false)[1] or ''
)
end
vim.schedule(function()
if not api.nvim_buf_is_valid(buf) then
if not vim.api.nvim_buf_is_valid(buf) then
return
end
vim.hl.range(
@ -23,8 +24,8 @@ for _, key in ipairs({ 'u', '<C-r>', 'U' }) do
{ er, ec }
)
vim.defer_fn(function()
if api.nvim_buf_is_valid(buf) then
api.nvim_buf_clear_namespace(buf, ns, 0, -1)
if vim.api.nvim_buf_is_valid(buf) then
vim.api.nvim_buf_clear_namespace(buf, ns, 0, -1)
end
end, 300)
end)

View file

@ -1,68 +1,10 @@
map({
'n',
'gx',
function()
local url = vim.fn.expand('<cfile>', nil)
if not url:match('https') and url:match('/') then
url = 'https://github.com/' .. url
end
vim.fn.jobstart({ vim.env.BROWSER, url })
end,
})
map({ { 'i', 'c' }, '<c-a>', '<esc>' })
for key, cmd in pairs({
left = 'vertical resize -10',
right = 'vertical resize +10',
down = 'resize +10',
up = 'resize -10',
}) do
map({
'n',
('<%s>'):format(key),
function()
vim.cmd(cmd)
end,
})
end
map({ 'n', '<left>', '<cmd>vertical resize -10<cr>' })
map({ 'n', '<right>', '<cmd>vertical resize +10<cr>' })
map({ 'n', '<down>', '<cmd>resize +10<cr>' })
map({ 'n', '<up>', '<cmd>resize -10<cr>' })
map({ 'n', 'J', 'mzJ`z' })
map({ 'x', 'p', '"_dp' })
map({ 'x', 'P', '"_dP' })
map({ 't', '<esc>', '<c-\\><c-n>' })
map({ 'n', '<leader>iw', '<cmd>setlocal wrap!<cr>' })
map({ 'n', '<leader>is', '<cmd>setlocal spell!<cr>' })
local state = nil
map({
'n',
'<leader>iz',
function()
if state then
for k, v in pairs(state) do
vim.opt_local[k] = v
end
state = nil
else
state = {
number = vim.opt_local.number:get(),
relativenumber = vim.opt_local.relativenumber:get(),
signcolumn = vim.opt_local.signcolumn:get(),
statuscolumn = vim.opt_local.statuscolumn:get(),
laststatus = vim.opt_local.laststatus:get(),
cmdheight = vim.opt_local.cmdheight:get(),
}
vim.opt_local.number = false
vim.opt_local.relativenumber = false
vim.opt_local.signcolumn = 'no'
vim.opt_local.statuscolumn = ''
vim.opt_local.laststatus = 0
vim.opt_local.cmdheight = 0
end
end,
})

View file

@ -1 +1 @@
require('config.lines').setup()
vim.o.statusline = " %{expand('%:~')} %h%m%r%=%c:%l/%L "

View file

@ -1,14 +1,12 @@
local o, opt = vim.o, vim.opt
o.autoread = true
o.autowrite = true
o.breakindent = true
o.cursorline = true
o.cmdheight = 0
o.conceallevel = 0
opt.diffopt:append('linematch:60')
o.expandtab = true
@ -16,8 +14,11 @@ o.expandtab = true
o.exrc = true
o.secure = true
opt.foldcolumn = 'auto:1'
opt.signcolumn = 'no'
o.foldcolumn = '1'
o.foldexpr = 'v:lua.vim.treesitter.foldexpr()'
o.foldlevel = 1
o.foldmethod = 'expr'
o.foldtext = ''
opt.fillchars = {
eob = ' ',
@ -50,8 +51,6 @@ o.shiftwidth = 2
opt.shortmess:append('acCIs')
o.showmode = false
o.showtabline = 0
o.spellfile = (vim.env.XDG_DATA_HOME or (vim.env.HOME .. '/.local/share'))