Commit Graph
6293 Commits
Author SHA1 Message Date
Alex PlateandClaude Opus 5 33d0e5b3ef Remove user surveys
Drop the uninstall survey browser popup and the "Take Survey" entry in the
status bar widget menu.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-22 15:18:15 +03:00
1grzyb1 d682906047 VIM-3198 add fast scroll in nerdtree
add mapping for <c-d> and <c-u> in nerdtree for fast scroll
2026-09-22 10:31:04 +02:00
grzybekandClaude Opus 5 a087a508b5 VIM-3093 Scope search highlights to the viewport
Vim computes 'hlsearch' per screen cell during redraw and keeps no highlight objects at all, while IdeaVim materialises a RangeHighlighter per match, so highlighting the whole buffer put tens of thousands of them in the markup model for the 35 lines the user can see.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-21 11:58:29 +02:00
grzybekandClaude Opus 5 154f81d1d6 VIM-3093 Stop deriving the search match model from the highlighters
Once the highlighters cover only the viewport they are no longer a complete model of the matches, so the two callers that read the match list back out of them need another source.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-21 11:58:29 +02:00
grzybekandClaude Opus 5 c7149c3129 VIM-3093 Give search highlights a single owner per editor
Nothing kept the vimLastHighlighters list and the markup model in step, and nothing could answer which part of the document is currently highlighted - both of which scoping the highlights to the viewport needs.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-21 11:58:29 +02:00
grzybek 46cf018d32 VIM-4326 run mapping from select mode in visual mode
Vim when mapping is run on select mode it runs it in visual and then restores
2026-09-18 09:19:01 +02:00
grzybek e552a2ba51 VIM-2627 Handle nullable PathMacroManager.expandPath on 2026. 2026-09-17 13:17:33 +02:00
1grzyb1 bf210ba468 VIM-3999 list option to enable vim in other editors
As we now have more editors that we are not always want to enable vim in it make more sense to have list option to enable/disable them there
2026-09-14 11:51:57 +02:00
1grzyb1 f9d455073e VIM-3999 enable vim in debug console 2026-09-14 11:51:57 +02:00
1grzyb1 0ae4b2698a VIM-2629 commentary block comments variable
Allow to disbale char-ise block comments.
Original plugin doesn't support comment part of line.
Here we add `commentary_block_comments` variable to allow to disable it
2026-09-14 08:57:22 +02:00
1grzyb1 4ab0520d9a VIM-2627 Configure ideavimrc path
Allow users to define custom locations of ideavimrc with path expansions and ij macros
2026-09-11 11:46:06 +02:00
1grzyb1 c6f3dc4cc5 VIM-2239 add c-[ as esc in vim everywhere 2026-09-10 09:48:16 +02:00
1grzyb1 58969a50c2 VIM-2663 implement start replace command 2026-09-10 08:58:51 +02:00
1grzyb1 5a09332bf8 VIM-2663 implement start insert command 2026-09-10 08:58:51 +02:00
1grzyb1 9c052110f6 VIM-2478 add autoindent option 2026-09-09 18:41:37 +02:00
1grzyb1 dfee17471c VIM-2478 restore auto indent after actions 2026-09-09 18:41:37 +02:00
1grzyb1 7eccb8ffa1 VIM-2127 Update corresponding html tag while editing
document was not passed to executeCommand and without that XmlTagNameSynchronizer couldn't find synchronizer for sam tag editions
2026-09-09 12:40:33 +02:00
1grzyb1 5cf65c5d1a VIM-2089 add missing tests for gv 2026-09-08 12:26:39 +02:00
1grzyb1 eb897412b3 VIM-2089 Save jumplist when searching 2026-09-08 12:26:39 +02:00
1grzyb1 2f2f59dada VIM-2089 respect ignorecase options 2026-09-08 12:26:39 +02:00
1grzyb1 ba6656d36b VIM-2089 block wise selection search 2026-09-08 12:26:39 +02:00
1grzyb1 ee899f6227 VIM-2089 Implement Visual Star Search extension 2026-09-08 12:26:39 +02:00
1grzyb1 7cd528013c VIM-4318 Restore selection with gv after sort
We were incoretlly restoring visual selection after sort command as updateMarksFromDelete/updateMarksFromInsert was updating last selection twice
2026-09-08 08:55:03 +02:00
1grzyb1 f853a5a4b9 VIM-2700 Navigate between split diff windows 2026-09-07 09:27:57 +02:00
1grzyb1 baef79a4b7 VIM-1974 implement textobj-line extension 2026-09-04 12:57:09 +02:00
1grzyb1 f03dd3036c Unflaky wndows jumps tests 2026-09-04 09:50:46 +02:00
1grzyb1 a2201f9553 VIM-3667 handle vim shortcuts outside editor 2026-09-04 09:21:32 +02:00
1grzyb1 3ea018a443 VIM-4319 turn off plugin before unload
Plugin was being disposed after services could be removed which resulted in NPE during disposal
2026-09-03 09:25:14 +02:00
1grzyb1 fafc5d25a4 Add idea prefix to custom options
To not confuse our internal options with vim ones we've added idea prefix to all of them
Old names will still work as deprecated names
2026-09-03 09:03:23 +02:00
1grzyb1 6ff4ae1d21 VIM-4308 y highlight the current search match during an incsearch 2026-09-02 11:25:11 +02:00
claude[bot]andClaude Opus 5 05bcee8053 Fix: AssertionError when yanking with a blockwise-forced motion (y<C-V>)
`y<C-V>{motion}` (`:help o_CTRL-V`) makes `getMotionRange` return a
rectangular block, i.e. a multi-range `TextRange` with one range per row
of the block. `YankGroupBase.yankMotion` assumed a single range and
tripped `assert(motionRange.size() == 1)`; with assertions disabled it
silently yanked only the first row of the block, characterwise.

Handle a blockwise-forced motion the way the delete path already does:
store the whole multi-range as a blockwise yank and skip the
characterwise-to-linewise promotion, which does not apply to a block.

Found by the YankDeletePropertyTest property test.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-01 10:47:20 +02:00
claude[bot]andClaude Opus 5 05d766b93f Fix: IndexOutOfBoundsException inserting the filename under the caret at the end of the document
`c_CTRL-R_CTRL-F` uses the *exclusive* end offset of the current incsearch
match as the document offset to look for a filename at. When the match ends
at the very end of the document, that offset equals the text length, and
`findFilenameAtOrFollowingCursor` indexed the text with it directly.

Guard against an offset that isn't a valid index into the text, and return
null, which reports E446 "No file name under cursor". This is the same guard
that `findWordAtOrFollowingCursor` already has, and it matches Vim, which
finds no identifier or filename when the position is past the end of the line.

Found by the property based tests.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-01 10:47:02 +02:00
1grzyb1andClaude Opus 5 22cbe0b1d0 VIM-4314 expand % in ex commands
Expand % signs also during command execution, not only with tab
completion.

% is the buffer name, relative while the file is under a content root;
only :p forces the full path. Expansion runs in a single forward pass
that honours \% and never rescans the expanded name, so a file name
containing % no longer loops forever. :! expands only the file-name
specials and leaves $VAR and ~ to the shell, as Vim does.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-01 09:47:27 +02:00
1grzyb1 a8e199d868 VIM-4314 root and extension % completion 2026-09-01 09:47:27 +02:00
1grzyb1 b47d0b164f VIM-4314 tail % completion 2026-09-01 09:47:27 +02:00
1grzyb1 94c57f23cf VIM-4314 perse % arguments in completion 2026-09-01 09:47:27 +02:00
1grzyb1 74e65e9808 VIM-4314 Expand % in command completion to filename 2026-09-01 09:47:27 +02:00
1grzyb1 33bc6c3fde VIM-4308 Don't update the current search match highlight when no search is active 2026-08-31 10:44:14 +02:00
AndDe-gourav 1c1a634367 test for visualSwapSelection 2026-08-31 10:01:42 +02:00
AndDe-gourav 60eba4c483 fix test related to changeVisualCharacter 2026-08-28 08:29:24 +02:00
1grzyb1 9ad9842f0d Remove end from Vim only editor keys 2026-08-27 10:57:46 +02:00
1grzyb1 81e56413f5 Disable jumps test in splti window
It's flaky will fix later
2026-08-27 10:40:50 +02:00
1grzyb1 5ee595aac4 VIM-3058 alternate file name register 2026-08-27 09:19:18 +02:00
1grzyb1 e0b9cb5def VIM-1370 Fix tag command to last position on stack 2026-08-26 11:01:35 +02:00
1grzyb1 e24188b427 VIM-1370 add tagstack option to disable tagstack 2026-08-26 11:01:35 +02:00
1grzyb1 f8ccadf5a1 VIM-1370 Implement tag command to push to tag stack 2026-08-26 11:01:35 +02:00
1grzyb1andCursor f6a4f77d12 VIM-1370 Implement pop command to pop from tag stack
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-26 11:01:35 +02:00
1grzyb1 29233c8e83 VIM-1370 Implement tags command to list tags 2026-08-26 11:01:35 +02:00
1grzyb1 ca33c221ce VIM-1370 Implement C-] go to declaration with tag stack 2026-08-26 11:01:35 +02:00
1grzyb1 d34b861aff VIM-1370 ctrl-t to pop from tag stack 2026-08-26 11:01:35 +02:00