@@ -275,6 +275,10 @@ require('lazy').setup({
275275 },
276276 },
277277 },
278+ {
279+ ' karb94/neoscroll.nvim' ,
280+ opts = {},
281+ },
278282 {
279283 ' nvim-tree/nvim-tree.lua' ,
280284 },
@@ -733,6 +737,32 @@ require('lazy').setup({
733737 ' stylua' , -- Used to format Lua code
734738 })
735739 require (' mason-tool-installer' ).setup { ensure_installed = ensure_installed }
740+ require (' neoscroll' ).setup {
741+ mappings = { -- Keys to be mapped to their corresponding default scrolling animation
742+ ' <C-u>' ,
743+ ' <C-d>' ,
744+ ' <C-b>' ,
745+ ' <C-f>' ,
746+ ' <C-y>' ,
747+ ' <C-e>' ,
748+ ' zt' ,
749+ ' zz' ,
750+ ' zb' ,
751+ },
752+ hide_cursor = true , -- Hide cursor while scrolling
753+ stop_eof = true , -- Stop at <EOF> when scrolling downwards
754+ respect_scrolloff = false , -- Stop scrolling when the cursor reaches the scrolloff margin of the file
755+ cursor_scrolls_alone = true , -- The cursor will keep on scrolling even if the window cannot scroll further
756+ duration_multiplier = 1.0 , -- Global duration multiplier
757+ easing = ' linear' , -- Default easing function
758+ pre_hook = nil , -- Function to run before the scrolling animation starts
759+ post_hook = nil , -- Function to run after the scrolling animation ends
760+ performance_mode = false , -- Disable "Performance Mode" on all buffers.
761+ ignored_events = { -- Events ignored while scrolling
762+ ' WinScrolled' ,
763+ ' CursorMoved' ,
764+ },
765+ }
736766
737767 require (' mason-lspconfig' ).setup {
738768 ensure_installed = {}, -- explicitly set to an empty table (Kickstart populates installs via mason-tool-installer)
0 commit comments