diff --git a/README.md b/README.md index 4d43af8..327b399 100644 --- a/README.md +++ b/README.md @@ -150,6 +150,12 @@ Any options that are not specified when calling `setup` will take on their defau move_down = "j", add_cell_before = "a", add_cell_after = "b", + split_cell = "s", + swap_up = "K", + swap_down = "J", + merge_up = "m", + merge_down = "M", + }, -- The repl plugin with which to interface -- Current options: "iron" for iron.nvim, "toggleterm" for toggleterm.nvim, diff --git a/lua/notebook-navigator/init.lua b/lua/notebook-navigator/init.lua index 797d291..c857c1f 100644 --- a/lua/notebook-navigator/init.lua +++ b/lua/notebook-navigator/init.lua @@ -155,6 +155,7 @@ end local hydra_hint = [[ _j_/_k_: move down/up _c_: comment _a_/_b_: add cell above/below _x_: run & move down _s_: split cell _X_: run + _J_/_K_: swap down/up _m_/_M_: merge with cell above/below __/_q_: exit ]] @@ -207,6 +208,34 @@ local function activate_hydra(config) M.split_cell, { desc = "Split cell", nowait = true }, }, + { + config.hydra_keys.swap_up, + function() + M.swap_cell "u" + end, + { desc = "Swap with cell above", nowait = true }, + }, + { + config.hydra_keys.swap_down, + function() + M.swap_cell "d" + end, + { desc = "Swap with cell below", nowait = true }, + }, + { + config.hydra_keys.merge_up, + function() + M.merge_cell "u" + end, + { desc = "Merge with cell above", nowait = true }, + }, + { + config.hydra_keys.merge_down, + function() + M.merge_cell "d" + end, + { desc = "Merge with cell below", nowait = true }, + }, { "q", nil, { exit = true, nowait = true, desc = "exit" } }, { "", nil, { exit = true, nowait = true, desc = "exit" } }, } @@ -263,6 +292,10 @@ M.config = { add_cell_before = "a", add_cell_after = "b", split_cell = "s", + swap_up = "K", + swap_down = "J", + merge_up = "m", + merge_down = "M", }, -- The repl plugin with which to interface -- Current options: "iron" for iron.nvim, "toggleterm" for toggleterm.nvim,