all repos

init.lua @ a4c26cb465dfd47c09205af29a1e1b87116bfa85

my nvim config
2 files changed, 21 insertions(+), 0 deletions(-)
Refect lua/scratch/gotest_switcher.lua from 597fa4fb36604a2ead62150df4c5ca184c3c3a1c
Author: Olexandr Smirnov olexsmir@gmail.com
Committed at: 2025-08-10 01:27:05 +0300
Parent: a8b8513
M after/ftplugin/go.lua

@@ -13,3 +13,5 @@

map("n", "<localleader>t", "<cmd>GoTestAdd<cr>", true) map("n", "<localleader>a", "<cmd>GoTestsAll<cr>", true) map("n", "<localleader>e", "<cmd>GoTestsExp<cr>", true) + +map("n", "<localleader>s", require("scratch.gotest").switch, true)
A lua/scratch/gotest.lua

@@ -0,0 +1,19 @@

+local gotests = {} + +function gotests.switch() + local bufnr = vim.api.nvim_get_current_buf() + local fname_parts = vim.split(vim.api.nvim_buf_get_name(bufnr), "/") + local test_fname = fname_parts[#fname_parts] + if test_fname:find "_test.go" then + test_fname = test_fname:gsub("_test.go", ".go") + else + test_fname = test_fname:gsub(".go", "_test.go") + end + + table.remove(fname_parts, #fname_parts) + local path = table.concat(fname_parts, "/") .. "/" .. test_fname + + vim.cmd("edit " .. path) +end + +return gotests