Releases: khoido2003/multiple-cursor.nvim
Releases · khoido2003/multiple-cursor.nvim
v0.1.3
Added
- Persistent colorscheme listener
Fixed
- Duplicate Line Bug: Removed duplicate assignment of
original_posinstate.lua - Unused Variables: Cleaned up unused
bufnrvariables ineditor.luaandskipped_countinui.lua
Improved
- Memory Efficiency: Replaced
vim.deepcopy()with shallow copies instate.luafor cursor position tables (reduces allocation overhead) - O(1) Position Lookups: Added hash sets (
cursor_set,skipped_set) for instant position checks instead of O(n) array scans - significant speedup with many matches - Buffer Safety: Added buffer validity check in
finder.find_matches()to prevent errors on invalid buffers - Resource Cleanup: Added
editor.cleanup()function to properly reset module state - Keymap Management: Added
keymaps.clear_global_keymaps()for proper plugin unload cleanup
Removed
- Unused
currentHighlight: Removed thecurrenthighlight configuration (was defined but never used)
Full Changelog: v0.1.2...v0.1.3
v0.1.2
Added
- Floating Overlay Window: Configurable floating overlay for selection count display.
- Positions:
top-left,top-right,bottom-left,bottom-right - Configurable padding and colors via
highlight_definitions.overlay
- Positions:
- Visual Selection Support:
Ctrl+Nnow works on visual selection (not just word under cursor) - Insert Keys: Added
I(insert at start) andA(append at end) edit modes - Undo Cursor: Added
Ctrl+Uto remove the last added cursor - Vim-style Operators: Apply operations to all selected words at once:
gy- Yank all selected wordsg~- Toggle casegu- Lowercase allgU- Uppercase all
- Smart Re-scan: Automatically finds all matches of new word after editing completes (seamlessly continue selecting)
Fixed
- Overlay Resize: Overlay now repositions when terminal window is resized
- Overlay Position Clamping: Prevents negative positions on narrow windows
- Multi-line Editing: Improved sync for cursors across different lines
- Delete Behavior:
doperator now keeps multi-cursor mode active (allowsdtheniworkflow) - Delete Highlights: Fixed confusing highlight jumps after deletion; now shows cursor markers
- Duplicate Annotations: Removed duplicate
@returncomments instate.lua
v0.1.1
Added
- Configurable Highlights: Added
highlight_definitionsoption tosetup()allowing full customization of cursor, match, and skipped colors.
Changed
- Refined Defaults: Updated default highlight colors to be more vivid and high-contrast (Black text on Bright Backgrounds) for better visibility across all colorschemes.
Fixed
- Critical Edit Bug: Fixed issue where entering insert mode at the start of a word (
i) would delete the rest of the word. Implemented robust delta-based synchronization. - Navigation Logic: Fixed
Ctrl+Njumping to incorrect match when selecting out of order. Now consistently jumps to the nearest unselected match relative to cursor. - EOL Cursor Fix: Fixed cursor positioning when editing a word at the end of the line. Now correctly appends instead of landing on the last character.
Improved
- Unpacked Startup: Refactored internal
init.luato lazy-load modules, significantly improving startup time. - Edit Cursor Position: When entering edit mode from an unselected position, cursor now defaults to the end of the word instead of the start.
v0.1.0
First release