mirror of
https://github.com/LazyVim/LazyVim.git
synced 2025-07-15 20:04:34 +02:00
100 lines
2.5 KiB
Lua
100 lines
2.5 KiB
Lua
if not vim.g.vscode then
|
|
return {}
|
|
end
|
|
|
|
local enabled = {
|
|
"LazyVim",
|
|
"dial.nvim",
|
|
"flit.nvim",
|
|
"lazy.nvim",
|
|
"leap.nvim",
|
|
"mini.ai",
|
|
"mini.comment",
|
|
"mini.move",
|
|
"mini.pairs",
|
|
"mini.surround",
|
|
"nvim-treesitter",
|
|
"nvim-treesitter-textobjects",
|
|
"nvim-ts-context-commentstring",
|
|
"snacks.nvim",
|
|
"ts-comments.nvim",
|
|
"vim-repeat",
|
|
"yanky.nvim",
|
|
}
|
|
|
|
local Config = require("lazy.core.config")
|
|
local vscode = require("vscode")
|
|
Config.options.checker.enabled = false
|
|
Config.options.change_detection.enabled = false
|
|
Config.options.defaults.cond = function(plugin)
|
|
return vim.tbl_contains(enabled, plugin.name) or plugin.vscode
|
|
end
|
|
vim.g.snacks_animate = false
|
|
|
|
-- Add some vscode specific keymaps
|
|
vim.api.nvim_create_autocmd("User", {
|
|
pattern = "LazyVimKeymapsDefaults",
|
|
callback = function()
|
|
-- VSCode-specific keymaps for search and navigation
|
|
vim.keymap.set("n", "<leader><space>", "<cmd>Find<cr>")
|
|
vim.keymap.set("n", "<leader>/", function()
|
|
vscode.call("workbench.action.findInFiles")
|
|
end)
|
|
vim.keymap.set("n", "<leader>ss", function()
|
|
vscode.call("workbench.action.gotoSymbol")
|
|
end)
|
|
|
|
-- Toggle VS Code integrated terminal
|
|
for _, lhs in ipairs({ "<leader>ft", "<leader>fT", "<c-/>" }) do
|
|
vim.keymap.set("n", lhs, function()
|
|
vscode.call("workbench.action.terminal.toggleTerminal")
|
|
end)
|
|
end
|
|
|
|
-- Keep undo/redo lists in sync with VsCode
|
|
vim.keymap.set("n", "u", function()
|
|
vscode.call("undo")
|
|
end)
|
|
vim.keymap.set("n", "<C-r>", function()
|
|
vscode.call("redo")
|
|
end)
|
|
|
|
-- Navigate VSCode tabs like lazyvim buffers
|
|
vim.keymap.set("n", "<S-h>", function()
|
|
vscode.call("workbench.action.previousEditor")
|
|
end)
|
|
vim.keymap.set("n", "<S-l>", function()
|
|
vscode.call("workbench.action.nextEditor")
|
|
end)
|
|
end,
|
|
})
|
|
|
|
return {
|
|
{
|
|
"snacks.nvim",
|
|
opts = {
|
|
bigfile = { enabled = false },
|
|
dashboard = { enabled = false },
|
|
indent = { enabled = false },
|
|
input = { enabled = false },
|
|
notifier = { enabled = false },
|
|
picker = { enabled = false },
|
|
quickfile = { enabled = false },
|
|
scroll = { enabled = false },
|
|
statuscolumn = { enabled = false },
|
|
},
|
|
},
|
|
{
|
|
"LazyVim/LazyVim",
|
|
config = function(_, opts)
|
|
opts = opts or {}
|
|
-- disable the colorscheme
|
|
opts.colorscheme = function() end
|
|
require("lazyvim").setup(opts)
|
|
end,
|
|
},
|
|
{
|
|
"nvim-treesitter/nvim-treesitter",
|
|
opts = { highlight = { enable = false } },
|
|
},
|
|
}
|