update neotest and treesitter

This commit is contained in:
2025-05-12 09:20:32 -05:00
parent 63d4727871
commit 113d8e1f3d
3 changed files with 143 additions and 78 deletions

View File

@@ -3,10 +3,14 @@ return {
{
"nvim-neotest/neotest",
dependencies = {
"nvim-neotest/nvim-nio",
"nvim-lua/plenary.nvim",
"antoinemadec/FixCursorHold.nvim",
"nvim-treesitter/nvim-treesitter",
"nvim-neotest/neotest-go",
"nvim-neotest/neotest-python",
"fredrikaverpil/neotest-golang",
"leoluz/nvim-dap-go",
},
config = function()
require("neotest").setup({
@@ -14,29 +18,45 @@ return {
require("neotest-python")({
dap = { justMyCode = false },
}),
require("neotest-go")({}),
},
icons = {
running = "",
passed = "",
failed = "",
skipped = "",
},
output = {
enabled = true,
open_on_run = true,
open = "botright split | resize 15",
require("neotest-golang")({
dap = { justMyCode = false },
}),
},
})
local map = vim.keymap.set
map("n", "<leader>tr", require("neotest").run.run, { desc = "Run nearest test" })
map("n", "<leader>tF", function()
require("neotest").run.run(vim.fn.expand("%"))
end, { desc = "Run tests in file" })
map("n", "<leader>ts", require("neotest").run.stop, { desc = "Stop test" })
map("n", "<leader>to", require("neotest").output_panel.toggle, { desc = "Toggle test output" })
map("n", "<leader>tS", require("neotest").summary.toggle, { desc = "Toggle test summary" })
vim.keymap.set("n", "<leader>tr", function()
require("neotest").run.run({
suite = false,
testify = true,
})
end, { desc = "Debug: Running Nearest Test" })
vim.keymap.set("n", "<leader>tv", function()
require("neotest").summary.toggle()
end, { desc = "Debug: Summary Toggle" })
vim.keymap.set("n", "<leader>ts", function()
require("neotest").run.run({
suite = true,
testify = true,
})
end, { desc = "Debug: Running Test Suite" })
vim.keymap.set("n", "<leader>td", function()
require("neotest").run.run({
suite = false,
testify = true,
strategy = "dap",
})
end, { desc = "Debug: Debug Nearest Test" })
vim.keymap.set("n", "<leader>to", function()
require("neotest").output.open()
end, { desc = "Debug: Open test output" })
vim.keymap.set("n", "<leader>ta", function()
require("neotest").run.run(vim.fn.getcwd())
end, { desc = "Debug: Open test output" })
end,
},
}

View File

@@ -1,44 +1,88 @@
return {
"nvim-treesitter/nvim-treesitter",
event = { "BufReadPre", "BufNewFile" },
build = ":TSUpdate",
dependencies = {
"windwp/nvim-ts-autotag",
},
config = function()
local treesitter = require("nvim-treesitter.configs")
treesitter.setup({
highlight = { enable = true },
indent = { enable = true },
autotag = { enable = true },
ensure_installed = {
-- Main programming languages
"bash", "c", "cpp", "css", "go", "html", "javascript", "json", "lua",
"make", "markdown", "markdown_inline", "python", "regex", "ruby",
"rust", "toml", "tsx", "typescript", "vim",
-- Popular config and data formats
"dockerfile", "git_config", "gitignore", "gitattributes",
"graphql", "ini", "sql", "xml", "csv", "mermaid",
-- Infra/DevOps/Cloud
"terraform", "hcl",
-- Scripting/misc
"perl", "r", "powershell", "fish",
-- System
"cmake", "nix",
-- Other Neovim-related
"vimdoc",
"yaml",
},
incremental_selection = {
enable = true,
keymaps = {
init_selection = "<C-space>",
node_incremental = "<C-space>",
scope_incremental = false,
node_decremental = "<bs>",
},
},
})
end,
"nvim-treesitter/nvim-treesitter",
event = { "BufReadPre", "BufNewFile" },
build = ":TSUpdate",
dependencies = {
"nvim-treesitter/nvim-treesitter-refactor",
"windwp/nvim-ts-autotag",
},
config = function()
local treesitter = require("nvim-treesitter.configs")
treesitter.setup({
highlight = { enable = true },
indent = { enable = true },
autotag = { enable = true },
refactor = {
highlight_definitions = {
enable = true,
clear_on_cursor_move = true, -- Optional: clearer behavior
},
navigation = {
enable = true,
keymaps = {
goto_next_usage = "]r",
goto_previous_usage = "[r",
},
},
},
incremental_selection = {
enable = true,
keymaps = {
init_selection = "<C-space>",
node_incremental = "<C-space>",
scope_incremental = false,
node_decremental = "<bs>",
},
},
ensure_installed = {
-- Main programming languages
"bash",
"c",
"cpp",
"css",
"go",
"dart",
"html",
"javascript",
"json",
"lua",
"make",
"markdown",
"markdown_inline",
"python",
"regex",
"ruby",
"rust",
"toml",
"tsx",
"typescript",
"vim",
-- Popular config and data formats
"dockerfile",
"git_config",
"gitignore",
"gitattributes",
"graphql",
"ini",
"sql",
"xml",
"csv",
"mermaid",
-- Infra/DevOps/Cloud
"terraform",
"hcl",
-- Scripting/misc
"perl",
"r",
"powershell",
"fish",
-- System
"cmake",
"nix",
-- Other Neovim-related
"vimdoc",
"yaml",
},
})
end,
}