76 lines
3.6 KiB
Lua
76 lines
3.6 KiB
Lua
return {
|
|
"gen740/SmoothCursor.nvim",
|
|
config = function()
|
|
require("smoothcursor").setup {
|
|
type = "default", -- Cursor movement calculation method, choose "default", "exp" (exponential) or "matrix".
|
|
|
|
cursor = "", -- Cursor shape (requires Nerd Font). Disabled in fancy mode.
|
|
texthl = "SmoothCursor", -- Highlight group. Default is { bg = nil, fg = "#FFD400" }. Disabled in fancy mode.
|
|
linehl = nil, -- Highlights the line under the cursor, similar to 'cursorline'. "CursorLine" is recommended. Disabled in fancy mode.
|
|
|
|
fancy = {
|
|
enable = true, -- enable fancy mode
|
|
head = { cursor = "▷", texthl = "SmoothCursor", linehl = nil }, -- false to disable fancy head
|
|
body = {
|
|
{ cursor = "", texthl = "SmoothCursorRed" },
|
|
{ cursor = "", texthl = "SmoothCursorOrange" },
|
|
{ cursor = "●", texthl = "SmoothCursorYellow" },
|
|
{ cursor = "●", texthl = "SmoothCursorGreen" },
|
|
{ cursor = "•", texthl = "SmoothCursorAqua" },
|
|
{ cursor = ".", texthl = "SmoothCursorBlue" },
|
|
{ cursor = ".", texthl = "SmoothCursorPurple" },
|
|
},
|
|
tail = { cursor = nil, texthl = "SmoothCursor" }, -- false to disable fancy tail
|
|
},
|
|
|
|
matrix = { -- Loaded when 'type' is set to "matrix"
|
|
head = {
|
|
-- Picks a random character from this list for the cursor text
|
|
cursor = require "smoothcursor.matrix_chars",
|
|
-- Picks a random highlight from this list for the cursor text
|
|
texthl = {
|
|
"SmoothCursor",
|
|
},
|
|
linehl = nil, -- No line highlight for the head
|
|
},
|
|
body = {
|
|
length = 6, -- Specifies the length of the cursor body
|
|
-- Picks a random character from this list for the cursor body text
|
|
cursor = require "smoothcursor.matrix_chars",
|
|
-- Picks a random highlight from this list for each segment of the cursor body
|
|
texthl = {
|
|
"SmoothCursorGreen",
|
|
},
|
|
},
|
|
tail = {
|
|
-- Picks a random character from this list for the cursor tail (if any)
|
|
cursor = nil,
|
|
-- Picks a random highlight from this list for the cursor tail
|
|
texthl = {
|
|
"SmoothCursor",
|
|
},
|
|
},
|
|
unstop = false, -- Determines if the cursor should stop or not (false means it will stop)
|
|
},
|
|
|
|
autostart = true, -- Automatically start SmoothCursor
|
|
always_redraw = true, -- Redraw the screen on each update
|
|
flyin_effect = nil, -- Choose "bottom" or "top" for flying effect
|
|
speed = 25, -- Max speed is 100 to stick with your current position
|
|
intervals = 35, -- Update intervals in milliseconds
|
|
priority = 10, -- Set marker priority
|
|
timeout = 3000, -- Timeout for animations in milliseconds
|
|
threshold = 3, -- Animate only if cursor moves more than this many lines
|
|
max_threshold = nil, -- If you move more than this many lines, don't animate (if `nil`, deactivate check)
|
|
disable_float_win = false, -- Disable in floating windows
|
|
enabled_filetypes = nil, -- Enable only for specific file types, e.g., { "lua", "vim" }
|
|
disabled_filetypes = nil, -- Disable for these file types, ignored if enabled_filetypes is set. e.g., { "TelescopePrompt", "NvimTree" }
|
|
-- Show the position of the latest input mode positions.
|
|
-- A value of "enter" means the position will be updated when entering the mode.
|
|
-- A value of "leave" means the position will be updated when leaving the mode.
|
|
-- `nil` = disabled
|
|
show_last_positions = nil,
|
|
}
|
|
end,
|
|
}
|