nvim/lua/plugins/cmake-tools.lua

38 lines
1.5 KiB
Lua
Raw Normal View History

2025-04-06 22:19:03 +08:00
return {
"Civitasv/cmake-tools.nvim",
lazy = true,
init = function()
local loaded = false
local function check()
local cwd = vim.uv.cwd()
if vim.fn.filereadable(cwd .. "/CMakeLists.txt") == 1 then
require("lazy").load({ plugins = { "cmake-tools.nvim" } })
loaded = true
end
end
check()
vim.api.nvim_create_autocmd("DirChanged", {
callback = function()
if not loaded then
check()
end
end,
})
end,
keys = {
{ "<leader>mg", ":CMakeGenerate -G Ninja<CR>", desc = "CMake Generate -G Ninja", remap = false },
{ "<leader>mb", ":CMakeBuild<CR>", desc = "CMake Build", remap = false },
{ "<leader>mr", ":CMakeRun<CR>", desc = "CMake Run", remap = false },
{ "<leader>mc", ":CMakeClean<CR>", desc = "CMake Clear", remap = false },
{ "<leader>ms", ":CMakeStop<CR>", desc = "CMake Stop", remap = false },
{ "<leader>mq", ":CMakeCloseRunner<CR>", desc = "CMake Close", remap = false },
{ "<leader>mt", ":CMakeSelectLaunchTarget<CR>", desc = "CMake Change Target", remap = false },
{ "<leader>ma", ":CMakeLaunchArgs", desc = "CMake Launch Args", remap = false },
{ "<leader>md", ":CMakeDebug<CR>", desc = "CMake Debug", remap = false },
},
opts = {
cmake_build_directory = "build",
cmake_soft_link_compile_commands = false,
},
}