aboutsummaryrefslogtreecommitdiff
path: root/common/config/nvim/lua/plugins/neoscroll.lua
diff options
context:
space:
mode:
authorsrdusr <trevorgray@srdusr.com>2025-08-30 00:50:31 +0200
committersrdusr <trevorgray@srdusr.com>2025-08-30 00:50:31 +0200
commit5928998af5404ae2be84c6cecc10ebf84bd3f3ed (patch)
treec72a17cb6eb84f01c52666e3f95853cf5e636bb8 /common/config/nvim/lua/plugins/neoscroll.lua
parentbba0c17c6c0bc310e44ae45b9573d2dc99b8157f (diff)
parent2a8020a2e9b7ef2ee77ddee14892127a4eb95187 (diff)
downloaddotfiles-5928998af5404ae2be84c6cecc10ebf84bd3f3ed.tar.gz
dotfiles-5928998af5404ae2be84c6cecc10ebf84bd3f3ed.zip
Add 'common/config/nvim/' from commit '2a8020a2e9b7ef2ee77ddee14892127a4eb95187'
git-subtree-dir: common/config/nvim git-subtree-mainline: bba0c17c6c0bc310e44ae45b9573d2dc99b8157f git-subtree-split: 2a8020a2e9b7ef2ee77ddee14892127a4eb95187
Diffstat (limited to 'common/config/nvim/lua/plugins/neoscroll.lua')
-rw-r--r--common/config/nvim/lua/plugins/neoscroll.lua21
1 files changed, 21 insertions, 0 deletions
diff --git a/common/config/nvim/lua/plugins/neoscroll.lua b/common/config/nvim/lua/plugins/neoscroll.lua
new file mode 100644
index 0000000..d122584
--- /dev/null
+++ b/common/config/nvim/lua/plugins/neoscroll.lua
@@ -0,0 +1,21 @@
+require("neoscroll").setup({
+ easing_function = "quadratic",
+})
+
+local t = {}
+-- Syntax: t[keys] = {function, {function arguments}}
+-- Use the "sine" easing function
+t["<C-u>"] = { "scroll", { "-vim.wo.scroll", "true", "20", [['cubic']] } }
+t["<C-d>"] = { "scroll", { "vim.wo.scroll", "true", "20", [['cubic']] } }
+-- Use the "circular" easing function
+t["<C-b>"] = { "scroll", { "-vim.api.nvim_win_get_height(0)", "true", "50", [['cubic']] } }
+t["<C-f>"] = { "scroll", { "vim.api.nvim_win_get_height(0)", "true", "50", [['cubic']] } }
+-- Pass "nil" to disable the easing animation (constant scrolling speed)
+t["<C-y>"] = { "scroll", { "-0.10", "false", "100", nil } }
+t["<C-e>"] = { "scroll", { "0.10", "false", "100", nil } }
+-- When no easing function is provided the default easing function (in this case "quadratic") will be used
+t["zt"] = { "zt", { "10" } }
+t["zz"] = { "zz", { "10" } }
+t["zb"] = { "zb", { "10" } }
+
+require("neoscroll.config").set_mappings(t)