Files
nvimconfig/lua/plugins/vscode/actions.lua
T

137 lines
5.2 KiB
Lua

local M = {}
function M.setup(vscode)
local fold = {
unfold_all = function()
vscode.action("editor.unfoldAll")
end,
fold_all = function()
vscode.action("editor.foldAll")
end,
toggle = function()
vscode.action("editor.toggleFold")
end,
}
vim.keymap.set("n", "zR", fold.unfold_all, { desc = "Unfold All" })
vim.keymap.set("n", "zM", fold.fold_all, { desc = "Fold All" })
vim.keymap.set("n", "za", fold.toggle, { desc = "Toggle Fold" })
vim.keymap.set("n", "<leader><leader>z", function()
vscode.action("workbench.action.toggleZenMode")
end, { desc = "Toggle Zen Mode" })
vim.keymap.set("n", "<leader><leader>b", function()
vscode.action("workbench.action.toggleSidebarVisibility")
end, { desc = "Toggle Sidebar Visibility" })
vim.keymap.set("n", "<leader><leader>B", function()
vscode.action("workbench.action.toggleSidebarPosition")
end, { desc = "Toggle Sidebar Position" })
vim.keymap.set("n", "<leader>be", function()
vscode.action("workbench.view.explorer")
end, { desc = "Open Sidebar Explorer" })
vim.keymap.set("n", "<leader>bs", function()
vscode.action("workbench.view.search")
end, { desc = "Open Sidebar Search" })
vim.keymap.set("n", "<leader><leader>l", function()
local line_numbers = vscode.get_config("editor.lineNumbers")
local next_value = line_numbers == "on" and "relative" or "on"
vscode.update_config("editor.lineNumbers", next_value, "workspace")
end, { desc = "Toggle Line Number Mode" })
vim.keymap.set("n", "<leader><leader>w", function()
local wrap_mode = vscode.get_config("editor.wordWrap")
local next_value = wrap_mode == "on" and "off" or "on"
vscode.update_config("editor.wordWrap", next_value, "workspace")
end, { desc = "Toggle Word Wrap Mode" })
vim.keymap.set("n", "<leader>cf", function()
vscode.action("editor.action.formatDocument")
end, { desc = "Format Code" })
vim.keymap.set("n", "<leader><leader>e", function()
vscode.action("workbench.action.quickOpenPreviousRecentlyUsedEditorInGroup")
vscode.action("list.select")
end, { desc = "Toggle Between Two Editors Inside Group" })
vim.keymap.set("n", "<leader><leader>E", function()
vscode.action("workbench.action.quickOpenPreviousRecentlyUsedEditor")
vscode.action("list.select")
end, { desc = "Toggle Between Two Editors Cross Groups" })
vim.keymap.set("n", "<leader>eg", function()
vscode.action("workbench.action.quickOpenPreviousRecentlyUsedEditor")
end, { desc = "Select Editor Cross Groups" })
vim.keymap.set("n", "<leader>ei", function()
vscode.action("workbench.action.quickOpenPreviousRecentlyUsedEditorInGroup")
end, { desc = "Select Editor Inside Group" })
vim.keymap.set("n", "<leader>eh", function()
vscode.action("workbench.action.previousEditorInGroup")
end, { desc = "Previous Editor In Group" })
vim.keymap.set("n", "<leader>el", function()
vscode.action("workbench.action.nextEditorInGroup")
end, { desc = "Next Editor In Group" })
vim.keymap.set("n", "<leader>ed", function()
vscode.action("workbench.action.closeActiveEditor")
end, { desc = "Close Editor" })
vim.keymap.set("n", "<leader>emn", function()
vscode.action("workbench.action.moveEditorToNextGroup")
end, { desc = "Move Editor To Next Group" })
vim.keymap.set("n", "<leader>emp", function()
vscode.action("workbench.action.moveEditorToPreviousGroup")
end, { desc = "Move Editor To Previous Group" })
vim.keymap.set("n", "<leader><leader>g", function()
vscode.action("workbench.action.focusNextGroup")
end, { desc = "Focus Next Group" })
vim.keymap.set("n", "<leader>gv", function()
vscode.action("workbench.action.splitEditorRight")
end, { desc = "Split Editor Group Vertically" })
vim.keymap.set("n", "<leader>gs", function()
vscode.action("workbench.action.splitEditorDown")
end, { desc = "Split Editor Group Horizontally" })
vim.keymap.set("n", "<leader>g=", function()
vscode.action("workbench.action.evenEditorWidths")
end, { desc = "Equal Group Size" })
vim.keymap.set("n", "<leader>gd", function()
vscode.action("workbench.action.closeGroup")
end, { desc = "Close Group, Keep Editors" })
vim.keymap.set("n", "<leader>gD", function()
vscode.action("workbench.action.closeEditorsAndGroup")
end, { desc = "Close Group And Editors" })
vim.keymap.set("n", "<leader>sf", function()
vscode.action("workbench.action.quickOpen")
vscode.action("workbench.action.quickOpenSelectNext")
end, { desc = "Search Files" })
vim.keymap.set("n", "<leader>ss", function()
vscode.action("workbench.action.gotoSymbol")
end, { desc = "Search Symbols" })
vim.keymap.set("n", "<leader>sb", function()
vscode.action("breadcrumbs.focusAndSelect")
end, { desc = "Search Breadcrumbs" })
vim.keymap.set("n", "<leader>se", function()
vscode.action("workbench.action.quickOpenPreviousRecentlyUsedEditor")
end, { desc = "Search Editors Cross Groups" })
end
return M