1grzyb1 and Grzybek
4dec9a95a4
VIM-186 Support nested comments
2026-04-23 13:57:28 +02:00
1grzyb1 and Grzybek
cd5c8e9e17
VIM-186 Use vim license for code wrapper
2026-04-23 13:57:28 +02:00
1grzyb1 and Grzybek
64e110f27a
VIM-186 Add comment-aware code wrapping for gq/gw
2026-04-23 13:57:28 +02:00
1grzyb1 and Grzybek
eaf39234b2
VIM-1158 Add gw to reformat code with preserving the cursor position
2026-04-23 13:57:28 +02:00
1grzyb1 and Grzybek
607920d262
VIM-4207 Add support for update command
2026-04-22 09:07:58 +02:00
1grzyb1 and Grzybek
ab7ca0e32e
VIM-4202 Don't intercept all <S-Tab>
...
When <S-Tab> was in VIM_ONLY_EDITOR_KEYS users couldn't override it for other intelij actions
2026-04-21 11:05:19 +02:00
1grzyb1 and Grzybek
7ec1e4c58d
VIM-4202 Fix state after commentary action
...
in split mode/clion/ rider, after the comment action runs on rpc, it happens after removing selection. To fix that, we execute handler directly in synchronous way
2026-04-21 10:21:29 +02:00
1grzyb1 and Grzybek
558d670f4e
VIM-4139 Compute nesting depth for fold regions
2026-04-21 08:21:47 +02:00
1grzyb1 and Grzybek
0df627ab19
VIM-1693 Normalize BufRead and BufWrite aliases at registration
2026-04-20 13:40:32 +02:00
1grzyb1 and Grzybek
7546b0737d
VIM-1693 Fix clearAuGroup on CopyOnWriteArrayList
2026-04-20 13:40:32 +02:00
1grzyb1 and Grzybek
d58a68df78
VIM-1693 Bound BufNewFile tracker and clear on disable
2026-04-20 13:40:32 +02:00
1grzyb1 and Grzybek
aedf114576
VIM-1693 Run write events against main editor
2026-04-20 13:40:32 +02:00
1grzyb1 and Grzybek
9decc7095b
VIM-1693 Document autocmd
2026-04-20 13:40:32 +02:00
1grzyb1 and Grzybek
4edc23006e
VIM-1693 BufWrite events support
2026-04-20 13:40:32 +02:00
1grzyb1 and Grzybek
6e21fbd61a
VIM-1693 BufNewFile event support
2026-04-20 13:40:32 +02:00
1grzyb1 and Grzybek
1be8183399
VIM-1693 BufRead event support
2026-04-20 13:40:32 +02:00
1grzyb1 and Grzybek
f7718b6dd8
VIM-1693 FileType event support
2026-04-20 13:40:32 +02:00
1grzyb1 and Grzybek
5cfd1d1fe6
VIM-1693 Focus Gained Lost support
2026-04-20 13:40:32 +02:00
1grzyb1 and Grzybek
66ed07e6f5
VIM-1693 WinLeave WinEnter support
2026-04-20 13:40:32 +02:00
1grzyb1 and Grzybek
720d8fab40
VIM-1693 fix buf enter leave handling
2026-04-20 13:40:32 +02:00
1grzyb1 and Grzybek
6c803e3154
VIM-1693 File pattern matching in autocmd
2026-04-20 13:40:32 +02:00
1grzyb1 and Grzybek
38c74d6b9d
VIM-1693 Add support for multiple autocmd events
2026-04-20 13:40:32 +02:00
1grzyb1 and Grzybek
55a451ac2f
VIM-1693 Refactor Insert Leave/Enter to work on listeners
2026-04-20 13:40:32 +02:00
1grzyb1 and Grzybek
29a02a102b
VIM-1693 Use thread-safe collections for autocmd event handling
2026-04-20 13:40:32 +02:00
bebce05950
VIM-1693 Support augroup
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-04-20 13:40:32 +02:00
f86ba678e5
VIM-1693 Fix autocmd grammar
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-04-20 13:40:32 +02:00
64f2d5b628
VIM-1693 Support for Buffer events
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-04-20 13:40:32 +02:00
98abfedb98
VIM-1693 Fix autocmd in test injector
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-04-20 13:40:32 +02:00
1dcb386b92
VIM-1693 Basic autocmd implementation
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-04-20 13:40:32 +02:00
1grzyb1 and Grzybek
d085b3ffce
VIM-4112 collapse restored carets after undo of block-visual edit
...
After undoing a block-visual edit (<C-V>…x, <C-V>…c, <C-V>…I), IntelliJ restored the pre-edit multi-caret CaretState even though Vim is in single-cursor normal mode, leaving stray native carets. UndoRedoHelper now detects the 1 -> N caret jump across undo - a signal unique to block-visual since it's the only flow that collapses multi-carets on exit - and collapses back to a single caret at the block's top-left, matching Vim's convention
2026-04-20 11:41:24 +02:00
499069177c
VIM-4195 Remove legacy $APP_CONFIG$ macro from @Storage annotations
...
The $APP_CONFIG$ path macro in @Storage annotations is rejected by
SecurityHelper.validateSettingsFile in remote dev / split mode. The
platform resolves app-level storage to the config directory automatically,
so the bare filename is sufficient.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-16 11:45:17 +02:00
1grzyb1 and Grzybek
f5afa628d9
Make nerdtree work without calling backend actions
...
Nerdtree was using actions that went through RPC whihch resulted in poor performance in split mode
2026-04-15 12:53:42 +02:00
70066dffc1
Update changelog: gw command, search panel fixes, range errors, visual mode off-EDT
...
Combines changelog entries from PRs #1680 , #1670 , and #1661 :
- VIM-1158: Added gw command
- VIM-4176: Fixed search output panel race condition
- VIM-4175: Fixed search "not found" display
- Fixed \/, \?, \& range errors (E35/E33)
- VIM-4113: Fixed visual mode commands off-EDT
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-15 10:42:41 +02:00
1grzyb1 and Grzybek
75b4d3fce3
VIM-4172 Disable ideavim in Python Console
2026-04-15 10:17:46 +02:00
1grzyb1 and Grzybek
08aea2b202
Split mode test for simple undo insert
2026-04-15 10:14:13 +02:00
1grzyb1 and Grzybek
f5fdc217be
Restore old VimPLugin method signatures
...
During splitting plugin arhcitecture, we changed method signature, making them not backward compatible.
2026-04-15 10:04:58 +02:00
1grzyb1 and Grzybek
5416d1505f
VIM-4172 Add test for visual selection commands
2026-04-15 09:52:06 +02:00
01789c6a7b
VIM-3727 Fix Python console Enter and arrow keys in split mode
...
In split mode, VimShortcutKeyAction and ToolWindowNavDispatcher claimed Enter/arrow key shortcuts on the Python console editor component, preventing the thin client from creating backend delegating actions for Console.Execute and history navigation.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-15 09:39:33 +02:00
1grzyb1 and Grzybek
ebc09ddab1
VIM-3727 Add debug pycharm in splitmode run configuration
2026-04-15 09:39:33 +02:00
1grzyb1 and Grzybek
e7722bef61
VIM-268 scroll through results using arrow keys
2026-04-14 11:33:32 +02:00
1grzyb1 and Grzybek
d28889fc7b
VIM-268 edit command autocomplete
2026-04-14 11:33:32 +02:00
1grzyb1 and Grzybek
9251a83031
VIM-1158 Refactor gq tests: use multiline strings and class-level annotation
2026-04-13 10:29:20 +02:00
1grzyb1 and Grzybek
3793458d64
VIM-1158 Add gw to reformat code with preserving the cursor position
2026-04-13 10:29:20 +02:00
1grzyb1 and Grzybek
34196bc0dd
Disable split mode tests
...
Agent doesn't have Xvfb will enable when it will have
2026-04-10 13:24:04 +02:00
1grzyb1 and Grzybek
2a7d23586a
Install Xvfb in TC
2026-04-10 11:16:16 +02:00
1grzyb1 and Grzybek
d47a22e96f
Disable Xvfb access control
2026-04-10 10:56:05 +02:00
1grzyb1 and Grzybek
f4c6e04558
Wait for display to be ready in split mode tests
2026-04-10 10:27:52 +02:00
1grzyb1 and Grzybek
c82539e379
Remove manual DriverRunner registration
2026-04-10 09:59:25 +02:00
1grzyb1 and Grzybek
11f1745c63
VIM-4175 Don't insert repeat when not needed
...
In split mode calling insertRepeatTExt each time over rpc was adding unessesery overhead
2026-04-10 09:09:36 +02:00
1grzyb1 and Grzybek
581001f199
VIM-4175 Don't refocus editor after close output panel
2026-04-10 08:47:31 +02:00
1grzyb1 and Grzybek
9f33320e66
Move split mode tests to team city
2026-04-09 14:21:18 +02:00
1grzyb1 and Grzybek
5dc5aaa0d8
VIM-4176 Don't focus single line output
...
Scroll was causing clearing output panel which resulted in race conditions
2026-04-09 14:06:05 +02:00
1grzyb1 and Grzybek
0d8d215946
Clear gradle caches in random order tests
...
They were keeping old class descriptors
2026-04-09 12:26:32 +02:00
1grzyb1 and Grzybek
c9234b82f5
VIM-4175 Clear output panel before showing error
...
Split showing error message into two separate methods. Once that appends the error to the current output panel and the second that clears the output panel before showing the error. So when no search results are found we don;t show hit enter message,
2026-04-09 11:45:56 +02:00
1grzyb1 and Grzybek
b9bd523648
Fix visual selection commands failing off-EDT due to nested write-in-read action
...
Commands entered from Visual mode (e.g. :'<,'>sort) fail because Command.execute wraps selection cleanup in runReadAction, but exitVisualMode nests a runWriteAction inside it, which deadlocks off-EDT. Remove the unnecessary runWriteAction from exitVisualMode since removeSelection only requires EDT, not a write lock.
2026-04-08 13:48:33 +02:00
1grzyb1 and Grzybek
4f5b793642
Bump ideaVersion to 2026.1
2026-04-08 13:48:33 +02:00
1grzyb1 and Grzybek
2fdf52d305
Split double undo into two singles once
2026-04-08 09:24:14 +02:00
1grzyb1 and Grzybek
56103c990b
Increase compatibility pipeline timeout to 180 minutes
2026-04-08 08:50:47 +02:00
1grzyb1 and Grzybek
1e489e2c14
Wait for ideavim to attatch to editor
2026-04-08 08:44:16 +02:00
1grzyb1 and Grzybek
06d877415d
Make go back shortcut platform-specific
2026-04-07 12:52:07 +02:00
706ac76b5e
Update changelog: aggregate all pending changelog entries
...
Combines entries from 10 individual changelog PRs (#1593 , #1604 , #1607 ,
#1612 , #1614 , #1618 , #1625 , #1637 , #1644 , #1648 ) into a single update.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-07 11:13:16 +02:00
1grzyb1 and Grzybek
98934ff7bf
Clean Gradle before running tests
...
It should ensure no stale classes survive between builds
2026-04-07 11:09:05 +02:00
1grzyb1 and Grzybek
c26658d27d
Ensure editor is ready before proceeding with split tests
2026-04-07 10:52:41 +02:00
1grzyb1 and Grzybek
f6fb0fbea6
Disable gradle cache for testing build type
...
It was preserving old class descriptors
2026-04-07 10:36:31 +02:00
1grzyb1 and Grzybek
46a48b03a1
Return ChangeGroup from VimPLugin to make it compatibile
2026-04-07 08:55:25 +02:00
1grzyb1 and Grzybek
46823abcda
Fix timing in jump navigation split tests
2026-04-03 12:25:19 +02:00
1grzyb1 and Grzybek
a9c3277a51
Reset KeyHandler in rider esc lookup
2026-04-03 11:28:24 +02:00
1grzyb1 and Grzybek
6e6039c22a
Enable lookup listener only in rider/clion
2026-04-03 11:28:24 +02:00
1grzyb1 and Grzybek
b49e896b41
Return VimCaret fields back to IjVimCaret
...
There was compatibility issue with multicursor due to change of return type
2026-04-03 11:14:54 +02:00
1grzyb1 and Grzybek
122b066b75
Return KeyGroup from getKey
...
There was compatibility issue with multicursor due to change of return type
2026-04-03 11:14:54 +02:00
1grzyb1 and Grzybek
cb24ac2bfa
Restore public fields in IjVimEditor
...
Some fields where moved to factory and it resulted in compatybility issues with multicursor plugin
2026-04-03 11:14:54 +02:00
1grzyb1 and Grzybek
b14324a3e6
Catching initialization exceptions
...
When external plugin couldn't be initilized and throw exception it resulted in broken ideavim state
2026-04-03 08:37:20 +02:00
1grzyb1 and Grzybek
e40a839f52
Fix Escape not exiting insert mode after Ctrl+Space completion in Rider
...
Octopus is disabled for Rider (VIM-3815), and Rider's LookupSummaryInfo popup causes the popup manager to consume Escape before IdeaVim's action handlers can process it, so we now listen for explicit lookup cancellation via LookupListener to exit insert mode.
2026-04-02 12:27:25 +02:00
1grzyb1 and Grzybek
a45cc0891b
Don't extend octopus handler in VimEscForRiderHandler
...
Octopus is disabled for Rider so VimEscForRiderHandler couldn't properly handle esc
2026-04-02 11:02:08 +02:00
1grzyb1 and Grzybek
89bad651c0
Add missing frontend module decriptor
2026-04-02 11:02:04 +02:00
1grzyb1 and Grzybek
02130a87c9
Exit search with proper defocus and handle escape
2026-04-01 11:48:43 +02:00
1grzyb1 and Grzybek
40ba977e58
Add run configurations for all platforms
...
To simplify running ideavim with different platforms, this commit introduce run configurations for each platform both in monolith and split mode
2026-04-01 09:43:37 +02:00
1grzyb1 and Grzybek
21f304a560
VIM-4135 fix loading rider module
2026-04-01 09:32:32 +02:00
1grzyb1 and Grzybek
36e8bd4663
VIM-4016 Fix :edit when project has no source roots
...
When project couldn't properlly indexed and didn't have source roots it couldn't find file using edit command. So I've modified it to search using absolute paths in project
2026-03-31 09:48:34 +02:00
1grzyb1 and Grzybek
5a2d982ca5
VIM-3918 Ensure commentary is installed
2026-03-26 11:28:28 +01:00
1grzyb1 and Grzybek
527f612e75
VIM-3918 Run split mode tests using github actions
...
To make it work same way as ui tests I moved split mode tests to run on gh also
2026-03-26 09:51:15 +01:00
1grzyb1 and Grzybek
4f748e5a98
VIM-3918 Add TeamCity configuration for split-mode tests
...
Register SplitModeTests build type: daily schedule at 4am,
XLARGE agent, artifact collection including IDE logs.
2026-03-25 11:43:43 +01:00
1grzyb1 and Grzybek
c01a38d584
VIM-3918 Add split-mode tests for jump navigation
2026-03-25 11:43:43 +01:00
1grzyb1 and Grzybek
6c569d9cb3
VIM-3918 Add split-mode tests for file ops, marks, and bookmarks
2026-03-25 11:43:43 +01:00
1grzyb1 and Grzybek
c332b010f4
VIM-3918 Add split-mode tests for commentary, repeat, and format undo
2026-03-25 11:43:43 +01:00
1grzyb1 and Grzybek
01a7cb4865
VIM-3918 Infrastructure for running split mode tests
2026-03-25 11:43:43 +01:00
13fd228707
Fix TransactionTest project leak on CI
...
The mock services (VimMarkService, VimJumpService) were replaced via
MockTestCase.mockService() using @TestDisposable, which is disposed
AFTER @AfterEach. During super.tearDown(), editor disposal triggers
injector.markService.editorReleased(vimEditor), which still hits the
mock (service replacement not yet undone). This records a new Mockito
invocation on the EDT's MockingProgressImpl thread-local, holding
IjVimEditor → EditorImpl → ProjectImpl — causing the leaked project.
Fix: use a separate Disposable for service replacements and dispose it
before super.tearDown(), so editorReleased goes to the real service.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-24 13:48:44 +01:00
1grzyb1 and Grzybek
2b0485fb9c
Fix flaky Transaction test
2026-03-24 11:09:16 +01:00
1grzyb1 and Grzybek
65ae630623
Fix flaky Transaction test
2026-03-24 10:08:28 +01:00
1grzyb1 and Grzybek
8c89f8d4eb
Fix slow edt operation exception
2026-03-24 09:13:42 +01:00
1grzyb1 and Grzybek
d0ad4caf76
Move dependency support to the plugin.xml file
...
Otherwise, exception thrown from `DependencySupportBean.setPluginDescriptor()`.
2026-03-24 09:13:42 +01:00
1grzyb1 and Grzybek
35fe3f9cca
VIM-2821 Undo for repeating insertText in split mode
...
Insert text wasn't being properly grouped into single undo group when performing `.`
Now whole `.` is grouped into single undo entry
2026-03-24 08:56:46 +01:00
1grzyb1 and Grzybek
681a44da77
Fix IndexOutOfBoundsException in findBlock when caret is at end of file
...
The caret can legitimately be at position chars.length (end-of-file), which is valid in IntelliJ but not a valid character index. findBlock and getQuoteRangeNoPSI assumed the caret was always on a character, causing a crash when text objects like a) were used at EOF.
Return null early when pos is out of character index range, since there is no block or quote to match at that position.
2026-03-20 09:14:35 +01:00
1grzyb1 and Grzybek
a2246c966a
VIM-3473 Sync ideavim in remdev
...
ideavimrc is on local and it coused sync issues between editor and actuall file os it's better to refresh with document content
2026-03-19 13:39:42 +01:00
1grzyb1 and Grzybek
f3b67416cd
VIM-4134 Format with = action in split mode
...
Formatting was broken in split mode and also in monolith mode cursor position restoring didn't match vim actual behaviour. refactored it to work in same way as commenting works
2026-03-18 11:35:37 +01:00
1grzyb1 and Grzybek
729cf9be0f
Revert "Remove maxMapDepthReached mechanism from KeyHandler"
...
This reverts commit bddedb0080 .
2026-03-17 11:48:35 +01:00
1grzyb1 and Grzybek
06954e3759
Disable ^ in nvim tests
...
It was to complex to fix proper ^ mark positioning so leaving it for later covered by VIM-4154.
2026-03-17 11:48:35 +01:00
1grzyb1 and Grzybek
cbc8249a71
adjust visual marks position after deletion
2026-03-17 11:48:35 +01:00
1grzyb1 and Grzybek
20cb0afa5d
VIM-4134 assert editor state on EDT
2026-03-17 11:48:35 +01:00
1grzyb1 and Grzybek
2d63251b29
VIM-4134 Check for write lock before removing bookmark
2026-03-17 11:48:35 +01:00