2022-07-25 09:49:33 -04:00
|
|
|
-- add binaries installed by mason.nvim to path
|
2022-07-26 03:22:16 -04:00
|
|
|
local is_windows = vim.loop.os_uname().sysname == "Windows_NT"
|
|
|
|
vim.env.PATH = vim.env.PATH .. (is_windows and ";" or ":") .. vim.fn.stdpath "data" .. "/mason/bin"
|
2022-07-25 09:49:33 -04:00
|
|
|
|
2022-06-18 00:27:17 -04:00
|
|
|
-- commands
|
2022-05-23 03:24:03 -04:00
|
|
|
vim.cmd "silent! command! NvChadUpdate lua require('nvchad').update_nvchad()"
|
2022-06-16 13:41:19 -04:00
|
|
|
vim.cmd "silent! command! NvChadSnapshotCreate lua require('nvchad').snap_create()"
|
|
|
|
vim.cmd "silent! command! NvChadSnapshotDelete lua require('nvchad').snap_delete()"
|
|
|
|
vim.cmd "silent! command! NvChadSnapshotCheckout lua require('nvchad').snap_checkout()"
|
2022-05-23 03:24:03 -04:00
|
|
|
|
2022-06-18 00:27:17 -04:00
|
|
|
-- autocmds
|
2022-05-23 03:24:03 -04:00
|
|
|
local autocmd = vim.api.nvim_create_autocmd
|
2022-06-24 09:54:59 -04:00
|
|
|
local api = vim.api
|
2022-05-23 03:24:03 -04:00
|
|
|
|
2022-07-08 09:50:57 -04:00
|
|
|
-- dont list quickfix buffers
|
|
|
|
autocmd("FileType", {
|
2022-07-22 12:00:00 -04:00
|
|
|
pattern = "qf",
|
|
|
|
callback = function()
|
|
|
|
vim.opt_local.buflisted = false
|
|
|
|
end,
|
2022-07-08 09:50:57 -04:00
|
|
|
})
|
|
|
|
|
2022-06-19 19:26:13 -04:00
|
|
|
-- wrap the PackerSync command to warn people before using it in NvChadSnapshots
|
|
|
|
autocmd("VimEnter", {
|
2022-07-22 12:00:00 -04:00
|
|
|
callback = function()
|
2022-08-05 23:58:05 -04:00
|
|
|
vim.cmd "command! -nargs=* -complete=customlist,v:lua.require'packer'.plugin_complete PackerSync lua require('plugins') require('core.utils').packer_sync(<f-args>)"
|
2022-07-22 12:00:00 -04:00
|
|
|
end,
|
2022-06-19 19:26:13 -04:00
|
|
|
})
|
|
|
|
|
2022-05-23 03:24:03 -04:00
|
|
|
-- Disable statusline in dashboard
|
|
|
|
autocmd("FileType", {
|
2022-07-22 12:00:00 -04:00
|
|
|
pattern = "alpha",
|
|
|
|
callback = function()
|
|
|
|
vim.opt.laststatus = 0
|
|
|
|
end,
|
2022-05-23 03:24:03 -04:00
|
|
|
})
|
|
|
|
|
|
|
|
autocmd("BufUnload", {
|
2022-07-22 12:00:00 -04:00
|
|
|
buffer = 0,
|
|
|
|
callback = function()
|
|
|
|
vim.opt.laststatus = 3
|
|
|
|
end,
|
2022-05-23 03:24:03 -04:00
|
|
|
})
|
2022-06-05 09:41:26 -04:00
|
|
|
|
2022-06-06 08:56:29 -04:00
|
|
|
-- Don't auto commenting new lines
|
2022-06-14 21:56:10 -04:00
|
|
|
autocmd("BufEnter", {
|
2022-07-22 12:00:00 -04:00
|
|
|
pattern = "*",
|
|
|
|
command = "set fo-=c fo-=r fo-=o",
|
2022-06-06 08:56:29 -04:00
|
|
|
})
|
2022-06-18 04:55:23 -04:00
|
|
|
|
2022-07-15 00:07:12 -04:00
|
|
|
-- store listed buffers in tab local var
|
2022-06-24 09:54:59 -04:00
|
|
|
vim.t.bufs = vim.api.nvim_list_bufs()
|
|
|
|
|
2022-07-15 00:07:12 -04:00
|
|
|
-- autocmds for tabufline -> store bufnrs on bufadd, bufenter events
|
2022-06-25 01:51:50 -04:00
|
|
|
-- thx to https://github.com/ii14 & stores buffer per tab -> table
|
2022-06-30 20:57:40 -04:00
|
|
|
autocmd({ "BufAdd", "BufEnter" }, {
|
2022-07-22 12:00:00 -04:00
|
|
|
callback = function(args)
|
|
|
|
if vim.t.bufs == nil then
|
|
|
|
vim.t.bufs = { args.buf }
|
|
|
|
else
|
|
|
|
local bufs = vim.t.bufs
|
2022-06-24 09:54:59 -04:00
|
|
|
|
2022-07-22 12:00:00 -04:00
|
|
|
-- check for duplicates
|
|
|
|
if not vim.tbl_contains(bufs, args.buf) and (args.event == "BufAdd" or vim.bo[args.buf].buflisted) then
|
|
|
|
table.insert(bufs, args.buf)
|
|
|
|
vim.t.bufs = bufs
|
2022-06-18 04:55:23 -04:00
|
|
|
end
|
2022-07-22 12:00:00 -04:00
|
|
|
end
|
|
|
|
end,
|
2022-06-18 04:55:23 -04:00
|
|
|
})
|
2022-06-24 09:54:59 -04:00
|
|
|
|
|
|
|
autocmd("BufDelete", {
|
2022-07-22 12:00:00 -04:00
|
|
|
callback = function(args)
|
|
|
|
for _, tab in ipairs(api.nvim_list_tabpages()) do
|
|
|
|
local bufs = vim.t[tab].bufs
|
|
|
|
if bufs then
|
|
|
|
for i, bufnr in ipairs(bufs) do
|
|
|
|
if bufnr == args.buf then
|
|
|
|
table.remove(bufs, i)
|
|
|
|
vim.t[tab].bufs = bufs
|
|
|
|
break
|
|
|
|
end
|
|
|
|
end
|
2022-06-24 09:54:59 -04:00
|
|
|
end
|
2022-07-22 12:00:00 -04:00
|
|
|
end
|
|
|
|
end,
|
2022-06-24 09:54:59 -04:00
|
|
|
})
|
2022-08-19 12:23:25 -04:00
|
|
|
|
|
|
|
-- Auto resize panes
|
|
|
|
autocmd("VimResized", {
|
|
|
|
pattern = "*",
|
|
|
|
command = "tabdo wincmd =",
|
|
|
|
})
|