--typescript = "deno run", -- cpp="gcc $fileName -lstdc++ -o $fileNameWithoutExt && $fileNameWithoutExt" local pyrun = "python -u" if vim.fn.has("win32") == 0 then pyrun = "python3 -u" end local rfile = { java = "cd $dir && javac $fileName && java $fileNameWithoutExt", python = pyrun, typescript = "ts-node $dir/$fileName", rust = "cd $dir && rustc $fileName && $dir/$fileNameWithoutExt", cpp = "cd $dir && g++ $fileName -o $fileNameWithoutExt && $dir/$fileNameWithoutExt", scss = "sass $dir/$fileName $dir/$fileNameWithoutExt.css", javascript = 'node "$dir/$fileName"', -- go = "go run .", go = "go run $fileName", } local runProject = {} local cwd = vim.fn.getcwd() local go_mod_path = cwd .. "/go.mod" if vim.fn.filereadable(go_mod_path) ~= 0 then runProject[cwd] = { name = "Go Project (cwd)", command = "go run .", } end return { "CRAG666/code_runner.nvim", lazy = true, cmd = { "RunCode", "RunFile", "RunProject", "RunClose" }, opts = { filetype = rfile, project = runProject, mode = "float", focus = true, startinsert = true, term = { position = "bot", size = 50, }, float = { close_key = "", border = "rounded", height = 0.8, width = 0.8, x = 0.5, y = 0.5, border_hl = "FloatBorder", float_hl = "Normal", blend = 0, }, }, config = function(_, opts) require("code_runner").setup(opts) end, keys = { { "r", "", desc = "  Run", mode = "n" }, { "rr", "RunCode", desc = "Run Code", mode = "n" }, { "rf", "RunFile", desc = "Run File", mode = "n" }, { "rp", "RunProject", desc = "Run Project", mode = "n" }, }, }