if vim.g.vscode then local vscode = require('vscode') vim.g.mapleader = " " vim.cmd("set clipboard+=unnamedplus") vim.g.clipboard = vim.g.vscode_clipboard local k = function(mode, lhs, rhs) vim.keymap.set(mode, lhs, rhs, { expr = true }) -- expr is required end k("n", "gf", function() vscode.action("editor.action.formatDocument") end) k("n", "K", function() vscode.action("editor.action.showDefinitionPreviewHover") end) k("n", "gD", function() vscode.action("editor.action.goToImplementation") end) k("n", "ca", function() vscode.call("editor.action.quickFix") end) k("n", "dd", function() vscode.call("workbench.actions.view.toggleProblems") end) k("n", "e", function() vscode.call("workbench.view.explorer") end) k("v", "gc", function() vscode.call("editor.action.commentLine", { restore_selection=false }) end) k("n", "gcc", function() vscode.call("editor.action.commentLine", { restore_selection=false }) end) k("n", "cr", function() vscode.call("editor.action.rename") end) else local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" if not (vim.uv or vim.loop).fs_stat(lazypath) then vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", "--branch=stable", -- latest stable release lazypath, }) end vim.opt.rtp:prepend(lazypath) require("vim-options") require("lazy").setup("plugins") end