add: miniaimate

This commit is contained in:
asep.komarudin 2024-06-02 06:48:51 +07:00
parent e50fb19878
commit 72ff763f68
15 changed files with 897 additions and 607 deletions

View file

@ -1,46 +1,46 @@
local is_neovide = false
if vim.g.neovide then
is_neovide = true
is_neovide = true
end
return {
-- animations
{
"echasnovski/mini.animate",
event = "BufRead",
enabled = not is_neovide,
opts = function()
-- don't use animate when scrolling with the mouse
local mouse_scrolled = false
for _, scroll in ipairs({ "Up", "Down" }) do
local key = "<ScrollWheel" .. scroll .. ">"
vim.keymap.set({ "", "i" }, key, function()
mouse_scrolled = true
return key
end, { expr = true })
end
local animate = require("mini.animate")
return {
resize = {
timing = animate.gen_timing.linear({ duration = 100, unit = "total" }),
},
scroll = {
timing = animate.gen_timing.linear({ duration = 150, unit = "total" }),
subscroll = animate.gen_subscroll.equal({
predicate = function(total_scroll)
if mouse_scrolled then
mouse_scrolled = false
return false
end
return total_scroll > 1
end,
}),
},
}
end,
config = function(_, opts)
require("mini.animate").setup(opts)
end,
},
-- animations
-- {
-- "echasnovski/mini.animate",
-- event = "BufRead",
-- enabled = not is_neovide,
-- opts = function()
-- -- don't use animate when scrolling with the mouse
-- local mouse_scrolled = false
-- for _, scroll in ipairs({ "Up", "Down" }) do
-- local key = "<ScrollWheel" .. scroll .. ">"
-- vim.keymap.set({ "", "i" }, key, function()
-- mouse_scrolled = true
-- return key
-- end, { expr = true })
-- end
--
-- local animate = require("mini.animate")
-- return {
-- resize = {
-- timing = animate.gen_timing.linear({ duration = 100, unit = "total" }),
-- },
-- scroll = {
-- timing = animate.gen_timing.linear({ duration = 150, unit = "total" }),
-- subscroll = animate.gen_subscroll.equal({
-- predicate = function(total_scroll)
-- if mouse_scrolled then
-- mouse_scrolled = false
-- return false
-- end
-- return total_scroll > 1
-- end,
-- }),
-- },
-- }
-- end,
-- config = function(_, opts)
-- require("mini.animate").setup(opts)
-- end,
-- },
}