akinsho / toggleterm.nvim

A neovim lua plugin to help easily manage multiple terminal windows
GNU General Public License v3.0
4.06k stars 170 forks source link

Question. Reuse terminal to execute new command #573

Open daniilrozanov opened 3 months ago

daniilrozanov commented 3 months ago

I am writing plugin, which can build project. Looks good to use toggleterm as environment to run build command. I don't want to allow user to execute any other commands but build, so i create terminal as

local cmake_build = Terminal:new({ cmd = "cmake --build ...", --[...]-- })

But, when building is done, user may want to build project again. I don't want to delete this terminal and open new one, since it requires for me to throw old terminal's size to new one and other boilerplate. Is it possible to kinda reinitialise terminal keeping same window, buffer and other it's parameters, except cmd, env and other i want to update. Or, maybe, it is possible to attach new terminal to old terminal's buffer, deleting the old one?

I still haven't fully decided how best to solve this problem, so I'd be glad to know about the method I'm missing. Thanks