xeluxee / competitest.nvim

CompetiTest.nvim is a Neovim plugin for Competitive Programming: it can manage and check testcases, download problems and contests from online judges and much more
GNU Lesser General Public License v3.0
381 stars 15 forks source link

When input is null, plugin runs error #33

Open utbuiquoc opened 1 year ago

utbuiquoc commented 1 year ago

image

I've just started using neovim, I'm not sure why I'm getting this error. Add input and it works, if not add input will run error.

Error executing luv callback:
...re/nvim/lazy/competitest.nvim/lua/competitest/runner.lua:214: bad argument #2 to 'write' (data must be string or table of strings, got nil)
stack traceback:
        [C]: in function 'write'
        ...re/nvim/lazy/competitest.nvim/lua/competitest/runner.lua:214: in function 'execute_testcase'
        ...re/nvim/lazy/competitest.nvim/lua/competitest/runner.lua:129: in function 'run_first_testcases'
        ...re/nvim/lazy/competitest.nvim/lua/competitest/runner.lua:139: in function 'callback'
        ...re/nvim/lazy/competitest.nvim/lua/competitest/runner.lua:202: in function <...re/nvim/lazy/competitest.nvim/lua/competitest/runner.lua:168>
Press ENTER or type command to continue
Error executing luv callback:
...re/nvim/lazy/competitest.nvim/lua/competitest/runner.lua:170: attempt to index field 'process' (a nil value)
stack traceback:
        ...re/nvim/lazy/competitest.nvim/lua/competitest/runner.lua:170: in function <...re/nvim/lazy/competitest.nvim/lua/competitest/runner.lua:168>
Press ENTER or type command to continue
xeluxee commented 1 year ago

As README.md states,

Input is necessary for a testcase to be considered, while an output hasn't to be provided necessarily

As a workaround if your program doesn't use stdin you can still write something in testcase input, like a space. I can fix this, but why would you need an empty input in a competitive programming task?

utbuiquoc commented 1 year ago

Sorry to bother, I just find it a bit annoying when it shows the error.