diff --git a/init.lua b/init.lua index 6572d9c..792486d 100644 --- a/init.lua +++ b/init.lua @@ -325,8 +325,8 @@ vim.keymap.set('n', 'j', "v:count == 0 ? 'gj' : 'j'", { expr = true, silent = tr -- Diagnostic keymaps vim.keymap.set('n', '[d', vim.diagnostic.goto_prev, { desc = 'Go to previous diagnostic message' }) vim.keymap.set('n', ']d', vim.diagnostic.goto_next, { desc = 'Go to next diagnostic message' }) ---vim.keymap.set('n', 'e', vim.diagnostic.open_float, { desc = 'Open floating diagnostic message' }) ---vim.keymap.set('n', 'q', vim.diagnostic.setloclist, { desc = 'Open diagnostics list' }) +vim.keymap.set('n', 'de', vim.diagnostic.open_float, { desc = 'Diagnostics: floating message' }) +vim.keymap.set('n', 'dq', vim.diagnostic.setloclist, { desc = 'Diagnostics: location list' }) --[[ Custom keymaps ]] @@ -402,6 +402,12 @@ end, { desc = 'Save & quit (prompt if new file)' }) --Discard changes and Close current window vim.keymap.set('n', 'qn', 'q!') +--Horizontal split +vim.keymap.set('n', 'sh', 'split', { desc = 'Split [H]orizontal' }) + +--Vertical split +vim.keymap.set('n', 'sv', 'vsplit', { desc = 'Split [V]ertical' }) + --Switch below/right split windows vim.keymap.set('n', '', '') @@ -555,8 +561,17 @@ local function telescope_live_grep_open_files() end vim.keymap.set('n', 's/', telescope_live_grep_open_files, { desc = '[S]earch [/] in Open Files' }) vim.keymap.set('n', 'ss', require('telescope.builtin').builtin, { desc = '[S]earch [S]elect Telescope' }) -vim.keymap.set('n', 'gf', require('telescope.builtin').git_files, { desc = 'Search [G]it [F]iles' }) -vim.keymap.set('n', 'sh', require('telescope.builtin').help_tags, { desc = '[S]earch [H]elp' }) +vim.keymap.set('n', 'gf', function() + local is_git_dir = vim.fn.system('git rev-parse --is-inside-work-tree'):gsub('%s+', '') == 'true' + if is_git_dir then + require('telescope.builtin').git_files() + else + vim.notify('Not a git repository', vim.log.levels.WARN, { title = 'Telescope Git Files' }) + -- Optional: fallback to normal file search + -- require('telescope.builtin').find_files() + end +end, { desc = 'Search [G]it [F]iles' }) +vim.keymap.set('n', 'si', require('telescope.builtin').help_tags, { desc = '[S]earch [I]nfo' }) vim.keymap.set('n', 'sw', require('telescope.builtin').grep_string, { desc = '[S]earch current [W]ord' }) vim.keymap.set('n', 'sg', require('telescope.builtin').live_grep, { desc = '[S]earch by [G]rep' }) vim.keymap.set('n', 'sG', ':LiveGrepGitRoot', { desc = '[S]earch by [G]rep on Git Root' }) diff --git a/lua/custom/plugins/filetree.lua b/lua/custom/plugins/filetree.lua index bc9c58e..1df88f1 100644 --- a/lua/custom/plugins/filetree.lua +++ b/lua/custom/plugins/filetree.lua @@ -99,11 +99,15 @@ return { mapping_options = { noremap = true, nowait = true }, mappings = { [""] = smart_open, + ["h"] = "open_vsplit", + ["v"] = "open_split", ["t"] = "noop", }, }, filesystem = { - follow_current_file = true, + follow_current_file = { + enabled = true, -- updated to table format + }, use_libuv_file_watcher = true, hijack_netrw_behavior = "open_default", filtered_items = {