diff options
Diffstat (limited to '.config/nvim/lua/extra/neoscroll.lua')
-rw-r--r-- | .config/nvim/lua/extra/neoscroll.lua | 25 |
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 |