aboutsummaryrefslogtreecommitdiff
path: root/lua/plugins/neoscroll.lua
diff options
context:
space:
mode:
authorsrdusr <trevorgray@srdusr.com>2025-09-24 04:19:28 +0200
committersrdusr <trevorgray@srdusr.com>2025-09-24 04:19:28 +0200
commit7ed2303648bf83bb081d9bd863660ebf2344ce47 (patch)
tree702f5f832796b572d0faee31c0eb15507e91f49a /lua/plugins/neoscroll.lua
parent2a8020a2e9b7ef2ee77ddee14892127a4eb95187 (diff)
downloaddotfiles-7ed2303648bf83bb081d9bd863660ebf2344ce47.tar.gz
dotfiles-7ed2303648bf83bb081d9bd863660ebf2344ce47.zip
Squashed 'common/config/nvim/' changes from 2a8020a..966d12a
966d12a Update/Overhaul git-subtree-dir: common/config/nvim git-subtree-split: 966d12ac730c83da90d60ab24eae539b2ea69441
Diffstat (limited to 'lua/plugins/neoscroll.lua')
-rwxr-xr-x[-rw-r--r--]lua/plugins/neoscroll.lua39
1 files changed, 20 insertions, 19 deletions
diff --git a/lua/plugins/neoscroll.lua b/lua/plugins/neoscroll.lua
index d122584..f2ecb04 100644..100755
--- a/lua/plugins/neoscroll.lua
+++ b/lua/plugins/neoscroll.lua
@@ -1,21 +1,22 @@
-require("neoscroll").setup({
- easing_function = "quadratic",
-})
+local M = {}
-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" } }
+function M.setup()
+ local ok, neoscroll = pcall(require, 'neoscroll')
+ if not ok then
+ return false
+ end
+
+ -- Basic configuration
+ neoscroll.setup({
+ mappings = {'<C-u>', '<C-d>', '<C-b>', '<C-f>', '<C-y>', '<C-e>', 'zt', 'zz', 'zb'},
+ hide_cursor = true,
+ stop_eof = true,
+ respect_scrolloff = false,
+ cursor_scrolls_alone = true,
+ easing_function = 'quadratic',
+ })
+
+ return true
+end
-require("neoscroll.config").set_mappings(t)
+return M