diff options
Diffstat (limited to 'common/config/nvim/lua/plugins/neoscroll.lua')
| -rwxr-xr-x[-rw-r--r--] | common/config/nvim/lua/plugins/neoscroll.lua | 39 |
1 files changed, 20 insertions, 19 deletions
diff --git a/common/config/nvim/lua/plugins/neoscroll.lua b/common/config/nvim/lua/plugins/neoscroll.lua index d122584..f2ecb04 100644..100755 --- a/common/config/nvim/lua/plugins/neoscroll.lua +++ b/common/config/nvim/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 |
