From e72256be161a60a0671b2ed2868f4d3e99559645 Mon Sep 17 00:00:00 2001 From: justanothercatgirl Date: Thu, 22 Feb 2024 13:42:19 +0300 Subject: added coderunner and toggleterm functionality to nvim for fuck's sake JUST LOOK AT VARIABLE `local script` IN `.config/nvim/lua/user/coderunner.lua` That shit's RIDICULOUS --- .config/nvim/lua/user/coderunner.lua | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 .config/nvim/lua/user/coderunner.lua (limited to '.config/nvim/lua/user/coderunner.lua') diff --git a/.config/nvim/lua/user/coderunner.lua b/.config/nvim/lua/user/coderunner.lua new file mode 100644 index 0000000..3049893 --- /dev/null +++ b/.config/nvim/lua/user/coderunner.lua @@ -0,0 +1,20 @@ +local term = require'toggleterm' + +-- Define the code runner configuration +require('code_runner').setup({ + mode = "toggleterm", + focus = true, + startinsert = true, + filetype = { + rust = 'cargo check; if [ \\$? -ne 0 ]; then echo cargo check failed; else cargo run; if [ \\$? -ne 0 ]; then cargo test --test-threads=1; sleep 1; fi; fi; echo $file > /dev/null', + cpp = function() + local script = + 'echo $file > /dev/null;' .. + 'while [[ ! -f CMakeLists.txt && \\\"\\$PWD\\\" != / ]]; do cd ..; done;' .. + 'if [[ -f CMakeLists.txt ]]; then mkdir -p build && cd build && cmake -DCMAKE_BUILD_TYPE=Debug .. && make -j24 && ' .. + './\\$(sed -nr \\\"/add_executable/s/.*add_executable\\\\((\\\\S+).+/\\\\1/p\\\" ../CMakeLists.txt); fi;' .. + 'cd ..' + vim.cmd(string.format("TermExec cmd='%s'", script)) + end, + }, +}) -- cgit v1.2.3-70-g09d2