return { 'xeluxee/competitest.nvim', requires = "MunifTanjim/nui.nvim", config = function() require("competitest").setup{ -- template_file = { -- cpp = "~/.config/nvim/templates/template.cpp", -- c = "~/.config/nvim/templates/template.c" -- } template_file = "~/.config/nvim/templates/template.$(FEXT)", evaluate_template_modifiers = true, received_contests_directory = "/tmp/Competitive Programming/$(JUDGE)/$(CONTEST)", received_problems_path = function(task, extension) local hyphen = string.find(task.group, " %- ") if hyphen == nil then return string.format("%s/%s/%s.%s", vim.fn.getcwd(), task.name, task.name, extension) else local contest = string.sub(task.group, hyphen + 3) return string.format("%s/%s/%s.%s", vim.fn.getcwd(), contest, task.name, extension) end end, testcases_use_single_file = true, compile_command = { c = { exec = "gcc", args = { "-Wall", "-g", "-DDEBUG", "-fsanitize=address,undefined", "-std=c++17", "$(FNAME)", "-o", "$(FNOEXT).out" } }, cpp = { exec = "g++", args = { "-Wall", "-g", "-DDEBUG", "-fsanitize=address,undefined", "-std=c++17", "$(FNAME)", "-o", "$(FNOEXT).out" } }, }, run_command = { c = { exec = "./$(FNOEXT).out" }, cpp = { exec = "./$(FNOEXT).out" } } } end }