diff --git a/lua/plugins/competitest.lua b/lua/plugins/competitest.lua index b57280a..4c7077b 100644 --- a/lua/plugins/competitest.lua +++ b/lua/plugins/competitest.lua @@ -8,9 +8,19 @@ return { -- } template_file = "~/.config/nvim/templates/template.$(FEXT)", 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", "$(FNAME)", "-o", "$(FNOEXT).out" } }, - cpp = { exec = "g++", args = { "-Wall", "-g", "-DDEBUG", "-fsanitize=address,undefined", "$(FNAME)", "-o", "$(FNOEXT).out" } }, + 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" },