1
0
mirror of https://github.com/chylex/IntelliJ-IdeaVim.git synced 2026-03-28 14:52:37 +01:00
Commit Graph

9696 Commits

Author SHA1 Message Date
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
Alex Plate
4f611c47d4 Update changelog rules: exclude Vim Everywhere project
This project (including Hints toggle) is not yet ready for public
changelog entries.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-06 14:28:26 +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
dependabot[bot]
fb2c4ff680 Bump gradle-wrapper from 9.3.0 to 9.3.1
Bumps gradle-wrapper from 9.3.0 to 9.3.1.

---
updated-dependencies:
- dependency-name: gradle-wrapper
  dependency-version: 9.3.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-04 15:40:08 +00:00
dependabot[bot]
f8f3a72f82 Bump com.google.devtools.ksp:symbol-processing-api from 2.3.3 to 2.3.5
Bumps [com.google.devtools.ksp:symbol-processing-api](https://github.com/google/ksp) from 2.3.3 to 2.3.5.
- [Release notes](https://github.com/google/ksp/releases)
- [Commits](https://github.com/google/ksp/compare/2.3.3...2.3.5)

---
updated-dependencies:
- dependency-name: com.google.devtools.ksp:symbol-processing-api
  dependency-version: 2.3.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-04 15:39:06 +00:00
dependabot[bot]
158b40ab1d Bump org.mockito.kotlin:mockito-kotlin from 6.2.2 to 6.2.3
Bumps [org.mockito.kotlin:mockito-kotlin](https://github.com/mockito/mockito-kotlin) from 6.2.2 to 6.2.3.
- [Release notes](https://github.com/mockito/mockito-kotlin/releases)
- [Commits](https://github.com/mockito/mockito-kotlin/compare/v6.2.2...v6.2.3)

---
updated-dependencies:
- dependency-name: org.mockito.kotlin:mockito-kotlin
  dependency-version: 6.2.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-04 15:38:30 +00:00
claude[bot]
e810bdde1a Update changelog: Add :read and :read! commands
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-04 11:42:57 +02:00
1grzyb1
f4c84607cb VIM-3948 Improve visibility checks for hint generation 2026-02-03 11:15:34 +02:00
1grzyb1
3f43cf6aa4 VIM-4120 Fix isAtEnd offset logic 2026-02-03 11:09:38 +02:00
1grzyb1
fa6d4a39a9 VIM-4120 Remove ExOutputModel and transition to a unified OutputPanel 2026-02-03 11:09:38 +02:00
1grzyb1
d9a66e9b86 VIM-4120 Remove test-specific mode handling 2026-02-03 11:09:38 +02:00
1grzyb1
ad85aca860 VIM-1595 Add support for handling address 0 in :put command 2026-02-03 11:06:40 +02:00
1grzyb1
322d961085 VIM-1595 Add support for the :read! {cmd} command 2026-02-03 11:06:40 +02:00
1grzyb1
0a7ad9e8f1 VIM-1595 Add support for the :read command 2026-02-03 11:06:40 +02:00
Alex Plate
a0059f9e26 Amend constitution v1.2.2: prefer feature branches with frequent rebasing
- Feature branches SHOULD be used for development work
- Feature branches MUST be rebased to master frequently (e.g., daily)
- Update API layer spec and plan to use feature branch

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 13:37:27 +02:00
Alex Plate
36f522a822 Update API layer to trunk-based development, amend constitution v1.2.1
- spec.md, plan.md: Change from feature branch to master (trunk-based)
- constitution.md: Expand branch selection guidelines
  - Long-running features develop on master to avoid divergence
  - Short-lived changes may use feature branches
  - Planning must analyze scope to determine branch strategy

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 13:30:21 +02:00
Alex Plate
89f81058a3 Amend constitution to v1.2.0 (trunk-based development)
Add Principle VIII: Trunk-Based Development
- Master branch as trunk, always release-ready
- Prefer direct commits to master when safe
- Feature branches for long-running work
- Rebase-only integration (no merge commits)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 13:25:56 +02:00
Alex Plate
140a04f461 Add API layer implementation plan and research
- plan.md: Implementation plan with 4 phases covering API finalization,
  internal migration, external plugin migration, and stabilization
- research.md: Design decisions for critical issues (K1-K4) including
  state update safety, editor context, coroutines, and test accessibility
- Updated migration status: 4 extensions fully migrated (textobjentire,
  textobjindent, paragraphmotion, miniai), 2 partial, 8 remaining

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 13:20:50 +02:00
Alex Plate
4038238620 Clarify API layer spec: external plugins and deprecation
Clarifications from /speckit.clarify session:
- External plugins: Use list from doc/IdeaVim Plugins.md, re-research
  before migration to ensure completeness
- Deprecation: No harsh deprecation; approach defined after successful
  external plugin migrations

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 13:01:58 +02:00
Alex Plate
6c421bbe14 Add API layer feature specification
Defines requirements for IdeaVim extension API layer:
- Complete API module exposing all extension functionality
- Internal plugin migration to validate API design
- External plugin support with team-provided migration PRs
- API safety (state updates, editor context, test accessibility)

Based on prior Mia API analysis and design decisions:
- XML-based extension registration (not @VimPlugin annotation)
- Listener/event API deferred to future version

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 12:50:49 +02:00
Alex Plate
090dcc38fe Amend constitution to v1.1.0 (new principles + commit clarity)
Added principles:
- V. External Contributors: Recognizes community contributions
- VI. Documentation Goals: Commits to improving code documentation
- VII. Architecture Decision Records: ADRs tracked in YouTrack

Expanded:
- IV. Code Quality Standards: Added commit clarity requirements

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 12:50:45 +02:00
Alex Plate
58a865ecca Add IdeaVim project constitution v1.0.0
Establish project governance with 4 core principles:
- Vim Compatibility (IDE-First): Match Vim where feasible, IDE behavior takes precedence
- IntelliJ Platform Integration: Follow SDK patterns, Kotlin-first
- vim-engine Separation: Keep core engine platform-independent
- Code Quality Standards: Tests required, YouTrack for issues

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 12:14:46 +02:00
Alex Plate
f158824d0c Add .beads/sync_base.jsonl to gitignore 2026-01-30 11:41:13 +02:00
1grzyb1
0c3a2eaada VIM-4084 Ensure insert mode respects file's writable state 2026-01-30 11:23:32 +02:00
claude[bot]
b1575510ef Update changelog: Add zf fold command and foldlevel option
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-30 11:20:12 +02:00
1grzyb1
5a51b69174 Fix flaky TemplateTest by adjusting escape sequence timing
Fix flaky inline rename test
2026-01-30 11:19:45 +02:00
1grzyb1
ca298b1172 VIM-566 Skip fold-level application during initialization 2026-01-28 19:16:13 +02:00
1grzyb1
8651b8f8ec VIM-566 Add operator-pending mode support for zj and zk 2026-01-28 19:15:42 +02:00
1grzyb1
ec42b4ff64 VIM-566 Add support for navigating between folds with zj and zk commands 2026-01-28 19:15:42 +02:00
dependabot[bot]
c8fd5cbb51 Bump gradle-wrapper from 9.2.1 to 9.3.0
Bumps gradle-wrapper from 9.2.1 to 9.3.0.

---
updated-dependencies:
- dependency-name: gradle-wrapper
  dependency-version: 9.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-28 15:38:44 +00:00
dependabot[bot]
9cee108322 Bump io.ktor:ktor-client-core from 3.3.3 to 3.4.0
Bumps [io.ktor:ktor-client-core](https://github.com/ktorio/ktor) from 3.3.3 to 3.4.0.
- [Release notes](https://github.com/ktorio/ktor/releases)
- [Changelog](https://github.com/ktorio/ktor/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ktorio/ktor/compare/3.3.3...3.4.0)

---
updated-dependencies:
- dependency-name: io.ktor:ktor-client-core
  dependency-version: 3.4.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-28 15:38:22 +00:00
dependabot[bot]
d51c0a6956 Bump org.jetbrains.intellij.platform from 2.10.5 to 2.11.0
Bumps org.jetbrains.intellij.platform from 2.10.5 to 2.11.0.

---
updated-dependencies:
- dependency-name: org.jetbrains.intellij.platform
  dependency-version: 2.11.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-28 15:37:29 +00:00
1grzyb1
2e51a214b7 Make generated JSON formatting consistent with IntelliJ 2026-01-27 16:27:49 +01:00
1grzyb1
9236b4cc72 VIM-566 Implement zf create fold action 2026-01-27 13:02:26 +02:00