diff --git a/lua/config/mappings.lua b/lua/config/mappings.lua index 32e261b..1e0de74 100644 --- a/lua/config/mappings.lua +++ b/lua/config/mappings.lua @@ -86,10 +86,136 @@ function UnMapDHM() vim.api.nvim_del_keymap('n', 'N') end -local handle = io.popen 'lsusb | grep -c Sofle' -local automap = handle:read '*n' -handle:close() +-- local handle = io.popen 'lsusb | grep -c Sofle' +-- local automap = handle:read '*n' +-- handle:close() -if automap or os.getenv("SSH_TTY") then - MapDHM() -end +-- if automap or os.getenv("SSH_TTY") then +MapDHM() +-- end + +local wk = require 'which-key' + +-- which-key {{{ +wk.setup { + plugins = { + marks = true, -- shows a list of your marks on ' and ` + registers = true, -- shows your registers on " in NORMAL or in INSERT mode + -- the presets plugin, adds help for a bunch of default keybindings in Neovim + -- No actual key bindings are created + presets = { + operators = true, -- adds help for operators like d, y, ... + motions = true, -- adds help for motions + text_objects = false, -- help for text objects triggered after entering an operator + windows = true, -- default bindings on + 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 = 'none', -- none, single, double, shadow + position = 'bottom', -- bottom, top + margin = { 1, 0, 1, 0 }, -- extra window margin [top, right, bottom, left] + padding = { 1, 1, 1, 1 }, -- 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 = { '', '', '', '', 'call', 'lua', '^:', '^ ' }, -- hide mapping boilerplate + show_help = true, -- show help message on the command line when the popup is visible +} + +local opts = { + mode = 'n', -- NORMAL mode + prefix = '', + 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 +} +-- }}} +-- leader mappings {{{ +-- TODO create entire treesitter section +local mappings = { + [''] = {'Lf', 'Lf'}, + ['rr'] = 'Search and replace all', + ['rs'] = 'Search and replace', + -- ["b"] = {"FindrBuffers", "List buffers"}, + ['k'] = { 'bd!', 'Kill buffer' }, + ['n'] = { 'bn', 'Next buffer' }, + ['p'] = { 'bp', 'Next buffer' }, + ['h'] = { 'TSBufToggle highlight', 'Enable TS highlight' }, + -- ['t'] = { 'ToggleTerm direction=horizontal', 'HTerminal' }, + ['T'] = { 'ToggleTerm direction=vertical', 'VTerminal' }, + ['D'] = 'Type definition', + ['rn'] = 'Rename', + ['ca'] = 'Code action', + ['1'] = { 'b 1', 'Buffer 1' }, + ['2'] = { 'b 2', 'Buffer 2' }, + ['3'] = { 'b 3', 'Buffer 3' }, + ['4'] = { 'b 4', 'Buffer 4' }, + ['5'] = { 'b 5', 'Buffer 5' }, + ['g'] = { 'Lazygit', 'Lazygit' }, + l = { + name = 'LSP', + f = 'Format', + i = 'Lsp Info', + a = 'Code action', + j = 'Next diagnostic', + k = 'Prev diagnostic', + r = 'Rename', + s = 'Signature Help', + q = 'Set LocList', + }, + [''] = { + name = 'Tab', + n = { 'tabnew', 'New' }, + p = { 'tabp', 'Previous' }, + d = { 'tabclose', 'Close' }, + [''] = { 'tabnext', 'Next' }, + ['1'] = { '1gt', 'Go to tab 1' }, + ['2'] = { '2gt', 'Go to tab 2' }, + ['3'] = { '3gt', 'Go to tab 3' }, + ['4'] = { '4gt', 'Go to tab 4' }, + ['5'] = { '5gt', 'Go to tab 5' }, + ['6'] = { '6gt', 'Go to tab 6' }, + ['7'] = { '7gt', 'Go to tab 7' }, + ['8'] = { '8gt', 'Go to tab 8' }, + ['9'] = { '9gt', 'Go to tab 9' }, + }, + w = { + name = 'Window', + v = { 'v', 'Vertical split' }, + h = { 's', 'Horizontal split' }, + }, + t = { + name = 'Telescope', + f = { 'Telescope find_files', 'Files' }, + g = { 'Telescope live_grep', 'Grep' }, + b = { 'Telescope buffers', 'Buffers' }, + t = { 'Telescope', 'Pickers' }, + r = { 'Telescope lsp_references', 'Lsp references' }, + }, + -- d = { + -- name = 'DAP', + -- b = { "lua require'dap'.toggle_breakpoint()", 'Toggle breakpoint' }, + -- c = { "lua require'dap'.continue()", 'Continue' }, + -- i = { "lua require'dap'.step_into()", 'Step into' }, + -- o = { "lua require'dap'.step_over()", 'Step over' }, + -- O = { "lua require'dap'.step_out()", 'Step out' }, + -- r = { "lua require'dap'.repl_toggle()", 'Toggle repl' }, + -- l = { "lua require'dap'.run_last()", 'Run last' }, + -- u = { "lua require'dapui'.toggle()", 'UI' }, + -- t = { "lua require'dap'.terminate()", 'Terminate' }, + -- }, +} +-- }}} +wk.register(mappings, opts) diff --git a/lua/plugins/which-key.lua b/lua/plugins/which-key.lua deleted file mode 100644 index 1c4c8c4..0000000 --- a/lua/plugins/which-key.lua +++ /dev/null @@ -1,138 +0,0 @@ -local M = { - 'folke/which-key.nvim', - lazy = false, - -- event = "VeryLazy", -} - -function M.config() - local wk = require 'which-key' - - -- which-key {{{ - wk.setup { - plugins = { - marks = true, -- shows a list of your marks on ' and ` - registers = true, -- shows your registers on " in NORMAL or in INSERT mode - -- the presets plugin, adds help for a bunch of default keybindings in Neovim - -- No actual key bindings are created - presets = { - operators = true, -- adds help for operators like d, y, ... - motions = true, -- adds help for motions - text_objects = false, -- help for text objects triggered after entering an operator - windows = true, -- default bindings on - 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 = 'none', -- none, single, double, shadow - position = 'bottom', -- bottom, top - margin = { 1, 0, 1, 0 }, -- extra window margin [top, right, bottom, left] - padding = { 1, 1, 1, 1 }, -- 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 = { '', '', '', '', 'call', 'lua', '^:', '^ ' }, -- hide mapping boilerplate - show_help = true, -- show help message on the command line when the popup is visible - } - - local opts = { - mode = 'n', -- NORMAL mode - prefix = '', - 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 - } - -- }}} - -- leader mappings {{{ - -- TODO create entire treesitter section - local mappings = { - ['rr'] = 'Search and replace all', - ['rs'] = 'Search and replace', - -- ["b"] = {"FindrBuffers", "List buffers"}, - ['k'] = { 'bd!', 'Kill buffer' }, - ['n'] = { 'bn', 'Next buffer' }, - ['p'] = { 'bp', 'Next buffer' }, - ['h'] = { 'TSBufToggle highlight', 'Enable TS highlight' }, - -- ['t'] = { 'ToggleTerm direction=horizontal', 'HTerminal' }, - ['T'] = { 'ToggleTerm direction=vertical', 'VTerminal' }, - ['D'] = 'Type definition', - ['rn'] = 'Rename', - ['ca'] = 'Code action', - ['1'] = { 'b 1', 'Buffer 1' }, - ['2'] = { 'b 2', 'Buffer 2' }, - ['3'] = { 'b 3', 'Buffer 3' }, - ['4'] = { 'b 4', 'Buffer 4' }, - ['5'] = { 'b 5', 'Buffer 5' }, - ['g'] = { 'LazyGit', 'Lazygit' }, - l = { - name = 'LSP', - f = 'Format', - i = 'Lsp Info', - I = 'Lsp Install Info', - a = 'Code action', - j = 'Next diagnostic', - k = 'Prev diagnostic', - r = 'Rename', - s = 'Signature Help', - q = 'Set LocList', - }, - [''] = { - name = 'Tab', - n = { 'tabnew', 'New' }, - p = { 'tabp', 'Previous' }, - d = { 'tabclose', 'Close' }, - [''] = { 'tabnext', 'Next' }, - ['1'] = { '1gt', 'Go to tab 1' }, - ['2'] = { '2gt', 'Go to tab 2' }, - ['3'] = { '3gt', 'Go to tab 3' }, - ['4'] = { '4gt', 'Go to tab 4' }, - ['5'] = { '5gt', 'Go to tab 5' }, - ['6'] = { '6gt', 'Go to tab 6' }, - ['7'] = { '7gt', 'Go to tab 7' }, - ['8'] = { '8gt', 'Go to tab 8' }, - ['9'] = { '9gt', 'Go to tab 9' }, - }, - w = { - name = 'Window', - v = { 'v', 'Vertical split' }, - h = { 's', 'Horizontal split' }, - a = 'Add workspace folder', - r = 'Remove workspace folder', - l = 'List workspace folders', - }, - t = { - name = 'Telescope', - f = { 'Telescope find_files', 'Files' }, - g = { 'Telescope live_grep', 'Grep' }, - b = { 'Telescope buffers', 'Buffers' }, - t = { 'Telescope', 'Pickers' }, - r = { 'Telescope lsp_references', 'Lsp references' }, - }, - -- d = { - -- name = 'DAP', - -- b = { "lua require'dap'.toggle_breakpoint()", 'Toggle breakpoint' }, - -- c = { "lua require'dap'.continue()", 'Continue' }, - -- i = { "lua require'dap'.step_into()", 'Step into' }, - -- o = { "lua require'dap'.step_over()", 'Step over' }, - -- O = { "lua require'dap'.step_out()", 'Step out' }, - -- r = { "lua require'dap'.repl_toggle()", 'Toggle repl' }, - -- l = { "lua require'dap'.run_last()", 'Run last' }, - -- u = { "lua require'dapui'.toggle()", 'UI' }, - -- t = { "lua require'dap'.terminate()", 'Terminate' }, - -- }, - } - -- }}} - wk.register(mappings, opts) -end - -return M