windows path issue #40

pull/41/head
ray-x 3 years ago
parent 39a66c3534
commit 0dc7b57f6f

@ -2,6 +2,8 @@ local bind = require("go.keybind")
local map_cr = bind.map_cr local map_cr = bind.map_cr
local utils = require('go.utils') local utils = require('go.utils')
local log = utils.log local log = utils.log
local sep = '.' .. utils.sep()
local function setup_telescope() local function setup_telescope()
require('telescope').setup() require('telescope').setup()
require('telescope').load_extension('dap') require('telescope').load_extension('dap')
@ -115,7 +117,6 @@ M.run = function(...)
} }
local row, col = unpack(vim.api.nvim_win_get_cursor(0)) local row, col = unpack(vim.api.nvim_win_get_cursor(0))
row, col = row, col + 1 row, col = row, col + 1
@ -132,13 +133,13 @@ M.run = function(...)
dap_cfg.mode = "test" dap_cfg.mode = "test"
-- dap_cfg.program = "${workspaceFolder}" -- dap_cfg.program = "${workspaceFolder}"
-- dap_cfg.program = "${file}" -- dap_cfg.program = "${file}"
dap_cfg.program = "./${relativeFileDirname}" dap_cfg.program = sep .. "${relativeFileDirname}"
dap.configurations.go = {dap_cfg} dap.configurations.go = {dap_cfg}
dap.continue() dap.continue()
elseif mode == 'nearest' then elseif mode == 'nearest' then
dap_cfg.name = dap_cfg.name .. ' test_nearest' dap_cfg.name = dap_cfg.name .. ' test_nearest'
dap_cfg.mode = "test" dap_cfg.mode = "test"
dap_cfg.program = "./${relativeFileDirname}" dap_cfg.program = sep .. "${relativeFileDirname}"
dap_cfg.args = {'-test.run', '^' .. ns.name} dap_cfg.args = {'-test.run', '^' .. ns.name}
log(dap_cfg) log(dap_cfg)
dap.configurations.go = {dap_cfg} dap.configurations.go = {dap_cfg}
@ -184,7 +185,7 @@ function M.ultest_post()
type = "go", type = "go",
request = "launch", request = "launch",
mode = "test", mode = "test",
program = "./${relativeFileDirname}", program = sep .. "${relativeFileDirname}",
dlvToolPath = vim.fn.exepath("dlv"), dlvToolPath = vim.fn.exepath("dlv"),
args = args, args = args,
buildFlags = get_build_flags() buildFlags = get_build_flags()

@ -1,5 +1,7 @@
local util = {} local util = {}
local os_name = vim.loop.os_uname().sysname
local is_windows = os_name == 'Windows' or os_name == 'Windows_NT'
-- Check whether current buffer contains main function -- Check whether current buffer contains main function
local function has_main() local function has_main()
local output = vim.api.nvim_exec("grep func\\ main\\(\\) %", true) local output = vim.api.nvim_exec("grep func\\ main\\(\\) %", true)
@ -8,6 +10,14 @@ local function has_main()
return #matchCount > 3 return #matchCount > 3
end end
function util.sep()
if is_windows then
return '\\'
end
return '/'
end
local function smartrun() local function smartrun()
if has_main() then if has_main() then
-- Found main function in current buffer -- Found main function in current buffer
@ -78,8 +88,7 @@ util.log = function(...)
return return
end end
local arg = {...} local arg = {...}
local log_default = string.format("%s/%s.log", vim.api.nvim_call_function("stdpath", {"data"}), local log_default = string.format("%s%s%s.log", vim.api.nvim_call_function("stdpath", {"data"}), util.sep(), "gonvim")
"gonvim")
local log_path = _GO_NVIM_CFG.log_path or log_default local log_path = _GO_NVIM_CFG.log_path or log_default
local str = "" local str = ""

Loading…
Cancel
Save