|
local function load_skeleton(filetype)
|
|
-- do nothing if no filetype
|
|
if filetype == "" then return end
|
|
|
|
-- glob every directory of 'runtimepath' to search for skeleton/filetype
|
|
local skeletons = vim.api.nvim_get_runtime_file('skeleton/' .. filetype, true)
|
|
if #skeletons == 0 then return end
|
|
|
|
-- read last skeleton into 1st line.
|
|
vim.api.nvim_command('0read ' .. skeletons[#skeletons])
|
|
end
|
|
|
|
-- augroup setup
|
|
vim.api.nvim_create_augroup('aug_skeleton', {clear = true})
|
|
vim.api.nvim_create_autocmd('BufNewFile', {
|
|
group = 'aug_skeleton',
|
|
pattern = '*',
|
|
callback = function()
|
|
load_skeleton(vim.bo.filetype)
|
|
end,
|
|
})
|