local M = {} local function toggle_win_opt(name) local newval = not vim.api.nvim_win_get_option(0, name) vim.api.nvim_win_set_option( 0, name, newval ) if newval then vim.notify(name .. ' is on') else vim.notify(name .. ' is off') end end function M.setup() vim.keymap.set('n', '', '') vim.keymap.set('n', '', '') vim.keymap.set('n', '[d', vim.diagnostic.goto_prev, { desc = 'Go to next diagnostic' }) vim.keymap.set('n', ']d', vim.diagnostic.goto_next, { desc = 'Go to prev diagnostic' }) vim.keymap.set('n', 'q', vim.diagnostic.setloclist, { desc = 'Diagnostic to loclist' }) vim.keymap.set({ 'n', 'x', 'o' }, 'n', "'Nn'[v:searchforward]", { expr = true, desc = 'Next search result' }) vim.keymap.set({ 'n', 'x', 'o' }, 'N', "'nN'[v:searchforward]", { expr = true, desc = 'Prev search result' }) vim.keymap.set('n', 'ow', function() toggle_win_opt('wrap') end, { desc = 'Toggle wrap' }) vim.keymap.set('n', 'on', function() toggle_win_opt('number') end, { desc = 'Toggle number' }) vim.keymap.set('n', 'or', function() toggle_win_opt('relativenumber') end, { desc = 'Toggle relativenumber' }) end return M