summaryrefslogtreecommitdiff
path: root/.config/nvim/lua/extra/neoscroll.lua
diff options
context:
space:
mode:
Diffstat (limited to '.config/nvim/lua/extra/neoscroll.lua')
-rw-r--r--.config/nvim/lua/extra/neoscroll.lua25
1 files changed, 25 insertions, 0 deletions
diff --git a/.config/nvim/lua/extra/neoscroll.lua b/.config/nvim/lua/extra/neoscroll.lua
new file mode 100644
index 0000000..65f486b
--- /dev/null
+++ b/.config/nvim/lua/extra/neoscroll.lua
@@ -0,0 +1,25 @@
+local M = {}
+local Log = require "core.log"
+
+M.config = function()
+ local status_ok, neoscroll = pcall(require, "neoscroll")
+ if not status_ok then
+ Log:get_default().error "Failed to load hop"
+ return
+ end
+
+ neoscroll.setup {
+ -- All these keys will be mapped to their corresponding default scrolling animation
+ mappings = { "<C-u>", "<C-d>", "<C-b>", "<C-f>", "<C-y>", "<C-e>", "zt", "zz", "zb" },
+ hide_cursor = true, -- Hide cursor while scrolling
+ stop_eof = true, -- Stop at <EOF> when scrolling downwards
+ use_local_scrolloff = false, -- Use the local scope of scrolloff instead of the global scope
+ respect_scrolloff = false, -- Stop scrolling when the cursor reaches the scrolloff margin of the file
+ cursor_scrolls_alone = true, -- The cursor will keep on scrolling even if the window cannot scroll further
+ easing_function = nil, -- Default easing function
+ pre_hook = nil, -- Function to run before the scrolling animation starts
+ post_hook = nil, -- Function to run after the scrolling animation ends
+ }
+end
+
+return M