lazy load util + lazy jupyter notebooks

master
blob42 1 year ago
parent f4bd1a6031
commit e42fb7774c

@ -0,0 +1,35 @@
local autocmd = vim.api.nvim_create_autocmd
local M = {}
M.lazy_load_module = function()
autocmd({"BufRead", "BufNewFile"},{
group = vim.api.nvim_create_augroup("plantuml", {}),
callback = function()
plantuml_patterns = {
"%.pu", "%.uml", "%.plantuml", "%.puml", "%.iuml"
}
local bufname = vim.api.nvim_buf_get_name(0)
for _,ft in ipairs(plantuml_patterns) do
if vim.fn.fnamemodify(bufname, ":t"):match(ft) then
vim.defer_fn(function()
require("packer").loader("plantuml-syntax")
end,0)
return
end
end
firstline = vim.api.nvim_buf_get_lines(0,0,1,true)[1]
if firestline ~= "" and firstline:match("^@startuml%s*") then
vim.defer_fn(function()
require("packer").loader("plantuml-syntax")
end,0)
end
end
})
end
return M

@ -803,6 +803,12 @@ return {
-- jupyter notebook
["luk400/vim-jukit"] = {
keys = '<leader>jup',
setup = function()
patterns = {
'.*ipynb$'
}
require('spike.utils').lazy_load_module(patterns, 'vim-jukit')
end,
opt = true,
},

@ -1,3 +1,5 @@
local autocmd = vim.api.nvim_create_autocmd
local api = vim.api
local M = {}
M["unload_lua_ns"] = function (prefix)
@ -64,6 +66,27 @@ end
-- 1670185951498000
-- M.human_timestamp()
--lazy loads a packer plugin when a file matches {patterns}
---@param patterns table matched patterns
---@param plugin string plugin to load whan pattern is matched
M.lazy_load_module = function(patterns, plugin)
autocmd({"BufRead", "BufNewFile"},{
group = api.nvim_create_augroup("blob42_lazyload_plugin", {}),
callback = function()
local bufname = api.nvim_buf_get_name(0)
for _,pt in ipairs(patterns) do
if vim.fn.fnamemodify(bufname, ":t"):match(pt) then
require("packer").loader(plugin)
end
end
end
})
end
return M

Loading…
Cancel
Save