From 5c588a091882eb33921adcd7eb97dd0c4e89bfd4 Mon Sep 17 00:00:00 2001 From: Shi Han NG Date: Sat, 31 Aug 2024 07:49:55 +0900 Subject: [PATCH] Add ZellijNavigate*Tab commands --- lua/zellij-nav/init.lua | 42 ++++++++++++++++++++++++++++++----------- 1 file changed, 31 insertions(+), 11 deletions(-) diff --git a/lua/zellij-nav/init.lua b/lua/zellij-nav/init.lua index d1abdd2..0b0a727 100644 --- a/lua/zellij-nav/init.lua +++ b/lua/zellij-nav/init.lua @@ -1,9 +1,8 @@ local M = {} local function nav(short_direction, direction, action) - -- Use "move-focus" if nav is called via user command or - -- action is nil. - if type(action) == "table" or not action then + -- Use "move-focus" if action is nil. + if not action then action = "move-focus" end @@ -25,20 +24,36 @@ local function nav(short_direction, direction, action) end end -function M.up(action) - nav("k", "up", action) +function M.up() + nav("k", "up", nil) end -function M.down(action) - nav("j", "down", action) +function M.down() + nav("j", "down", nil) end -function M.right(action) - nav("l", "right", action) +function M.right() + nav("l", "right", nil) end -function M.left(action) - nav("h", "left", action) +function M.left() + nav("h", "left", nil) +end + +function M.up_tab() + nav("k", "up", "move-focus-or-tab") +end + +function M.down_tab() + nav("j", "down", "move-focus-or-tab") +end + +function M.right_tab() + nav("l", "right", "move-focus-or-tab") +end + +function M.left_tab() + nav("h", "left", "move-focus-or-tab") end -- create our exported setup() function @@ -48,6 +63,11 @@ function M.setup(opts) vim.api.nvim_create_user_command("ZellijNavigateDown", M.down, {}) vim.api.nvim_create_user_command("ZellijNavigateLeft", M.left, {}) vim.api.nvim_create_user_command("ZellijNavigateRight", M.right, {}) + + vim.api.nvim_create_user_command("ZellijNavigateUpTab", M.up_tab, {}) + vim.api.nvim_create_user_command("ZellijNavigateDownTab", M.down_tab, {}) + vim.api.nvim_create_user_command("ZellijNavigateLeftTab", M.left_tab, {}) + vim.api.nvim_create_user_command("ZellijNavigateRightTab", M.right_tab, {}) end return M