mirror of https://github.com/LazyVim/starter
51 lines
1.2 KiB
Lua
51 lines
1.2 KiB
Lua
local M = {}
|
|
|
|
local runner = require("mj.command_runner")
|
|
|
|
function RunInTerminal(cmd, open_new_tab)
|
|
runner.run_in_terminal(cmd, open_new_tab)
|
|
end
|
|
|
|
function RunTestFile()
|
|
local current_path = vim.fn.expand("%")
|
|
local cmd = "run_test " .. current_path
|
|
RunInTerminal(cmd, true)
|
|
end
|
|
|
|
function RunTestLineByLine()
|
|
local current_line, _ = unpack(vim.api.nvim_win_get_cursor(0))
|
|
local current_path = vim.fn.expand("%")
|
|
local cmd = "run_test " .. current_path .. " --line=" .. current_line
|
|
RunInTerminal(cmd, true)
|
|
end
|
|
|
|
function RunAllTests()
|
|
local current_path = vim.fn.expand("%")
|
|
local cmd = "run_test " .. current_path .. " --all"
|
|
RunInTerminal(cmd, true)
|
|
end
|
|
|
|
function CloseTerminalBuffer(new_tab)
|
|
local name = vim.api.nvim_buf_get_name(0)
|
|
|
|
if string.find(name, "term://") then
|
|
if not new_tab then
|
|
local number = vim.api.nvim_buf_get_number(0)
|
|
vim.api.nvim_exec("buffer #", true)
|
|
vim.api.nvim_buf_delete(number, { force = true })
|
|
return
|
|
end
|
|
|
|
vim.api.nvim_command("bdelete!")
|
|
end
|
|
end
|
|
|
|
function RunShellTest()
|
|
RunInTerminal("./shell_test", true)
|
|
end
|
|
|
|
function RunRubocop()
|
|
local file = vim.fn.expand("%")
|
|
RunInTerminal("bundle exec rubocop -A " .. file, false)
|
|
end
|