similar to neovim's compile_commands.json copy function
local function copy_compile_commands(source_folder)
local filename = 'compile_commands.json'
local source = source_folder / filename
local destination = Path:new(vim.loop.cwd(), filename)
source:copy({ destination = destination.filename })
end
Similar to neovim's working_dir configuration feature, you don't need to configure working_dif when debugging.
The configuration is usually in the project home directory, not the compiled executable directory. So the default working_dif should be the project home directory.
similar to neovim's build_dir configuration
build_dir = tostring(Path:new('{cwd}', 'build', '{os}-{build_type}')),