Commit Graph
6293 Commits
Author SHA1 Message Date
1grzyb1 eb4a261984 VIM-4134 Synchronize idea jump through topic 2026-03-16 14:24:30 +01:00
1grzyb1 1f3e7e701e VIM-4134 replace path-based file identification with VirtualFileId and EditorId 2026-03-16 14:24:30 +01:00
1grzyb1 230f816605 VIM-4134 migrate to ProjectId for project resolution 2026-03-16 14:24:30 +01:00
1grzyb1andClaude Opus 4.6 cb3a11e785 VIM-4134 update tests for new module structure
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-16 14:24:30 +01:00
1grzyb1andClaude Opus 4.6 bef0b4c32a VIM-4134 move frontend code to main source set
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-16 14:24:30 +01:00
1grzyb1andClaude Opus 4.6 325ccc3668 VIM-4134 add common module with shared services, RPC interfaces, and resources
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-16 14:24:30 +01:00
1grzyb1andClaude Opus 4.6 d44bf3aa02 Update copyright years to 2026
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-16 14:24:30 +01:00
1grzyb1 0a962153c9 VIM-4134 migration to plugin model v2 2026-02-18 11:08:29 +01:00
1grzyb1 15674af9e0 VIM-3948 add ToolWindowNavEverywhere extension to VimEverywhere plugin
This adds support for <C-W> navigation for non-editor windows.
IdeaVim doesn't read keystrokes outside the editor, so we need to create custom dispatcher that will handle does shortcuts in those scenarios.
This feature is enabled alongside `VimEverywhere`.
2026-02-17 15:01:17 +01:00
1grzyb1 29067706ec VIM-4134 Replace java.io.File with java.nio.file.Path 2026-02-17 15:01:02 +01:00
1grzyb1 a250369735 VIM-3948 rename vimhints plugin to VimEverywhere 2026-02-11 15:58:34 +01:00
1grzyb1 f22f973b0c VIM-3948 include NerdTreeEverywhere extension in vimhints 2026-02-11 15:58:34 +01:00
1grzyb1 d9c745fd8e VIM-4120 handle ':' in output panel 2026-02-11 12:58:59 +01:00
1grzyb1 9f0ae27440 VIM-4120 close output panel on active editor change 2026-02-11 12:58:59 +01:00
1grzyb1 6591be3617 VIM-4120 remove isPanelActive from VimOutputPanel 2026-02-11 12:58:59 +01:00
1grzyb1 410ac0ff39 VIM-4120 close current output panel when executing command 2026-02-11 12:58:59 +01:00
1grzyb1 d382e0bc26 VIM-4120 single addText method 2026-02-11 12:58:59 +01:00
1grzyb1 c91d43c45e VIM-4120 Use weak reference for active OutputPanel to avoid project leak 2026-02-11 12:58:59 +01:00
1grzyb1 622163194d VIM-4120 removed awt color reference in engine 2026-02-11 12:58:59 +01:00
1grzyb1 34f16f4daf VIM-4120 Rename isActive to isVisible to not leak IJ impl details 2026-02-11 12:58:59 +01:00
1grzyb1 44b0e24586 VIM-4120 Fix label in multiline output panel
During first echo with multiline it showed -- MORE -- instead of asking to press enter
2026-02-11 12:58:59 +01:00
1grzyb1 c1f7a6b3a7 VIM-4120 Pass enter press back to editor 2026-02-11 12:58:59 +01:00
1grzyb1 9848aab71a VIM-4120 adjust arrows key handling
in single-line mode we just passed arrow keys back to the editor
in multiline mode they are used to scroll in output panel unless we are already at end, then it's passed back to editor
2026-02-11 12:58:59 +01:00
1grzyb1 bcc8d1b525 VIM-4120 Remove caret from OutputPanel 2026-02-11 12:58:59 +01:00
1grzyb1 5510a20654 VIM-4120 Pass eny keypress back to editor in single line output 2026-02-11 12:58:59 +01:00
1grzyb1 bec8daa6ab VIM-4120 Use showErrorMessage for displaying errors in red 2026-02-11 12:58:59 +01:00
1grzyb1 5e20bbf14e VIM-4120 display multiple lines in OutputPanel with different styles 2026-02-11 12:58:59 +01:00
Filipp Vakhitov ed55b2b24f Replace v: scope variables with g: scope for mode widget 2026-02-11 12:17:50 +02:00
1grzyb1 6ecfb3e92e VIM-4120 Add missing VimHintsExtension class 2026-02-11 08:51:10 +01:00
Filipp Vakhitov 14e6759121 Allow plugin writers to provide their own VimCommandLineService 2026-02-11 09:34:34 +02:00
1grzyb1 ce6115ee90 VIM-3948 Fix set command tests after removing vimhints option 2026-02-10 12:02:34 +01:00
1grzyb1 f1355c3305 VIM-3948 Enable vimhints through 'Plug'
As vimhints are not part of neovim, it makes more sense to keep it as a plugin, not as an option
2026-02-10 12:02:34 +01:00
1grzyb1 3ffd680650 VIM-3948 don't traverse not visible components
We don't want to apply labels for components that are inside not visible components. For example, setting has `SettingsEditor` with multiple `SettingWrapper` for each selected tab but only one is visible at one time. So we don't want to apply labels on not visible tabs
2026-02-10 09:06:06 +01:00
1grzyb1 1588a9e15b VIM-3948 Traverse vertical panes in ConfigurableEditor
Vertical planes in settings windows has a lot of elements that we may want to click using hints so we traverse inside them
2026-02-10 08:08:14 +01:00
1grzyb1 72f0ef1602 VIM-3948 Traverse inside horizontal panes
Trees are skipped as they contain a lot of elements and would generate too many hints.
A similar situation is with vertical scroll panes (e.g. editors). but not horizontal.
 This is a heuristic that I observed that horizontal scroll doesn't have many elements and doesn't have any keyboard navigation.
2026-02-10 08:08:14 +01:00
1grzyb1 6fc6e1bfc7 VIM-3948 Handle status bar items as individual components
We are skipping Tree and scroll panes inside status bar as they would be a performance problem.
Exception is when we are inside the status bar where we want to apply hints on individual components.
2026-02-10 08:08:14 +01:00
1grzyb1 4256d17282 VIM-3948 Don't apply hints on each commit
To achieve that for each scroll pane we apply single hint and navigation inside is handled by keys designed for that panel
2026-02-09 11:58:05 +01:00
1grzyb1 c1ce2d57fd VIM-3948 make hint test skipped in headless env 2026-02-09 11:37:13 +01:00
1grzyb1 e4806ef6d6 VIM-3948 position label based only on visible part of Tree
When Tree was expanded and we positioned label on center it could not be rendered as center of tree was outside of view. To fix that we calculate label position based only on visible part of Tree.
2026-02-09 11:37:13 +01:00
1grzyb1 feed3a0d82 VIM-3948 Simplify hint generation code 2026-02-09 11:37:13 +01:00
1grzyb1 6ab9deceb3 VIM-3948 Add tests for Hint generation 2026-02-09 11:37:13 +01:00
1grzyb1 402afae110 VIM-3948 Add support for ContentTabLabel in hint generation 2026-02-09 08:46:35 +01:00
1grzyb1 30953c8ac4 VIM-3948 Don't crop hint labels
Make sure that labels are not cropped and are inside ide window
2026-02-09 08:25:22 +01:00
1grzyb1 cf50dddcc1 VIM-3948 Skip scroll panes to avoid duplicated labels on editors 2026-02-09 08:25:22 +01:00
1grzyb1 55ec7c2aee VIM-3948 Add support for JScrollPane and center-aligned hint labels in HintGenerator
For Editor windows it makes more sense to show labels centered
2026-02-09 08:25:22 +01:00
1grzyb1 57df4d6f16 VIM-3948 Fix applying Labels on VimModeWidget
By default, IntelliJ disables actions while a modal dialog is open.
We override isEnabledInModalContext flag so hints can target components inside popups and dialogs (e.g., IdeaVim settings).
2026-02-06 13:59:33 +01:00
1grzyb1 2566e2a222 VIM-4218 Add RoundedHintLabel for improved hint rendering 2026-02-06 14:38:06 +02:00
1grzyb1 6aa1a68c9d VIM-3948 Fix nullability issue in hint generation 2026-02-06 13:54:22 +02:00
1grzyb1 4b3271d4f9 VIM-3948 document vim hints 2026-02-06 13:51:54 +02:00
1grzyb1 0f2ce4bcc5 VIM-4125 Update shortcut for Toggle Hints action to ctrl + BACK_SLASH 2026-02-05 13:42:22 +02:00