From 93945a96daad5db8f91b07d1aef65b3ec6f758fb Mon Sep 17 00:00:00 2001 From: Daniil Rozanov Date: Fri, 26 Apr 2024 02:09:30 +0300 Subject: feat: autocommands to regenerate and reset project One autocommand generates project after saving CMakeLists.txt, and other sets up all project after saving variants --- lua/cmake/autocmds.lua | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 lua/cmake/autocmds.lua (limited to 'lua/cmake/autocmds.lua') 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 -- cgit v1.2.3