-- Autocommands for all files opened in nvim local autocmd = vim.api.nvim_create_autocmd local autogrp = vim.api.nvim_create_augroup -- check if the current buffer is empty local bufempty = function(bufnr) bufnr = bufnr or 0 if vim.api.nvim_buf_get_offset(bufnr, 0) <= 0 then local handle = io.open(vim.api.nvim_buf_get_name(bufnr)) if handle == nil then return true end local eof = handle:read(0) handle:close() if eof == nil then return true end end return false end local expand_template = function(name) require('luasnip').snip_expand(require('config.templates')[name]) require('luasnip').unlink_current() end autocmd({ 'BufEnter', 'BufNewFile' }, { pattern = 'deb/DEBIAN/changelog_blobs/*.txt', group = autogrp('DebianChangelogTemplate', { clear = true }), callback = function(opt) if bufempty() then return expand_template('debian-changelog') end end, })