diff --git a/lua/gopher/gotests.lua b/lua/gopher/gotests.lua index ce6853b..a2386d8 100644 --- a/lua/gopher/gotests.lua +++ b/lua/gopher/gotests.lua @@ -1,19 +1,17 @@ local c = require("gopher.config").commands -local u = require "gopher._utils" local ts_utils = require "gopher._utils.ts" local r = require "gopher._utils.runner" local gotests = {} ---@param args table local function add_test(args) - local fpath = vim.fn.expand "%" ---@diagnostic disable-line: missing-parameter table.insert(args, "-w") - table.insert(args, fpath) + table.insert(args, vim.fn.expand "%") - return r.spawn(c.gotests, { + return r.sync(c.gotests, { args = args, - on_exit = function(ok, data) - if not ok then + on_exit = function(data, status) + if not status == 0 then vim.notify("gotests failed: " .. data, vim.log.levels.ERROR) return end @@ -24,43 +22,24 @@ local function add_test(args) end ---generate unit test for one function ----@param parallel boolean -function gotests.func_test(parallel) +function gotests.func_test() local ns = ts_utils.get_func_method_node_at_pos(unpack(vim.api.nvim_win_get_cursor(0))) if ns == nil or ns.name == nil then - u.deferred_notify("cursor on func/method and execute the command again", vim.log.levels.INFO) + vim.notify("cursor on func/method and execute the command again", vim.log.levels.INFO) return end - local cmd_args = { "-only", ns.name } - if parallel then - table.insert(cmd_args, "-parallel") - end - - add_test(cmd_args) + add_test { "-only", ns.name } end ---generate unit tests for all functions in current file ----@param parallel boolean -function gotests.all_tests(parallel) - local cmd_args = { "-all" } - if parallel then - table.insert(cmd_args, "-parallel") - end - - add_test(cmd_args) +function gotests.all_tests() + add_test { "-all" } end ---generate unit tests for all exported functions ----@param parallel boolean -function gotests.all_exported_tests(parallel) - local cmd_args = {} - if parallel then - table.insert(cmd_args, "-parallel") - end - - table.insert(cmd_args, "-exported") - add_test(cmd_args) +function gotests.all_exported_tests() + add_test { "-exported" } end return gotests diff --git a/plugin/gopher.vim b/plugin/gopher.vim index bdffbbe..f54d5dd 100644 --- a/plugin/gopher.vim +++ b/plugin/gopher.vim @@ -1,8 +1,8 @@ command! -nargs=* GoTagAdd :lua require"gopher".tags_add() command! -nargs=* GoTagRm :lua require"gopher".tags_rm() -command! -nargs=* GoTestAdd :lua require"gopher".test_add() -command! -nargs=* GoTestsAll :lua require"gopher".tests_all() -command! -nargs=* GoTestsExp :lua require"gopher".test_exported() +command! GoTestAdd :lua require"gopher".test_add() +command! GoTestsAll :lua require"gopher".tests_all() +command! GoTestsExp :lua require"gopher".test_exported() command! -nargs=* GoMod :lua require"gopher".mod() command! -nargs=* GoGet :lua require"gopher".get() command! -nargs=* GoWork :lua require"gopher".work()