aboutsummaryrefslogtreecommitdiff
path: root/lua/cmake/autocmds.lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua/cmake/autocmds.lua')
-rw-r--r--lua/cmake/autocmds.lua29
1 files changed, 29 insertions, 0 deletions
diff --git a/lua/cmake/autocmds.lua b/lua/cmake/autocmds.lua
new file mode 100644
index 0000000..e665182
--- /dev/null
+++ b/lua/cmake/autocmds.lua
@@ -0,0 +1,29 @@
+local config = require("cmake.config")
+local actions = require("cmake.actions")
+local constants = require("cmake.constants")
+
+local autocmds = {}
+
+function autocmds.setuo()
+ local cmake_nvim_augroup = vim.api.nvim_create_augroup("CMake", {})
+ vim.api.nvim_create_autocmd({ "BufWritePost" }, {
+ group = cmake_nvim_augroup,
+ pattern = constants.variants_yaml_filename,
+ callback = function(args)
+ require("cmake.project").setup()
+ end,
+ desc = "Setup project after saving variants",
+ })
+ if config.generate_after_save then
+ vim.api.nvim_create_autocmd({ "BufWritePost" }, {
+ group = cmake_nvim_augroup,
+ pattern = constants.cmakelists,
+ callback = function(args)
+ actions.generate()
+ end,
+ desc = "Generate project after saving CMakeLists.txt",
+ })
+ end
+end
+
+return autocmds