diff --git a/README.md b/README.md index ad81154..2ebd9e2 100644 --- a/README.md +++ b/README.md @@ -71,12 +71,12 @@ Smooth scrolling for ... Start/end of file: gg and G Line number: [count]G +Start/end of line: 0, ^ and $ Paragraph movements: { and } Prev/next search result: n, N, *, #, g* and g# Prev/next cursor location: and Screen scrolling: zz, zt, zb, z., z, z-, z^, z+, and Horizontal scrolling: zH, zL, zs, ze, zh and zl -Start/end of line: 0, ^ and $ ``` ### Extended Keymaps @@ -97,7 +97,7 @@ Scroll(arg1, arg2, arg3, arg4, arg5) * __arg1__ = A string containing the normal mode movement commands. * To use the go-to-definition LSP function, use 'definition' (or 'declaration' for go-to-declaration). -* __arg2__ = Scroll the window with the cursor. (1 for on, 0 for off). Default is 1. +* __arg2__ = Scroll the window with the cursor. (1 for on, 0 for off). Default is 0. * __arg3__ = Accept a count before the command (1 for on, 0 for off). Default is 0. * __arg4__ = Length of delay between each line (in ms). Default is the 'default_delay' config value. * __arg5__ = Slowdown at the end of the movement (1 for on, 0 for off). Default is 1. @@ -110,8 +110,8 @@ _Note: When scrolling horizontally, the delay argument is halved so vertical and -- DEFAULT_KEYMAPS: -- Half-window movements: -vim.keymap.set({ 'n', 'x', 'i' }, '', "lua Scroll('')") -vim.keymap.set({ 'n', 'x', 'i' }, '', "lua Scroll('')") +vim.keymap.set({ 'n', 'x', 'i' }, '', "lua Scroll('', 1, 1)") +vim.keymap.set({ 'n', 'x', 'i' }, '', "lua Scroll('', 1, 1)") -- Page movements: vim.keymap.set('n', '', "lua Scroll('', 1, 1)") @@ -125,21 +125,26 @@ vim.keymap.set('n', '', "lua Scroll('', 1, 1)") vim.keymap.set({ 'n', 'x' }, 'gg', "lua Scroll('gg', 0, 0, 3)") vim.keymap.set({ 'n', 'x' }, 'G', "lua Scroll('G', 0, 1, 3)") +-- Start/end of line: +vim.keymap.set('n', '0', "lua Scroll('0')") +vim.keymap.set('n', '^', "lua Scroll('^')") +vim.keymap.set('n', '$', "lua Scroll('$', 0, 1)") + -- Paragraph movements: -vim.keymap.set({ 'n', 'x' }, '{', "lua Scroll('{', 0)") -vim.keymap.set({ 'n', 'x' }, '}', "lua Scroll('}', 0)") +vim.keymap.set({ 'n', 'x' }, '{', "lua Scroll('{')") +vim.keymap.set({ 'n', 'x' }, '}', "lua Scroll('}')") -- Previous/next search result: -vim.keymap.set('n', 'n', "lua Scroll('n')") -vim.keymap.set('n', 'N', "lua Scroll('N')") -vim.keymap.set('n', '*', "lua Scroll('*')") -vim.keymap.set('n', '#', "lua Scroll('#')") -vim.keymap.set('n', 'g*', "lua Scroll('g*')") -vim.keymap.set('n', 'g#', "lua Scroll('g#')") +vim.keymap.set('n', 'n', "lua Scroll('n', 1)") +vim.keymap.set('n', 'N', "lua Scroll('N', 1)") +vim.keymap.set('n', '*', "lua Scroll('*', 1)") +vim.keymap.set('n', '#', "lua Scroll('#', 1)") +vim.keymap.set('n', 'g*', "lua Scroll('g*', 1)") +vim.keymap.set('n', 'g#', "lua Scroll('g#', 1)") -- Previous/next cursor location: -vim.keymap.set('n', '', "lua Scroll('')") -vim.keymap.set('n', '', "lua Scroll('1')") +vim.keymap.set('n', '', "lua Scroll('', 1)") +vim.keymap.set('n', '', "lua Scroll('1', 1)") -- Screen scrolling: vim.keymap.set('n', 'zz', "lua Scroll('zz', 0, 1)") @@ -154,18 +159,13 @@ vim.keymap.set('n', '', "lua Scroll('', 0, 1)") vim.keymap.set('n', '', "lua Scroll('', 0, 1)") -- Horizontal screen scrolling: -vim.keymap.set('n', 'zH', "lua Scroll('zH', 0)") -vim.keymap.set('n', 'zL', "lua Scroll('zL', 0)") -vim.keymap.set('n', 'zs', "lua Scroll('zs', 0)") -vim.keymap.set('n', 'ze', "lua Scroll('ze', 0)") +vim.keymap.set('n', 'zH', "lua Scroll('zH')") +vim.keymap.set('n', 'zL', "lua Scroll('zL')") +vim.keymap.set('n', 'zs', "lua Scroll('zs')") +vim.keymap.set('n', 'ze', "lua Scroll('ze')") vim.keymap.set('n', 'zh', "lua Scroll('zh', 0, 1)") vim.keymap.set('n', 'zl', "lua Scroll('zl', 0, 1)") --- Start/end of line: -vim.keymap.set('n', '0', "lua Scroll('0', 0)") -vim.keymap.set('n', '^', "lua Scroll('^', 0)") -vim.keymap.set('n', '$', "lua Scroll('$', 0, 1)") - -- EXTENDED_KEYMAPS: -- Up/down movements: diff --git a/lua/cinnamon/init.lua b/lua/cinnamon/init.lua index 687c39a..0bfa6eb 100644 --- a/lua/cinnamon/init.lua +++ b/lua/cinnamon/init.lua @@ -43,8 +43,8 @@ M.setup = function(user_config) if vim.fn.has('nvim-0.7.0') == 1 then if config.default_keymaps then -- Half-window movements: - vim.keymap.set({ 'n', 'x', 'i' }, '', "lua Scroll('')") - vim.keymap.set({ 'n', 'x', 'i' }, '', "lua Scroll('')") + vim.keymap.set({ 'n', 'x', 'i' }, '', "lua Scroll('', 1, 1)") + vim.keymap.set({ 'n', 'x', 'i' }, '', "lua Scroll('', 1, 1)") -- Page movements: vim.keymap.set('n', '', "lua Scroll('', 1, 1)") @@ -58,21 +58,26 @@ M.setup = function(user_config) vim.keymap.set({ 'n', 'x' }, 'gg', "lua Scroll('gg', 0, 0, 3)") vim.keymap.set({ 'n', 'x' }, 'G', "lua Scroll('G', 0, 1, 3)") + -- Start/end of line: + vim.keymap.set('n', '0', "lua Scroll('0')") + vim.keymap.set('n', '^', "lua Scroll('^')") + vim.keymap.set('n', '$', "lua Scroll('$', 0, 1)") + -- Paragraph movements: - vim.keymap.set({ 'n', 'x' }, '{', "lua Scroll('{', 0)") - vim.keymap.set({ 'n', 'x' }, '}', "lua Scroll('}', 0)") + vim.keymap.set({ 'n', 'x' }, '{', "lua Scroll('{')") + vim.keymap.set({ 'n', 'x' }, '}', "lua Scroll('}')") -- Previous/next search result: - vim.keymap.set('n', 'n', "lua Scroll('n')") - vim.keymap.set('n', 'N', "lua Scroll('N')") - vim.keymap.set('n', '*', "lua Scroll('*')") - vim.keymap.set('n', '#', "lua Scroll('#')") - vim.keymap.set('n', 'g*', "lua Scroll('g*')") - vim.keymap.set('n', 'g#', "lua Scroll('g#')") + vim.keymap.set('n', 'n', "lua Scroll('n', 1)") + vim.keymap.set('n', 'N', "lua Scroll('N', 1)") + vim.keymap.set('n', '*', "lua Scroll('*', 1)") + vim.keymap.set('n', '#', "lua Scroll('#', 1)") + vim.keymap.set('n', 'g*', "lua Scroll('g*', 1)") + vim.keymap.set('n', 'g#', "lua Scroll('g#', 1)") -- Previous/next cursor location: - vim.keymap.set('n', '', "lua Scroll('')") - vim.keymap.set('n', '', "lua Scroll('1')") + vim.keymap.set('n', '', "lua Scroll('', 1)") + vim.keymap.set('n', '', "lua Scroll('1', 1)") -- Screen scrolling: vim.keymap.set('n', 'zz', "lua Scroll('zz', 0, 1)") @@ -89,15 +94,10 @@ M.setup = function(user_config) -- Horizontal screen scrolling: vim.keymap.set('n', 'zh', "lua Scroll('zh', 0, 1)") vim.keymap.set('n', 'zl', "lua Scroll('zl', 0, 1)") - vim.keymap.set('n', 'zH', "lua Scroll('zH', 0)") - vim.keymap.set('n', 'zL', "lua Scroll('zL', 0)") - vim.keymap.set('n', 'zs', "lua Scroll('zs', 0)") - vim.keymap.set('n', 'ze', "lua Scroll('ze', 0)") - - -- Start/end of line: - vim.keymap.set('n', '0', "lua Scroll('0', 0)") - vim.keymap.set('n', '^', "lua Scroll('^', 0)") - vim.keymap.set('n', '$', "lua Scroll('$', 0, 1)") + vim.keymap.set('n', 'zH', "lua Scroll('zH')") + vim.keymap.set('n', 'zL', "lua Scroll('zL')") + vim.keymap.set('n', 'zs', "lua Scroll('zs')") + vim.keymap.set('n', 'ze', "lua Scroll('ze')") end if config.extended_keymaps then @@ -119,10 +119,10 @@ M.setup = function(user_config) if config.default_keymaps then -- Half-window movements: - keymap('', '', "lua Scroll('')", opts) - keymap('i', '', "lua Scroll('')", opts) - keymap('', '', "lua Scroll('')", opts) - keymap('i', '', "lua Scroll('')", opts) + keymap('', '', "lua Scroll('', 1, 1)", opts) + keymap('i', '', "lua Scroll('', 1, 1)", opts) + keymap('', '', "lua Scroll('', 1, 1)", opts) + keymap('i', '', "lua Scroll('', 1, 1)", opts) -- Page movements: keymap('n', '', "lua Scroll('', 1, 1)", opts) @@ -138,23 +138,28 @@ M.setup = function(user_config) keymap('n', 'G', "lua Scroll('G', 0, 1, 3)", opts) keymap('x', 'G', "lua Scroll('G', 0, 1, 3)", opts) + -- Start/end of line: + keymap('n', '0', "lua Scroll('0')", opts) + keymap('n', '^', "lua Scroll('^')", opts) + keymap('n', '$', "lua Scroll('$')", opts) + -- Paragraph movements: - keymap('n', '{', "lua Scroll('{', 0)", opts) - keymap('x', '{', "lua Scroll('{', 0)", opts) - keymap('n', '}', "lua Scroll('}', 0)", opts) - keymap('x', '}', "lua Scroll('}', 0)", opts) + keymap('n', '{', "lua Scroll('{')", opts) + keymap('x', '{', "lua Scroll('{')", opts) + keymap('n', '}', "lua Scroll('}')", opts) + keymap('x', '}', "lua Scroll('}')", opts) -- Previous/next search result: - keymap('n', 'n', "lua Scroll('n')", opts) - keymap('n', 'N', "lua Scroll('N')", opts) - keymap('n', '*', "lua Scroll('*')", opts) - keymap('n', '#', "lua Scroll('#')", opts) - keymap('n', 'g*', "lua Scroll('g*')", opts) - keymap('n', 'g#', "lua Scroll('g#')", opts) + keymap('n', 'n', "lua Scroll('n', 1)", opts) + keymap('n', 'N', "lua Scroll('N', 1)", opts) + keymap('n', '*', "lua Scroll('*', 1)", opts) + keymap('n', '#', "lua Scroll('#', 1)", opts) + keymap('n', 'g*', "lua Scroll('g*', 1)", opts) + keymap('n', 'g#', "lua Scroll('g#', 1)", opts) -- Previous/next cursor location: - keymap('n', '', "lua Scroll('')", opts) - keymap('n', '', "lua Scroll('1')", opts) + keymap('n', '', "lua Scroll('', 1)", opts) + keymap('n', '', "lua Scroll('1', 1)", opts) -- Window scrolling: keymap('n', 'zz', "lua Scroll('zz', 0, 1)", opts) @@ -171,15 +176,10 @@ M.setup = function(user_config) -- Horizontal screen scrolling: keymap('n', 'zh', "lua Scroll('zh', 0, 1)", opts) keymap('n', 'zl', "lua Scroll('zl', 0, 1)", opts) - keymap('n', 'zH', "lua Scroll('zH', 0)", opts) - keymap('n', 'zL', "lua Scroll('zL', 0)", opts) - keymap('n', 'zs', "lua Scroll('zs', 0)", opts) - keymap('n', 'ze', "lua Scroll('ze', 0)", opts) - - -- Start/end of line: - keymap('n', '0', "lua Scroll('0', 0)", opts) - keymap('n', '^', "lua Scroll('^', 0)", opts) - keymap('n', '$', "lua Scroll('$', 0)", opts) + keymap('n', 'zH', "lua Scroll('zH')", opts) + keymap('n', 'zL', "lua Scroll('zL')", opts) + keymap('n', 'zs', "lua Scroll('zs')", opts) + keymap('n', 'ze', "lua Scroll('ze')", opts) end if config.extended_keymaps then diff --git a/lua/cinnamon/scroll.lua b/lua/cinnamon/scroll.lua index 6384190..4272c42 100644 --- a/lua/cinnamon/scroll.lua +++ b/lua/cinnamon/scroll.lua @@ -14,7 +14,7 @@ require('cinnamon.scroll').scroll(arg1, arg2, arg3, arg4, arg5, arg6) arg1 = A string containing the normal mode movement commands. * To use the go-to-definition LSP function, use 'definition' (or 'declaration' for go-to-declaration). -arg2 = Scroll the window with the cursor. (1 for on, 0 for off). Default is 1. +arg2 = Scroll the window with the cursor. (1 for on, 0 for off). Default is 0. arg3 = Accept a count before the command (1 for on, 0 for off). Default is 0. arg4 = Length of delay between each line (in ms). Default is the 'default_delay' config value. arg5 = Slowdown at the end of the movement (1 for on, 0 for off). Default is 1. @@ -43,7 +43,7 @@ M.scroll = function(command, scroll_win, use_count, delay, slowdown) utils.error_msg('The command argument cannot be nil') return end - scroll_win = int_to_bool(scroll_win or 1) + scroll_win = int_to_bool(scroll_win or 0) use_count = int_to_bool(use_count or 0) delay = delay or config.default_delay slowdown = int_to_bool(slowdown or 1)