diff --git a/init.lua b/init.lua index 4305870..61ed86b 100644 --- a/init.lua +++ b/init.lua @@ -1,7 +1,7 @@ -- load config -require("core.options") -require("core.functions") -require("core.keys") +require('core.options') +require('core.functions') +require('core.keys') require('core.autocmd') -require("core.lsp") -require("core.lazy") +require('core.lsp') +require('core.lazy') diff --git a/lazy-lock.json b/lazy-lock.json index c79bae6..53e23a9 100644 --- a/lazy-lock.json +++ b/lazy-lock.json @@ -7,6 +7,7 @@ "conform.nvim": { "branch": "master", "commit": "3bad87250ed85246fe8c5bc10005ab5a6289ae4c" }, "friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" }, "gitsigns.nvim": { "branch": "main", "commit": "23ae90a2a52fdc9b8c50dc61d6c30ebb18521343" }, + "grug-far.nvim": { "branch": "main", "commit": "50d9ee2b5a19634670441948e7e4afaa042f1059" }, "gruvbox.nvim": { "branch": "main", "commit": "5e0a460d8e0f7f669c158dedd5f9ae2bcac31437" }, "harpoon": { "branch": "harpoon2", "commit": "ed1f853847ffd04b2b61c314865665e1dadf22c7" }, "lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" }, diff --git a/lua/core/autocmd.lua b/lua/core/autocmd.lua index 6bab5c9..6b610ad 100644 --- a/lua/core/autocmd.lua +++ b/lua/core/autocmd.lua @@ -1,129 +1,129 @@ local function augroup(name) - return vim.api.nvim_create_augroup("nvim" .. name, { clear = true }) + return vim.api.nvim_create_augroup('nvim' .. name, { clear = true }) end -- Strip trailing spaces before write -vim.api.nvim_create_autocmd({ "BufWritePre" }, { - group = augroup("strip_space"), - pattern = { "*" }, - callback = function() - vim.cmd([[ %s/\s\+$//e ]]) - end, +vim.api.nvim_create_autocmd({ 'BufWritePre' }, { + group = augroup('strip_space'), + pattern = { '*' }, + callback = function() + vim.cmd([[ %s/\s\+$//e ]]) + end, }) -- Check if we need to reload the file when it changed -vim.api.nvim_create_autocmd({ "FocusGained", "TermClose", "TermLeave" }, { - group = augroup("checktime"), - command = "checktime", +vim.api.nvim_create_autocmd({ 'FocusGained', 'TermClose', 'TermLeave' }, { + group = augroup('checktime'), + command = 'checktime', }) -- Highlight on yank -vim.api.nvim_create_autocmd("TextYankPost", { - group = augroup("highlight_yank"), - callback = function() - vim.highlight.on_yank() - end, +vim.api.nvim_create_autocmd('TextYankPost', { + group = augroup('highlight_yank'), + callback = function() + vim.highlight.on_yank() + end, }) -- resize splits if window got resized -vim.api.nvim_create_autocmd({ "VimResized" }, { - group = augroup("resize_splits"), - callback = function() - vim.cmd("tabdo wincmd =") - end, +vim.api.nvim_create_autocmd({ 'VimResized' }, { + group = augroup('resize_splits'), + callback = function() + vim.cmd('tabdo wincmd =') + end, }) -- go to last loc when opening a buffer -vim.api.nvim_create_autocmd("BufReadPost", { - group = augroup("last_loc"), - callback = function() - local mark = vim.api.nvim_buf_get_mark(0, '"') - local lcount = vim.api.nvim_buf_line_count(0) - if mark[1] > 0 and mark[1] <= lcount then - pcall(vim.api.nvim_win_set_cursor, 0, mark) - end - end, +vim.api.nvim_create_autocmd('BufReadPost', { + group = augroup('last_loc'), + callback = function() + local mark = vim.api.nvim_buf_get_mark(0, '"') + local lcount = vim.api.nvim_buf_line_count(0) + if mark[1] > 0 and mark[1] <= lcount then + pcall(vim.api.nvim_win_set_cursor, 0, mark) + end + end, }) -- close some filetypes with -vim.api.nvim_create_autocmd("FileType", { - group = augroup("close_with_q"), - pattern = { - "Jaq", - "PlenaryTestPopup", - "Avante", - "AvanteInput", - "AvanteSelectedFiles", - "fugitive", - "git", - "help", - "lir", - "lspinfo", - "man", - "netrw", - "notify", - "qf", - "spectre_panel", - "startuptime", - "tsplayground", - }, - callback = function(event) - vim.bo[event.buf].buflisted = false - vim.keymap.set("n", "q", "close", { buffer = event.buf, silent = true }) - end, +vim.api.nvim_create_autocmd('FileType', { + group = augroup('close_with_q'), + pattern = { + 'Jaq', + 'PlenaryTestPopup', + 'Avante', + 'AvanteInput', + 'AvanteSelectedFiles', + 'fugitive', + 'git', + 'help', + 'lir', + 'lspinfo', + 'man', + 'netrw', + 'notify', + 'qf', + 'spectre_panel', + 'startuptime', + 'tsplayground', + }, + callback = function(event) + vim.bo[event.buf].buflisted = false + vim.keymap.set('n', 'q', 'close', { buffer = event.buf, silent = true }) + end, }) -- wrap and check for spell in text filetypes -vim.api.nvim_create_autocmd("FileType", { - group = augroup("wrap_spell"), - pattern = { "gitcommit", "markdown" }, - callback = function() - vim.opt_local.wrap = true - vim.opt_local.spell = true - end, +vim.api.nvim_create_autocmd('FileType', { + group = augroup('wrap_spell'), + pattern = { 'gitcommit', 'markdown' }, + callback = function() + vim.opt_local.wrap = true + vim.opt_local.spell = true + end, }) -- Auto create dir when saving a file, in case some intermediate directory does not exist -vim.api.nvim_create_autocmd({ "BufWritePre" }, { - group = augroup("auto_create_dir"), - callback = function(event) - local file = vim.loop.fs_realpath(event.match) or event.match - vim.fn.mkdir(vim.fn.fnamemodify(file, ":p:h"), "p") - end, +vim.api.nvim_create_autocmd({ 'BufWritePre' }, { + group = augroup('auto_create_dir'), + callback = function(event) + local file = vim.loop.fs_realpath(event.match) or event.match + vim.fn.mkdir(vim.fn.fnamemodify(file, ':p:h'), 'p') + end, }) -- Set arb filetype -vim.api.nvim_create_autocmd({ "BufEnter" }, { - group = augroup("set_file_type"), - pattern = { "*.arb" }, - command = "setfiletype arb", +vim.api.nvim_create_autocmd({ 'BufEnter' }, { + group = augroup('set_file_type'), + pattern = { '*.arb' }, + command = 'setfiletype arb', }) -- Disable format options -vim.api.nvim_create_autocmd("FileType", { - group = augroup("disable_formatoptions"), - pattern = "*", - callback = function() - vim.opt_local.formatoptions:remove({ "c", "r", "o" }) - end, +vim.api.nvim_create_autocmd('FileType', { + group = augroup('disable_formatoptions'), + pattern = '*', + callback = function() + vim.opt_local.formatoptions:remove({ 'c', 'r', 'o' }) + end, }) local function enable_autoformat() - vim.api.nvim_create_autocmd({ "BufWritePre" }, { - group = augroup("autoformat"), - pattern = { "*" }, - callback = function() - vim.lsp.buf.format() - end, - }) + vim.api.nvim_create_autocmd({ 'BufWritePre' }, { + group = augroup('autoformat'), + pattern = { '*' }, + callback = function() + vim.lsp.buf.format() + end, + }) end enable_autoformat() -vim.api.nvim_create_user_command("WriteNoFormat", function() - -- Temporarily disable the autoformat autocmd - vim.api.nvim_del_augroup_by_name("keycodex_autoformat") - vim.cmd("write") - -- Re-enable the autoformat autocmd - enable_autoformat() +vim.api.nvim_create_user_command('WriteNoFormat', function() + -- Temporarily disable the autoformat autocmd + vim.api.nvim_del_augroup_by_name('keycodex_autoformat') + vim.cmd('write') + -- Re-enable the autoformat autocmd + enable_autoformat() end, {}) diff --git a/lua/core/options.lua b/lua/core/options.lua index edd8863..3c81753 100644 --- a/lua/core/options.lua +++ b/lua/core/options.lua @@ -60,6 +60,11 @@ for k, v in pairs(options) do vim.opt[k] = v end +-- netrw file explorer settings +vim.g.netrw_winsize = 20 +vim.g.netrw_banner = 0 +vim.g.netrw_liststyle = 1 + vim.opt.path:append({ '**' }) vim.opt.shortmess:append({ W = true, I = true, c = true }) -- disable greeting diff --git a/lua/plugins/utility.lua b/lua/plugins/utility.lua index 8b619c2..e476eb5 100644 --- a/lua/plugins/utility.lua +++ b/lua/plugins/utility.lua @@ -86,7 +86,7 @@ return { shell = vim.o.shell, float_opts = { border = 'curved', -- 'single', 'double', 'shadow', etc. - winblend = 0, -- Set to 0 for full transparency + winblend = 0, -- Set to 0 for full transparency highlights = { border = 'Normal', background = 'Normal', @@ -117,16 +117,16 @@ return { picker_integration = true, keymaps = { prefix = 'u', -- Main prefix for uv commands - commands = true, -- Show uv commands menu (x) - run_file = true, -- Run current file (xr) + commands = true, -- Show uv commands menu (x) + run_file = true, -- Run current file (xr) run_selection = true, -- Run selected code (xs) - run_function = true, -- Run function (xf) - venv = true, -- Environment management (xe) - init = true, -- Initialize uv project (xi) - add = true, -- Add a package (xa) - remove = true, -- Remove a package (xd) - sync = true, -- Sync packages (xc) - sync_all = true, -- Sync all packages, extras and groups (xC) + run_function = true, -- Run function (xf) + venv = true, -- Environment management (xe) + init = true, -- Initialize uv project (xi) + add = true, -- Add a package (xa) + remove = true, -- Remove a package (xd) + sync = true, -- Sync packages (xc) + sync_all = true, -- Sync all packages, extras and groups (xC) }, }, },