mirror of
https://github.com/kristoferssolo/runner.nvim.git
synced 2025-10-21 19:50:34 +00:00
Use terminal buffer instead of normal buffer
This commit is contained in:
parent
064847ec11
commit
cffa48e7a2
@ -20,36 +20,13 @@ M.shell_handler = function(command, editable)
|
||||
end
|
||||
|
||||
local current_buffer_name = vim.api.nvim_buf_get_name(code_buffer)
|
||||
|
||||
local output_buffer = utils.create_buffer('OUTPUT - ' .. current_buffer_name)
|
||||
vim.api.nvim_create_autocmd('BufHidden', {
|
||||
buffer = output_buffer,
|
||||
callback = function()
|
||||
vim.schedule(function()
|
||||
vim.api.nvim_buf_delete(output_buffer, {})
|
||||
vim.fn.jobstop(M._job_id)
|
||||
M._job_id = nil
|
||||
print('Terminated running process')
|
||||
end)
|
||||
end
|
||||
})
|
||||
|
||||
local output_window = utils.create_window()
|
||||
|
||||
vim.api.nvim_win_set_buf(output_window, output_buffer)
|
||||
|
||||
local add_line = utils.create_add_line(output_buffer)
|
||||
|
||||
if M._job_id then
|
||||
vim.fn.jobstop(M._job_id)
|
||||
M._job_id = nil
|
||||
end
|
||||
|
||||
M._job_id = vim.fn.jobstart(command, {
|
||||
pty = true,
|
||||
cwd = vim.fn.getcwd(),
|
||||
on_stdout = add_line,
|
||||
on_stderr = add_line
|
||||
vim.fn.termopen(command, {
|
||||
cwd = vim.fn.getcwd()
|
||||
})
|
||||
end
|
||||
end
|
||||
|
||||
@ -1,5 +1,3 @@
|
||||
local baleia = require('baleia').setup {}
|
||||
|
||||
local M = {}
|
||||
|
||||
M._buffer = nil
|
||||
@ -47,21 +45,6 @@ M.create_window = function()
|
||||
return window
|
||||
end
|
||||
|
||||
M.create_add_line = function(buffer)
|
||||
return function(_, data)
|
||||
vim.api.nvim_buf_set_option(buffer, 'modifiable', true)
|
||||
local row = vim.api.nvim_buf_line_count(buffer) - 1
|
||||
local col = vim.fn.len(vim.api.nvim_buf_get_lines(buffer, -2, -1, false)[1])
|
||||
baleia.buf_set_text(buffer, row, col, row, col, vim.tbl_map(
|
||||
function(d)
|
||||
return vim.fn.trim(d, ('\x0D'))
|
||||
end,
|
||||
data
|
||||
))
|
||||
vim.api.nvim_buf_set_option(buffer, 'modifiable', false)
|
||||
end
|
||||
end
|
||||
|
||||
M.run_command = function(command, callback)
|
||||
local output = {}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user