diff options
Diffstat (limited to 'lua/lv-which-key')
| -rw-r--r-- | lua/lv-which-key/init.lua | 529 | 
1 files changed, 296 insertions, 233 deletions
| diff --git a/lua/lv-which-key/init.lua b/lua/lv-which-key/init.lua index ab3a8dca..1ead82d4 100644 --- a/lua/lv-which-key/init.lua +++ b/lua/lv-which-key/init.lua @@ -1,241 +1,304 @@ -require("which-key").setup { -    plugins = { -        marks = true, -- shows a list of your marks on ' and ` -        registers = true, -- shows your registers on " in NORMAL or <C-r> in INSERT mode -        -- the presets plugin, adds help for a bunch of default keybindings in Neovim -        -- No actual key bindings are created -        presets = { -            operators = false, -- adds help for operators like d, y, ... -            motions = false, -- adds help for motions -            text_objects = false, -- help for text objects triggered after entering an operator -            windows = true, -- default bindings on <c-w> -            nav = true, -- misc bindings to work with windows -            z = true, -- bindings for folds, spelling and others prefixed with z -            g = true -- bindings for prefixed with g +local M = {} + +M.config = function() +    require("which-key").setup { +        plugins = { +            marks = true, -- shows a list of your marks on ' and ` +            registers = true, -- shows your registers on " in NORMAL or <C-r> in INSERT mode +            -- the presets plugin, adds help for a bunch of default keybindings in Neovim +            -- No actual key bindings are created +            presets = { +                operators = false, -- adds help for operators like d, y, ... +                motions = false, -- adds help for motions +                text_objects = false, -- help for text objects triggered after entering an operator +                windows = true, -- default bindings on <c-w> +                nav = true, -- misc bindings to work with windows +                z = true, -- bindings for folds, spelling and others prefixed with z +                g = true -- bindings for prefixed with g +            } +        }, +        icons = { +            breadcrumb = "ยป", -- symbol used in the command line area that shows your active key combo +            separator = "โ", -- symbol used between a key and it's label +            group = "+" -- symbol prepended to a group +        }, +        window = { +            border = "single", -- none, single, double, shadow +            position = "bottom", -- bottom, top +            margin = {1, 0, 1, 0}, -- extra window margin [top, right, bottom, left] +            padding = {2, 2, 2, 2} -- extra window padding [top, right, bottom, left] +        }, +        layout = { +            height = {min = 4, max = 25}, -- min and max height of the columns +            width = {min = 20, max = 50}, -- min and max width of the columns +            spacing = 3 -- spacing between columns +        }, +        hidden = { +            "<silent>", "<cmd>", "<Cmd>", "<CR>", "call", "lua", "^:", "^ " +        }, -- hide mapping boilerplate +        show_help = true -- show help message on the command line when the popup is visible +    } + +    -- Set leader +    if O.leader_key == ' ' or O.leader_key == 'space' then +        vim.api.nvim_set_keymap('n', '<Space>', '<NOP>', +                                {noremap = true, silent = true}) +        vim.g.mapleader = ' ' +    else +        vim.api.nvim_set_keymap('n', O.leader_key, '<NOP>', +                                {noremap = true, silent = true}) +        vim.g.mapleader = O.leader_key +    end + +    local opts = { +        mode = "n", -- NORMAL mode +        prefix = "<leader>", +        buffer = nil, -- Global mappings. Specify a buffer number for buffer local mappings +        silent = true, -- use `silent` when creating keymaps +        noremap = true, -- use `noremap` when creating keymaps +        nowait = false -- use `nowait` when creating keymaps +    } + +    -- no hl +    vim.api.nvim_set_keymap('n', '<Leader>h', ':let @/=""<CR>', +                            {noremap = true, silent = true}) + +    -- explorer +    vim.api.nvim_set_keymap('n', '<Leader>e', ":NvimTreeToggle<CR>", +                            {noremap = true, silent = true}) + +    -- telescope +    vim.api.nvim_set_keymap('n', '<Leader>f', ':Telescope find_files<CR>', +                            {noremap = true, silent = true}) + +    -- dashboard +    vim.api.nvim_set_keymap('n', '<Leader>;', ':Dashboard<CR>', +                            {noremap = true, silent = true}) + +    -- Comments +    vim.api.nvim_set_keymap("n", "<leader>/", ":CommentToggle<CR>", +                            {noremap = true, silent = true}) +    vim.api.nvim_set_keymap("v", "<leader>/", ":CommentToggle<CR>", +                            {noremap = true, silent = true}) + +    -- close buffer +    vim.api.nvim_set_keymap("n", "<leader>c", ":BufferClose<CR>", +                            {noremap = true, silent = true}) + +    -- open projects +    vim.api.nvim_set_keymap('n', '<leader>p', +                            ":lua require'telescope'.extensions.project.project{}<CR>", +                            {noremap = true, silent = true}) + +    vim.api.nvim_set_keymap("n", "<leader>z", ":TZAtaraxis<CR>", +                            {noremap = true, silent = true}) +    -- z = {"<cmd>TZAtaraxis<cr>", "toggle zen"} + +    -- TODO create entire treesitter section + +    local mappings = { + +        ["/"] = "Comment", +        ["c"] = "Close Buffer", +        ["e"] = "Explorer", +        ["f"] = "Find File", +        ["h"] = "No Highlight", +        ["p"] = "Projects", +        ["z"] = "Zen", +        [";"] = "Dashboard", +        b = { +            name = "+Buffers", +            j = {"<cmd>BufferPick<cr>", "jump to buffer"}, +            w = {"<cmd>BufferWipeout<cr>", "wipeout buffer"}, +            e = { +                "<cmd>BufferCloseAllButCurrent<cr>", +                "close all but current buffer" +            }, +            h = { +                "<cmd>BufferCloseBuffersLeft<cr>", +                "close all buffers to the left" +            }, +            l = { +                "<cmd>BufferCloseBuffersRight<cr>", +                "close all BufferLines to the right" +            }, +            D = { +                "<cmd>BufferOrderByDirectory<cr>", +                "sort BufferLines automatically by directory" +            }, +            L = { +                "<cmd>BufferOrderByLanguage<cr>", +                "sort BufferLines automatically by language" +            } +        }, + +        d = { +            name = "Diagnostics", +            t = {"<cmd>TroubleToggle<cr>", "trouble"}, +            w = { +                "<cmd>TroubleToggle lsp_workspace_diagnostics<cr>", "workspace" +            }, +            d = {"<cmd>TroubleToggle lsp_document_diagnostics<cr>", "document"}, +            q = {"<cmd>TroubleToggle quickfix<cr>", "quickfix"}, +            l = {"<cmd>TroubleToggle loclist<cr>", "loclist"}, +            r = {"<cmd>TroubleToggle lsp_references<cr>", "references"} +        }, + +        -- " Available Debug Adapters: +        -- "   https://microsoft.github.io/debug-adapter-protocol/implementors/adapters/ +        -- "  +        -- " Adapter configuration and installation instructions: +        -- "   https://github.com/mfussenegger/nvim-dap/wiki/Debug-Adapter-installation +        -- "  +        -- " Debug Adapter protocol: +        -- "   https://microsoft.github.io/debug-adapter-protocol/ +        -- " Debugging +        -- command! DebugToggleBreakpoint lua require'dap'.toggle_breakpoint() +        -- command! DebugStart lua require'dap'.continue() +        -- command! DebugContinue lua require'dap'.continue() +        -- command! DebugStepOver lua require'dap'.step_over() +        -- command! DebugStepOut lua require'dap'.step_out() +        -- command! DebugStepInto lua require'dap'.step_into() +        -- command! DebugToggleRepl lua require'dap'.repl.toggle() +        -- command! DebugGetSession lua require'dap'.session() +        D = { +            name = "Debug", +            b = {"<cmd>DebugToggleBreakpoint<cr>", "Toggle Breakpoint"}, +            c = {"<cmd>DebugContinue<cr>", "Continue"}, +            i = {"<cmd>DebugStepInto<cr>", "Step Into"}, +            o = {"<cmd>DebugStepOver<cr>", "Step Over"}, +            r = {"<cmd>DebugToggleRepl<cr>", "Toggle Repl"}, +            s = {"<cmd>DebugStart<cr>", "Start"} +        }, +        g = { +            name = "Git", +            j = {"<cmd>lua require 'lv-utils'.next_hunk()<cr>", "Next Hunk"}, +            k = {"<cmd>lua require 'lv-utils'.prev_hunk()<cr>", "Prev Hunk"}, +            l = {"<cmd>lua require 'lv-utils'.blame_line()<cr>", "Blame"}, +            p = { +                "<cmd>lua require 'lv-utils'.preview_hunk()<cr>", "Preview Hunk" +            }, +            r = {"<cmd>lua require 'lv-utils'.reset_hunk()<cr>", "Reset Hunk"}, +            R = { +                "<cmd>lua require 'lv-utils'.reset_buffer()<cr>", "Reset Buffer" +            }, +            s = {"<cmd>lua require 'lv-utils'.stage_hunk()<cr>", "Stage Hunk"}, +            u = { +                "<cmd>lua require 'lv-utils'.undo_stage_hunk()<cr>", +                "Undo Stage Hunk" +            }, +            o = {"<cmd>Telescope git_status<cr>", "Open changed file"}, +            b = {"<cmd>Telescope git_branches<cr>", "Checkout branch"}, +            c = {"<cmd>Telescope git_commits<cr>", "Checkout commit"}, +            C = { +                "<cmd>Telescope git_bcommits<cr>", +                "Checkout commit(for current file)" +            } +        }, +        l = { +            name = "LSP", +            a = {"<cmd>Lspsaga code_action<cr>", "Code Action"}, +            A = {"<cmd>Lspsaga range_code_action<cr>", "Selected Action"}, +            d = { +                "<cmd>Telescope lsp_document_diagnostics<cr>", +                "Document Diagnostics" +            }, +            D = { +                "<cmd>Telescope lsp_workspace_diagnostics<cr>", +                "Workspace Diagnostics" +            }, +            f = {"<cmd>lua require 'lv-utils'.formatting()<cr>", "Format"}, +            h = {"<cmd>Lspsaga hover_doc<cr>", "Hover Doc"}, +            i = {"<cmd>LspInfo<cr>", "Info"}, +            l = {"<cmd>Lspsaga lsp_finder<cr>", "LSP Finder"}, +            L = {"<cmd>Lspsaga show_line_diagnostics<cr>", "Line Diagnostics"}, +            p = {"<cmd>Lspsaga preview_definition<cr>", "Preview Definition"}, +            q = {"<cmd>Telescope quickfix<cr>", "Quickfix"}, +            r = {"<cmd>Lspsaga rename<cr>", "Rename"}, +            t = {"<cmd>LspTypeDefinition<cr>", "Type Definition"}, +            x = {"<cmd>cclose<cr>", "Close Quickfix"}, +            s = {"<cmd>Telescope lsp_document_symbols<cr>", "Document Symbols"}, +            S = { +                "<cmd>Telescope lsp_dynamic_workspace_symbols<cr>", +                "Workspace Symbols" +            } +        }, +        r = { +            name = "Replace", +            f = { +                "<cmd>lua require('spectre').open_file_search()<cr>", +                "Current File" +            }, +            p = {"<cmd>lua require('spectre').open()<cr>", "Project"} +        }, +        s = { +            name = "Search", +            b = {"<cmd>Telescope git_branches<cr>", "Checkout branch"}, +            c = {"<cmd>Telescope colorscheme<cr>", "Colorscheme"}, +            d = { +                "<cmd>Telescope lsp_document_diagnostics<cr>", +                "Document Diagnostics" +            }, +            D = { +                "<cmd>Telescope lsp_workspace_diagnostics<cr>", +                "Workspace Diagnostics" +            }, +            f = {"<cmd>Telescope find_files<cr>", "Find File"}, +            h = {"<cmd>Telescope help_tags<cr>", "Find Help"}, +            m = {"<cmd>Telescope marks<cr>", "Marks"}, +            M = {"<cmd>Telescope man_pages<cr>", "Man Pages"}, +            r = {"<cmd>Telescope oldfiles<cr>", "Open Recent File"}, +            R = {"<cmd>Telescope registers<cr>", "Registers"}, +            t = {"<cmd>Telescope live_grep<cr>", "Text"} +        }, +        S = { +            name = "Session", +            s = {"<cmd>SessionSave<cr>", "Save Session"}, +            l = {"<cmd>SessionLoad<cr>", "Load Session"}          } -    }, -    icons = { -        breadcrumb = "ยป", -- symbol used in the command line area that shows your active key combo -        separator = "โ", -- symbol used between a key and it's label -        group = "+" -- symbol prepended to a group -    }, -    window = { -        border = "single", -- none, single, double, shadow -        position = "bottom", -- bottom, top -        margin = {1, 0, 1, 0}, -- extra window margin [top, right, bottom, left] -        padding = {2, 2, 2, 2} -- extra window padding [top, right, bottom, left] -    }, -    layout = { -        height = {min = 4, max = 25}, -- min and max height of the columns -        width = {min = 20, max = 50}, -- min and max width of the columns -        spacing = 3 -- spacing between columns -    }, -    hidden = {"<silent>", "<cmd>", "<Cmd>", "<CR>", "call", "lua", "^:", "^ "}, -- hide mapping boilerplate -    show_help = true -- show help message on the command line when the popup is visible -} - --- Set leader -if O.leader_key == ' ' or O.leader_key == 'space' then -    vim.api.nvim_set_keymap('n', '<Space>', '<NOP>', {noremap = true, silent = true}) -    vim.g.mapleader = ' ' -else -    vim.api.nvim_set_keymap('n', O.leader_key, '<NOP>', {noremap = true, silent = true}) -    vim.g.mapleader = O.leader_key -end +        -- extras +        -- z = { +        --     name = "Zen", +        --     s = {"<cmd>TZBottom<cr>", "toggle status line"}, +        --     t = {"<cmd>TZTop<cr>", "toggle tab bar"}, +        --     z = {"<cmd>TZAtaraxis<cr>", "toggle zen"} +        -- } +    } -local opts = { -    mode = "n", -- NORMAL mode -    prefix = "<leader>", -    buffer = nil, -- Global mappings. Specify a buffer number for buffer local mappings -    silent = true, -- use `silent` when creating keymaps -    noremap = true, -- use `noremap` when creating keymaps -    nowait = false -- use `nowait` when creating keymaps -} - --- no hl -vim.api.nvim_set_keymap('n', '<Leader>h', ':let @/=""<CR>', {noremap = true, silent = true}) - --- explorer -vim.api.nvim_set_keymap('n', '<Leader>e', ":NvimTreeToggle<CR>", {noremap = true, silent = true}) - --- telescope -vim.api.nvim_set_keymap('n', '<Leader>f', ':Telescope find_files<CR>', {noremap = true, silent = true}) - --- dashboard -vim.api.nvim_set_keymap('n', '<Leader>;', ':Dashboard<CR>', {noremap = true, silent = true}) - --- Comments -vim.api.nvim_set_keymap("n", "<leader>/", ":CommentToggle<CR>", {noremap = true, silent = true}) -vim.api.nvim_set_keymap("v", "<leader>/", ":CommentToggle<CR>", {noremap = true, silent = true}) - --- close buffer -vim.api.nvim_set_keymap("n", "<leader>c", ":BufferClose<CR>", {noremap = true, silent = true}) - --- open projects -vim.api.nvim_set_keymap('n', '<leader>p', ":lua require'telescope'.extensions.project.project{}<CR>", -                        {noremap = true, silent = true}) - -vim.api.nvim_set_keymap("n", "<leader>z", ":TZAtaraxis<CR>", {noremap = true, silent = true}) --- z = {"<cmd>TZAtaraxis<cr>", "toggle zen"} - --- TODO create entire treesitter section - -local mappings = { - -    ["/"] = "Comment", -    ["c"] = "Close Buffer", -    ["e"] = "Explorer", -    ["f"] = "Find File", -    ["h"] = "No Highlight", -    ["p"] = "Projects", -    ["z"] = "Zen", -    [";"] = "Dashboard", -    b = { -      name = "+Buffers", -      j = {"<cmd>BufferPick<cr>", "jump to buffer"}, -      w = {"<cmd>BufferWipeout<cr>", "wipeout buffer"}, -      e = {"<cmd>BufferCloseAllButCurrent<cr>", "close all but current buffer"}, -      h = {"<cmd>BufferCloseBuffersLeft<cr>", "close all buffers to the left"}, -      l = {"<cmd>BufferCloseBuffersRight<cr>", "close all BufferLines to the right"}, -      D = {"<cmd>BufferOrderByDirectory<cr>", "sort BufferLines automatically by directory"}, -      L = {"<cmd>BufferOrderByLanguage<cr>", "sort BufferLines automatically by language"}, -    }, - - -    d = { -        name = "Diagnostics", -        t = {"<cmd>TroubleToggle<cr>", "trouble"}, -        w = {"<cmd>TroubleToggle lsp_workspace_diagnostics<cr>", "workspace"}, -        d = {"<cmd>TroubleToggle lsp_document_diagnostics<cr>", "document"}, -        q = {"<cmd>TroubleToggle quickfix<cr>", "quickfix"}, -        l = {"<cmd>TroubleToggle loclist<cr>", "loclist"}, -        r = {"<cmd>TroubleToggle lsp_references<cr>", "references"} -    }, - --- " Available Debug Adapters: --- "   https://microsoft.github.io/debug-adapter-protocol/implementors/adapters/ --- "  --- " Adapter configuration and installation instructions: --- "   https://github.com/mfussenegger/nvim-dap/wiki/Debug-Adapter-installation --- "  --- " Debug Adapter protocol: --- "   https://microsoft.github.io/debug-adapter-protocol/ --- " Debugging --- command! DebugToggleBreakpoint lua require'dap'.toggle_breakpoint() --- command! DebugStart lua require'dap'.continue() --- command! DebugContinue lua require'dap'.continue() --- command! DebugStepOver lua require'dap'.step_over() --- command! DebugStepOut lua require'dap'.step_out() --- command! DebugStepInto lua require'dap'.step_into() --- command! DebugToggleRepl lua require'dap'.repl.toggle() --- command! DebugGetSession lua require'dap'.session() -    D = { -        name = "Debug", -        b = {"<cmd>DebugToggleBreakpoint<cr>", "Toggle Breakpoint"}, -        c = {"<cmd>DebugContinue<cr>", "Continue"}, -        i = {"<cmd>DebugStepInto<cr>", "Step Into"}, -        o = {"<cmd>DebugStepOver<cr>", "Step Over"}, -        r = {"<cmd>DebugToggleRepl<cr>", "Toggle Repl"}, -        s = {"<cmd>DebugStart<cr>", "Start"} -    }, -    g = { -        name = "Git", -        j = {"<cmd>lua require 'lv-utils'.next_hunk()<cr>", "Next Hunk"}, -        k = {"<cmd>lua require 'lv-utils'.prev_hunk()<cr>", "Prev Hunk"}, -        l = {"<cmd>lua require 'lv-utils'.blame_line()<cr>", "Blame"}, -        p = {"<cmd>lua require 'lv-utils'.preview_hunk()<cr>", "Preview Hunk"}, -        r = {"<cmd>lua require 'lv-utils'.reset_hunk()<cr>", "Reset Hunk"}, -        R = {"<cmd>lua require 'lv-utils'.reset_buffer()<cr>", "Reset Buffer"}, -        s = {"<cmd>lua require 'lv-utils'.stage_hunk()<cr>", "Stage Hunk"}, -        u = {"<cmd>lua require 'lv-utils'.undo_stage_hunk()<cr>", "Undo Stage Hunk"}, -        o = {"<cmd>Telescope git_status<cr>", "Open changed file"}, -        b = {"<cmd>Telescope git_branches<cr>", "Checkout branch"}, -        c = {"<cmd>Telescope git_commits<cr>", "Checkout commit"}, -        C = {"<cmd>Telescope git_bcommits<cr>", "Checkout commit(for current file)"} -    }, -    l = { -        name = "LSP", -        a = {"<cmd>Lspsaga code_action<cr>", "Code Action"}, -        A = {"<cmd>Lspsaga range_code_action<cr>", "Selected Action"}, -        d = {"<cmd>Telescope lsp_document_diagnostics<cr>", "Document Diagnostics"}, -        D = {"<cmd>Telescope lsp_workspace_diagnostics<cr>", "Workspace Diagnostics"}, -        f = {"<cmd>lua require 'lv-utils'.formatting()<cr>", "Format"}, -        h = {"<cmd>Lspsaga hover_doc<cr>", "Hover Doc"}, -        i = {"<cmd>LspInfo<cr>", "Info"}, -        l = {"<cmd>Lspsaga lsp_finder<cr>", "LSP Finder"}, -        L = {"<cmd>Lspsaga show_line_diagnostics<cr>", "Line Diagnostics"}, -        p = {"<cmd>Lspsaga preview_definition<cr>", "Preview Definition"}, -        q = {"<cmd>Telescope quickfix<cr>", "Quickfix"}, -        r = {"<cmd>Lspsaga rename<cr>", "Rename"}, -        t = {"<cmd>LspTypeDefinition<cr>", "Type Definition"}, -        x = {"<cmd>cclose<cr>", "Close Quickfix"}, -        s = {"<cmd>Telescope lsp_document_symbols<cr>", "Document Symbols"}, -        S = {"<cmd>Telescope lsp_dynamic_workspace_symbols<cr>", "Workspace Symbols"} -    }, -    r = { -        name = "Replace", -        f = {"<cmd>lua require('spectre').open_file_search()<cr>", "Current File"}, -        p = {"<cmd>lua require('spectre').open()<cr>", "Project"} -    }, -    s = { -        name = "Search", -        b = {"<cmd>Telescope git_branches<cr>", "Checkout branch"}, -        c = {"<cmd>Telescope colorscheme<cr>", "Colorscheme"}, -        d = {"<cmd>Telescope lsp_document_diagnostics<cr>", "Document Diagnostics"}, -        D = {"<cmd>Telescope lsp_workspace_diagnostics<cr>", "Workspace Diagnostics"}, -        f = {"<cmd>Telescope find_files<cr>", "Find File"}, -        h = {"<cmd>Telescope help_tags<cr>", "Find Help"}, -        m = {"<cmd>Telescope marks<cr>", "Marks"}, -        M = {"<cmd>Telescope man_pages<cr>", "Man Pages"}, -        r = {"<cmd>Telescope oldfiles<cr>", "Open Recent File"}, -        R = {"<cmd>Telescope registers<cr>", "Registers"}, -        t = {"<cmd>Telescope live_grep<cr>", "Text"} -    }, -    S = { -        name = "Session", -        s = {"<cmd>SessionSave<cr>", "Save Session"}, -        l = {"<cmd>SessionLoad<cr>", "Load Session"} -    }, -    -- extras -    -- z = { -    --     name = "Zen", -    --     s = {"<cmd>TZBottom<cr>", "toggle status line"}, -    --     t = {"<cmd>TZTop<cr>", "toggle tab bar"}, -    --     z = {"<cmd>TZAtaraxis<cr>", "toggle zen"} +    if O.extras then +        mappings["L"] = { +            name = "+Latex", +            c = {"<cmd>VimtexCompile<cr>", "Toggle Compilation Mode"}, +            f = {"<cmd>call vimtex#fzf#run()<cr>", "Fzf Find"}, +            i = {"<cmd>VimtexInfo<cr>", "Project Information"}, +            s = {"<cmd>VimtexStop<cr>", "Stop Project Compilation"}, +            t = {"<cmd>VimtexTocToggle<cr>", "Toggle Table Of Content"}, +            v = {"<cmd>VimtexView<cr>", "View PDF"} +        } +    end +    -- TODO come back and fix visual mappings +    -- local visualOpts = { +    --     mode = "v", -- Visual mode +    --     prefix = "<leader>", +    --     buffer = nil, -- Global mappings. Specify a buffer number for buffer local mappings +    --     silent = true, -- use `silent` when creating keymaps +    --     noremap = true, -- use `noremap` when creating keymaps +    --     nowait = false -- use `nowait` when creating keymaps      -- } -} - -if O.extras then -    mappings["L"] = { -        name = "+Latex", -        c = {"<cmd>VimtexCompile<cr>", "Toggle Compilation Mode"}, -        f = {"<cmd>call vimtex#fzf#run()<cr>", "Fzf Find"}, -        i = {"<cmd>VimtexInfo<cr>", "Project Information"}, -        s = {"<cmd>VimtexStop<cr>", "Stop Project Compilation"}, -        t = {"<cmd>VimtexTocToggle<cr>", "Toggle Table Of Content"}, -        v = {"<cmd>VimtexView<cr>", "View PDF"} -    } -end --- TODO come back and fix visual mappings --- local visualOpts = { ---     mode = "v", -- Visual mode ---     prefix = "<leader>", ---     buffer = nil, -- Global mappings. Specify a buffer number for buffer local mappings ---     silent = true, -- use `silent` when creating keymaps ---     noremap = true, -- use `noremap` when creating keymaps ---     nowait = false -- use `nowait` when creating keymaps --- } - --- local visualMappings = { + +    -- local visualMappings = {      -- ["/"] = {"<cmd>CommentToggle<cr>", "Comment"},      -- r = { -        -- name = "Replace", -        -- f = {"<cmd>lua require('spectre').open_visual({path = vim.fn.expand('%')})<cr>", "File"}, -        -- p = {"<cmd>lua require('spectre').open_visual()<cr>", "Project"} +    -- name = "Replace", +    -- f = {"<cmd>lua require('spectre').open_visual({path = vim.fn.expand('%')})<cr>", "File"}, +    -- p = {"<cmd>lua require('spectre').open_visual()<cr>", "Project"}      -- } --- } +    -- } + +    local wk = require("which-key") +    wk.register(mappings, opts) +    -- wk.register(visualMappings, visualOpts) +end -local wk = require("which-key") -wk.register(mappings, opts) --- wk.register(visualMappings, visualOpts) +return M | 
