Commit Graph
6293 Commits
Author SHA1 Message Date
chylex 1183c5243d Work around sticky lines with scrolloff=999 2026-11-05 07:09:13 +01:00
chylex 527e381901 Disable paragraph-motion plugin bindings for operator-pending mode 2026-11-01 19:56:13 +01:00
chylex 5767e13bd2 Make search highlights temporary 2026-11-01 19:56:12 +01:00
chylex 17bdb2a998 Disable IdeaVim in popup editors 2026-11-01 19:56:12 +01:00
chylex b1e0170205 Fix AltGr not triggering Ctrl-Alt bindings on Windows 2026-11-01 19:56:12 +01:00
chylex 82e533dde8 Add 'isinplacerenaming' function 2026-11-01 19:56:11 +01:00
chylex 581f7370a4 Add 'isactionenabled' function 2026-11-01 19:56:11 +01:00
chylex f89279ebf1 Preserve visual mode after executing IDE action 2026-11-01 19:56:11 +01:00
chylex 6e964c8fde Make g0/g^/g$ work with soft wraps 2026-11-01 19:56:11 +01:00
chylex 819aeab3e0 Do not switch to normal mode after inserting a live template 2026-11-01 19:56:10 +01:00
chylex e1cb2319cc Exit insert mode after refactoring 2026-11-01 19:56:10 +01:00
chylex a38e5ed162 Add action to run last macro in all opened files 2026-11-01 19:56:10 +01:00
chylex 0d6e4163a7 Fix losing yanked text when number of carets changes 2026-11-01 19:56:09 +01:00
chylex 143a56b128 Apply scrolloff after executing native IDEA actions 2026-11-01 19:56:09 +01:00
chylex 09a1ce49dd Automatically add unambiguous imports after running a macro 2026-11-01 19:56:09 +01:00
chylex 10334965ee Fix(VIM-3986): Exception when pasting register contents containing new line 2026-11-01 19:56:08 +01:00
chylex 383d4fd3f6 Fix(VIM-3179): Respect virtual space below editor (imperfectly) 2026-11-01 19:56:08 +01:00
chylex c7b444bee3 Fix vim-surround not working with multiple cursors or count 2026-11-01 19:56:08 +01:00
chylex 417cbee77a Change matchit plugin to use HTML patterns in unrecognized files 2026-10-31 16:05:21 +01:00
chylex ec1f1ccf57 Fix ex command panel causing Undock tool window to hide 2026-10-31 16:05:21 +01:00
chylex f172cf18bc Restore normal or visual mode when switching active editor 2026-10-31 16:05:21 +01:00
chylex ea30037173 Remove notifications about configuration options 2026-10-31 16:05:21 +01:00
chylex b06ad2cce5 Set custom plugin version 2026-10-31 16:05:21 +01:00
1grzyb1 0e1dacf287 Preparation to 2.48.0 release 2026-10-30 11:20:04 +01:00
IdeaVim Bot 07305d694c Preparation to 2.48.1 release 2026-10-30 10:14:30 +00:00
1grzyb1 c6167f8c65 VIM-4365 pass Shift+Enter to AIR in chat
IdeaVim took Shift+Enter in the AIR prompt, so AIR's new line action never
ran and Insert mode couldn't break a line. Instead of special-casing single
keys, hand any key bound to an `Air.Chat.Prompt.*` action in the active
keymap to AIR, which also covers Enter, Ctrl+Enter and user rebindings.
2026-10-30 10:27:00 +01:00
1grzyb1 c1b09f2d55 VIM-4365 don't show line number in chat window 2026-10-30 10:27:00 +01:00
1grzyb1 8004f7fa9d VIM-4365 pass enter to AIR in chat 2026-10-30 10:27:00 +01:00
1grzyb1 b9d71811dc VIM-3968 Run Rider backend actions with the asynchronous update
Rider gets the state of a backend action (e.g. MoveElementRight or ReformatCode for C#) from the backend only for a real hotkey: when the last shortcut seen by the key dispatcher belongs to the action, it wraps the action into a composite that asks the backend. The synchronous tryToExecute goes through the same hotkey update but never gets there. After `:action` the last shortcut is Enter, so the action isn't wrapped, and after an `<Action>` mapping it is wrapped, but tryToExecuteNow updates the original action instead of the wrapped one. Either way only the frontend answers, it reports the action as disabled, and tryToExecute rejects it. The asynchronous tryToExecute updates the action the way a menu does, with an asynchronous request to the backend, so it gets the real state without blocking the EDT. The action then runs later, so executeAction can't tell whether it succeeded, but the backend's changes arrive later anyway.

The new Rider tests also cover the action cases fixed earlier (VIM-3376, VIM-3826, VIM-3861, VIM-3881) that had no Rider test. ReformatCode from a mapping no longer freezes Rider, so its disabled test is replaced by RiderReformatCodeTest, which runs in its own Rider in case it does again.
2026-10-29 10:02:09 +01:00
1grzyb1 0640b0a719 VIM-4336 Wait for the backend after Rider's composite hotkey action
For a hotkey, Rider replaces its backend actions with a single RiderBackendCompositeAction, so IdeaVim's action listener sees the composite and not e.g. CommentByLineComment. The composite doesn't implement PossiblyDelegatingToBackendAction, so IdeaVim normalized the caret right away, before the backend applied the comment. The frontend took that caret move for a user change made while the request was pending and replayed it on top of the backend's changes, which put the caret back on the line just commented. The unit test didn't catch it because it simulates an action with the interface. The composite is internal to Rider and not available at compile time, so it's recognized by its class name, the same way the interface is.
2026-10-29 10:02:09 +01:00
1grzyb1andClaude Opus 5.5 5c3a80654d Put :help, action ID completion and AI chat editors first in What's New
Also record release commit 38212a243 the page describes, which the
workflow failed to push.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 09:42:54 +01:00
claude[bot]andClaude Opus 5.5 a757fff783 Prepare What's New for the upcoming release
Add changelog entries for the surround tag prompt (VIM-2796), incsearch in non-search prompts (VIM-4346) and k scrolling with sticky lines (VIM-4329), and create whatsnew-tbr.html from the release section.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 09:42:54 +01:00
1grzyb1 27aabf8301 VIM-4329 Fix k movement scrolling with so=9999
The sticky lines panel's height depends on the scroll position, so an exact middle doesn't always exist, and the old tolerance range let the previous position count as centred after every other k; instead, try the middle for each panel height we find and keep the closest position, staying put on a tie unless the caret moved to another line, so moves always scroll but typing never scrolls back and forth.
2026-10-27 11:40:44 +01:00
1grzyb1 e90c7779cc VIM-4346 Read Surround command asynchronously 2026-10-27 09:21:04 +01:00
1grzyb1 029be52277 Fix(VIM-2796): Finish the surround tag prompt with Enter
ModalEntry now reads keys before the keymap, because pressed Enter used to run the IdeaVim shortcut first and the tag regex required a closing `>`.
2026-10-27 09:21:04 +01:00
1grzyb1 d3a8a00223 VIM-4346 CommandLinePreview: Update preview logic
Extract command line preview logic
2026-10-27 09:21:04 +01:00
1grzyb1 87bd828e2d VIM-4346 new API to open ex entry panel
Now entry panel knows what type of action opened it and can perofrm opartions according to it's type
2026-10-27 09:21:04 +01:00
1grzyb1 0d4ca1d6f0 VIM-4346 don't trigger incsearch from input entry panel
When entry panel was exectued as inputStrin to receive user input it performed incsearch
2026-10-27 09:21:04 +01:00
claude[bot]andClaude Opus 5.5 3e0d977177 Add tests for blockwise shift left
ShiftLeftVisualAction had no coverage for the blockwise branch of
indentRange, while ShiftRight already tests it. Cover a block starting
at column 0 with a whitespace-only line shorter than the indent, and a
block starting mid-line where some lines are shorter than the block
column and must be left untouched.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 08:32:50 +01:00
1grzyb1 ea8e3bd1ae VIM-4349 parse ' and ` keycodes in mappings 2026-10-26 12:57:36 +01:00
1grzyb1 238a696594 VIM-2342 Document fugitive extension and quickfix commands 2026-10-26 09:41:18 +01:00
1grzyb1 94dc275719 VIM-2342 Allow cancelling a slow Ggrep
Ggrep shows a titled progress dialog, and cancelling it kills the git process instead of leaving it running
2026-10-26 09:41:18 +01:00
1grzyb1 8d9a16d995 VIM-2342 Add cclose command 2026-10-26 09:41:18 +01:00
1grzyb1 97ae43ee55 VIM-2342 Add copen command
Shows the quickfix list in a read-only window that follows the current item. Enter on a line jumps to that item in the window copen was run from
2026-10-26 09:41:18 +01:00
1grzyb1 712adc3093 VIM-2342 Implement cfirst and clast commands 2026-10-26 09:41:18 +01:00
1grzyb1 96d5ca8388 VIM-2342 Implement cpfile command 2026-10-26 09:41:18 +01:00
1grzyb1 3906c8f38f VIM-2342 Implement cnfile command 2026-10-26 09:41:18 +01:00
1grzyb1 57a6952543 VIM-2342 Keep quickfix list per project 2026-10-26 09:41:18 +01:00
1grzyb1 38926e7a3f VIM-2342 Remove unnecessary git version process call 2026-10-26 09:41:18 +01:00
1grzyb1 f1a8ae4789 VIM-2342 Add cprev command 2026-10-26 09:41:18 +01:00