diff --git a/init.lua b/init.lua index 90534c0..bd1a498 100644 --- a/init.lua +++ b/init.lua @@ -183,6 +183,7 @@ vim.lsp.enable({ "tailwindcss", "bashls", "jdtls", + "zls" }) -- Enables filtered completions for tailwindcss class names, e.g. "mt-". @@ -244,16 +245,32 @@ local function java_symbol_under_cursor() return class_name, method_name end -local function run_selected_gradle_tests() - local class_name, method_name = java_symbol_under_cursor() - if class_name and method_name then - local cmd = string.format("./gradlew clean test --tests %s.%s", class_name, method_name) - vim.cmd("vsplit | terminal " .. cmd) +local function run_selected_test() + local filetype = vim.bo.filetype + + if filetype == "java" then + local class_name, method_name = java_symbol_under_cursor() + if class_name and method_name then + local cmd = string.format("./gradlew clean test --tests %s.%s", class_name, method_name) + vim.cmd("vsplit | terminal " .. cmd) + end + else + error("Unsupported filetype: " .. filetype) end end -local function run_all_gradle_tests() - local cmd = string.format("./gradlew clean test") +local function run_all_tests() + local filetype = vim.bo.filetype + + local cmd + if filetype == "java" then + cmd = "./gradlew clean test" + elseif filetype == "zig" then + cmd = "zig build test" + else + error("Unsupported filetype: " .. filetype) + end + vim.cmd("vsplit | terminal " .. cmd) end @@ -331,8 +348,8 @@ vim.keymap.set("n", "em", require 'jdtls'.extract_method, { desc = "Extr vim.keymap.set("v", "em", ":lua require'jdtls'.extract_method(true)", { desc = "Extract method", silent = true }) -vim.keymap.set("n", "rtc", run_selected_gradle_tests, { desc = "Run Gradle tests under cursor" }) -vim.keymap.set("n", "rta", run_all_gradle_tests, { desc = "Run all Gradle tests" }) +vim.keymap.set("n", "rta", run_all_tests, { desc = "Run all Gradle tests" }) +vim.keymap.set("n", "rtc", run_selected_test, { desc = "Run Gradle tests under cursor" }) vim.keymap.set({ "n", "v" }, "?", function() require("which-key").show({ global = false }) end, { desc = "Buffer Local Keymaps (which-key)" })