feat(LazyVSCode): operations on Groups
This commit is contained in:
14
README.md
14
README.md
@@ -9,6 +9,7 @@
|
||||
|`<leader>` |l |- | Toggle Line Number Mode |
|
||||
|`<leader>` |e |- | Toggle Editor Inside Group |
|
||||
|`<leader>` |E |- | Toggle Editor Cross-Groups |
|
||||
|`<leader>` |g |- | Toggle Groups |
|
||||
|`<leader>` |z |- | Toggle Zen Mode |
|
||||
|`<leader>` |/ |- | Toggle Flash.nvim Search |
|
||||
|b (side bar) |e |- | Open Sidebar Explorer |
|
||||
@@ -18,7 +19,12 @@
|
||||
|f (file) |s |- | File search with VSCode ctrl-p |
|
||||
|s (search) |
|
||||
|e (editor) |d |- | Close Editor |
|
||||
|e |l |- | Search Editor Inside Group: Least |
|
||||
|e |p |- | Search Editor Inside Group: Previous |
|
||||
|e |s |- | Search Editor Cross-Groups: Previous |
|
||||
|g (group) | |
|
||||
|e |g |- | Search Editor Cross-Groups |
|
||||
|e |i |- | Search Editor Inside Group |
|
||||
|e |n |- | Move Editor to Next Group |
|
||||
|e |p |- | Move Editor to Previous Group |
|
||||
|g (group) |= |- | Equal Groups Sizes |
|
||||
|g |d |- | Close Group but Remain Editors |
|
||||
|g |D |- | Close Group and Editors |
|
||||
|g |s |- | Split Group Horizontally |
|
||||
|g |v |- | Split Group Vertically |
|
||||
|
@@ -98,12 +98,6 @@ vim.keymap.set("n", "<leader>cf", function()
|
||||
vscode.action("editor.action.formatDocument")
|
||||
end, { desc = "Format Code" })
|
||||
|
||||
-- Editor Groups
|
||||
-- TODO: <leader><leader>g to toggle between two groups
|
||||
-- TODO: <leader>gv to split vertically
|
||||
-- TODO: <leader>gs to split horizontally
|
||||
-- TODO: <leader>gd to delete a group
|
||||
|
||||
-- Editor
|
||||
local tabs = {
|
||||
toggleInGroup = function()
|
||||
@@ -133,14 +127,46 @@ local tabs = {
|
||||
vscode.action("workbench.action.moveEditorToPreviousGroup")
|
||||
end,
|
||||
}
|
||||
vim.keymap.set("n", "<leader><leader>e", tabs.toggleInGroup, { desc = "Toggle Between Two Tabs inside Group" })
|
||||
vim.keymap.set("n", "<leader><leader>E", tabs.toggleCrossGroups, { desc = "Toggle Between Two Tabs Cross-Groups" })
|
||||
vim.keymap.set("n", "<leader>es", tabs.select, { desc = "Select Tab Cross-Groups" })
|
||||
vim.keymap.set("n", "<leader>ep", tabs.previous, { desc = "Select Tab in Group: Previous" })
|
||||
vim.keymap.set("n", "<leader>el", tabs.least, { desc = "Select Tab in Group: Least" })
|
||||
vim.keymap.set("n", "<leader>ed", tabs.close, { desc = "Close Tab" })
|
||||
vim.keymap.set('n', "<leader>emn", tabs.moveToNextGroup, { desc = "Move Editor to the Next Group" })
|
||||
vim.keymap.set('n', "<leader>emp", tabs.moveToPreviousGroup, { desc = "Move Editor to the Previous Group" })
|
||||
vim.keymap.set("n", "<leader><leader>e", tabs.toggleInGroup, { desc = "Toggle Between Two Editors inside Group" })
|
||||
vim.keymap.set("n", "<leader><leader>E", tabs.toggleCrossGroups, { desc = "Toggle Between Two Editors Cross-Groups" })
|
||||
vim.keymap.set("n", "<leader>eg", tabs.select, { desc = "Select Editor Cross-Groups" })
|
||||
vim.keymap.set("n", "<leader>ei", tabs.previous, { desc = "Select Editor Inside Group" })
|
||||
-- vim.keymap.set("n", "<leader>ep", tabs.previous, { desc = "Select Editor in Group: Previous" })
|
||||
-- vim.keymap.set("n", "<leader>el", tabs.least, { desc = "Select Editor in Group: Least" })
|
||||
vim.keymap.set("n", "<leader>ed", tabs.close, { desc = "Close Editor" })
|
||||
vim.keymap.set('n', "<leader>en", tabs.moveToNextGroup, { desc = "Move Editor to the Next Group" })
|
||||
vim.keymap.set('n', "<leader>ep", tabs.moveToPreviousGroup, { desc = "Move Editor to the Previous Group" })
|
||||
|
||||
-- Editor Groups
|
||||
-- TODO: <leader>gd to delete a group
|
||||
local groups = {
|
||||
toggle = function()
|
||||
vscode.action("workbench.action.focusNextGroup")
|
||||
end,
|
||||
vertical = function()
|
||||
vscode.action("workbench.action.splitEditorRight")
|
||||
-- vscode.action("workbench.action.moveEditorToNextGroup")
|
||||
end,
|
||||
horizontal = function()
|
||||
vscode.action("workbench.action.splitEditorDown")
|
||||
-- vscode.action("workbench.action.moveEditorToPreviousGroup")
|
||||
end,
|
||||
equalGroupSize = function ()
|
||||
vscode.action("workbench.action.evenEditorWidths")
|
||||
end,
|
||||
close = function ()
|
||||
vscode.action("workbench.action.closeGroup")
|
||||
end,
|
||||
alsoCloseEditors = function ()
|
||||
vscode.action("workbench.action.closeEditorsAndGroup")
|
||||
end,
|
||||
}
|
||||
vim.keymap.set("n", "<leader><leader>g", groups.toggle, { desc = "Focus Next Group" })
|
||||
vim.keymap.set("n", "<leader>gv", groups.vertical, { desc = "Split Editor Group Vertically" })
|
||||
vim.keymap.set("n", "<leader>gs", groups.horizontal, { desc = "Split Editor Group Horizontally" })
|
||||
vim.keymap.set("n", "<leader>g=", groups.equalGroupSize, { desc = "Equal Group Size" })
|
||||
vim.keymap.set("n", "<leader>gd", groups.close, { desc = "Close Group, Remain Editors" })
|
||||
vim.keymap.set("n", "<leader>gD", groups.alsoCloseEditors, { desc = "Close Group and Editors" })
|
||||
|
||||
-- Files
|
||||
local files = {
|
||||
|
Reference in New Issue
Block a user