Alex Plãte
226f5e27b1
Merge branch 'master' into macro-code-completion
2025-10-24 15:23:22 +03:00
claude[bot]
cc3c132ccb
Maintenance: Java tests - Improve null safety in fold region handling
...
Replace unsafe non-null assertions (!!) with explicit null checks that provide
meaningful error messages when fold regions are not found. This makes test
failures easier to debug by clearly indicating what was expected.
Changes:
- ChangeActionJavaTest: Fixed 4 instances in testInsertAfterToggleFold and testInsertBeforeFold
- VisualInsertActionJavaTest: Fixed 1 instance in test block insert after folds
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-10-24 14:39:39 +03:00
claude[bot]
13fb2d53f1
Maintenance: LenFunctionTest - Address review feedback
...
- Remove duplicate empty dictionary test (already covered at line 28)
- Rename 'test len with zero' to 'test len with zero number' for clarity
- Rename 'test len with negative number' to 'test len with negative numbers' (plural)
Co-authored-by: Alex Plãte <AlexPl292@users.noreply.github.com >
2025-10-24 14:38:49 +03:00
claude[bot]
c803a1cf24
Maintenance: LenFunctionTest - Add comprehensive edge case coverage
...
What was inspected:
- LenFunctionTest.kt and its corresponding implementation LenFunctionHandler.kt
Issues found:
- Test coverage was limited to basic happy path scenarios
- Missing tests for important edge cases: empty strings, zero, negative numbers,
large numbers, empty collections, and special character handling
- No tests distinguishing between single-quoted and double-quoted string behavior
in Vimscript
Changes made:
- Added 9 new test methods covering:
* Empty strings (both single and double quoted)
* Empty lists and dictionaries
* Zero and negative numbers
* Large numbers
* Multi-element collections
* Strings with escape sequences (documenting Vim's single vs double quote behavior)
Why this improves the code:
- Ensures len() function handles all data type edge cases correctly
- Documents expected behavior for Vimscript string quoting conventions
- Provides regression protection against future changes
- Aligns with testing best practices by covering boundary conditions
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-10-24 14:38:49 +03:00
Alex Plate
1d60e47bb8
Remove the PR pre-fetch
2025-10-24 14:38:37 +03:00
Alex Plate
664c433ee9
Add test for Visual mode inclusive caret positioning in templates
...
Adds a test to verify that when using 'idearefactormode=visual' with
inclusive selection (default), the caret is correctly positioned at the
inclusive end of the selection (on the last character) rather than the
exclusive end (after the last character).
This test covers the caret adjustment logic in IdeaSpecifics.kt that
moves the caret from IntelliJ's exclusive end position to Vim's
inclusive end position for Visual mode when 'selection' doesn't contain
"exclusive".
2025-10-24 14:32:03 +03:00
Alex Plate
67a44b4d25
Fix boundary check and null safety in mapleader parsing
...
Adds length validation before accessing string indices and replaces unsafe
!! operator with proper null handling to prevent crashes on invalid mapleader values.
2025-10-24 14:31:23 +03:00
Matt Ellis
b4915d08cd
Remove redundant code
...
The template listener is called immediately for the first variable, which will do the same thing.
2025-10-24 14:29:58 +03:00
Matt Ellis
6b7b18d947
Switch to Normal when accepting an inline rename
...
The 'idearefactormode' default of Select would leave an inline rename in Insert mode, and hitting Escape to return to Normal frequently cancelled the rename.
Also fixes various edge cases when moving between template variables. Often, this works due to a change in selection, but if there's an empty template variable and no current selection, there's no change in selection, and the mode isn't updated.
2025-10-24 14:29:58 +03:00
Matt Ellis
54cc89f641
Fix missing read action exceptions
2025-10-24 14:29:58 +03:00
Matt Ellis
1048d06586
Remove no longer used 'ideaglobalmode' text
2025-10-24 14:29:58 +03:00
azjf
7f0ab93ea7
Return \<${specialKeyBuilder} for VimStringParserBase#parseVimScriptString(string: String)
2025-10-24 13:44:57 +03:00
azjf
a0f923512a
Add support for non-control-character mapleader such as \<C-Space>
2025-10-24 13:44:57 +03:00
Alex Plate
d60af9afa1
Remove the checkout from the manual command
2025-10-24 13:14:32 +03:00
Alex Plate
1ef919f73a
Add checkout step
2025-10-24 13:05:03 +03:00
Alex Plate
f6947d73f6
Trying to disable oidc for forkes
2025-10-24 11:22:14 +03:00
Alex Plate
54c12470f3
Claude Code now has an ability to create inline comments
2025-10-24 11:10:51 +03:00
Alex Plate
8aa8725a8d
Update Claude Code workflow
...
I'm mostly trying to force Claude Code to work with the forks
2025-10-24 11:08:35 +03:00
IdeaVim Bot
1e1bbbac2a
Add github-actions[bot] to contributors list
2025-10-20 09:01:57 +00:00
claude[bot]
0bb3524118
Maintenance: IjVimMessages - Fix redundant toString() call and improve null safety
...
In clearStatusBarMessage(), the mutable 'message' property was being
accessed multiple times without capturing it in a local variable. This
could theoretically cause issues if the property changed between the
null check and the usage. Additionally, calling toString() on a String
is redundant and creates an unnecessary allocation.
Fixed by capturing the message in a local variable at the start of the
method, which allows Kotlin's smart cast to work properly and removes
the need for the redundant toString() call.
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-10-20 08:45:45 +03:00
claude[bot]
12596540e9
Maintenance: Line matchers - Add defensive bounds checking
...
Added bounds checking to EndOfLineMatcher and StartOfLineMatcher to
prevent potential IndexOutOfBoundsException when index is outside the
valid text range. This follows the defensive programming pattern used
in other matchers like CharacterMatcher, DotMatcher, StartOfWordMatcher,
and EndOfWordMatcher.
Changes:
- EndOfLineMatcher: Added check for index > length before array access
- StartOfLineMatcher: Added check for index < 0 or index > length
While the NFA engine should prevent invalid indices, these defensive
checks improve code safety and consistency across all matcher
implementations.
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-10-20 08:44:51 +03:00
IdeaVim Bot
3eadff6401
Add github-actions[bot] to contributors list
2025-10-18 09:01:56 +00:00
claude[bot]
52f4c24b1e
Docs: Add regression testing guideline to maintenance instructions
...
Added a new bullet point under the Testing section that instructs
maintainers to write regression tests when fixing bugs. These tests
should:
- Fail with the buggy implementation
- Pass with the fix
- Document what bug they're testing
- Test the specific boundary condition that exposed the bug
This ensures bugs don't resurface during future refactorings and
provides clear documentation of the expected behavior.
Co-authored-by: Alex Plãte <AlexPl292@users.noreply.github.com >
2025-10-17 21:15:47 +03:00
claude[bot]
7de2ea0e0b
Add regression test for string indexing boundary condition
...
This test validates the off-by-one error fix in IndexedExpression.kt:56.
When accessing a string at index equal to its length, the code should
return an empty string rather than throwing IndexOutOfBoundsException.
The old condition (idx > text.length) would allow idx == text.length to
pass through, causing an exception. The new condition (idx >= text.length)
correctly treats this as out of bounds.
Test case: 'hello'[5] should return '' since 'hello'.length == 5
Co-authored-by: Alex Plãte <AlexPl292@users.noreply.github.com >
2025-10-17 21:15:47 +03:00
claude[bot]
a9fc2c58a6
Maintenance: IndexedExpression - Fix off-by-one error and variable shadowing
...
Fixed three issues in IndexedExpression.kt:
1. Off-by-one error: Changed condition from `idx > text.length` to `idx >= text.length` to properly handle boundary cases when indexing strings
2. Redundant evaluation: Reused `indexValue` instead of re-evaluating `index.evaluate()` in the string indexing path
3. Variable shadowing: Renamed local variable from `index` to `indexNum` in `assignToListItem` to avoid shadowing the property
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-10-17 21:15:47 +03:00
claude[bot]
1aa586484f
Maintenance: Change actions - Remove wildcard imports
...
Replace wildcard import `java.util.*` with explicit import `java.util.EnumSet`
in 9 action classes in the change/change package. This improves code clarity
and follows the project's convention of avoiding wildcard imports.
Files updated:
- AutoIndentLinesVisualAction
- ChangeCharactersAction
- ChangeEndOfLineAction
- ChangeLineAction
- ChangeMotionAction
- ChangeVisualLinesAction
- ChangeVisualLinesEndAction
- FilterMotionAction
- ReformatCodeVisualAction
Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-10-17 12:41:03 +03:00
Alex Plate
aa24d53b18
Get rid of the deprecated method in the configuration
2025-10-17 12:39:18 +03:00
Alex Plate
c396d98022
Add RandomOrderTests configuration to TeamCity project
...
Introduce a new build type `RandomOrderTests` for detecting order-dependent bugs. Update project to include the new build type.
2025-10-17 12:38:55 +03:00
Alex Plate
db767f534f
Remove an unclear test
2025-10-17 12:30:29 +03:00
Alex Plate
d955b1b85c
Fix an exception that we try to record wrong characters
2025-10-17 12:21:57 +03:00
IdeaVim Bot
0fdfc04068
Add github-actions[bot] to contributors list
2025-10-14 09:01:55 +00:00
claude[bot]
244d13a3cc
Maintenance: HintGenerator - Fix variable shadowing and remove wildcard import
...
Fixed a variable shadowing bug in the hint generation logic where the lambda
parameter name 'it' was being shadowed in nested lambda, causing incorrect
logic when checking for hint conflicts. The code now uses explicit parameter
names 'candidateHint' and 'existingHint' to make the logic clear and correct.
Also replaced wildcard import (java.util.*) with explicit import of
WeakHashMap, following project conventions.
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-10-14 10:23:36 +03:00
claude[bot]
4a2600738f
Maintenance: RangeFunctionTest - Fix missing assertion and improve imports
...
Fixed a missing assertion in the test case "test range negative with start
past end throws error" that was not verifying the error condition actually
occurred. Also cleaned up imports by adding a proper import for assertTrue
instead of using the fully qualified kotlin.test.assertTrue.
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-10-13 18:01:47 +03:00
claude[bot]
82ed26a701
Maintenance: PrintLineNumberCommand - Fix out-of-bounds range handling
...
Add bounds checking to clamp line numbers to the last line of the document,
preventing potential exceptions when accessing line text with out-of-bounds
ranges like `:$+100=`. This matches the behavior of other commands like
GoToLineCommand.
Also add tests to verify the edge case behavior with and without flags.
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-10-13 18:00:49 +03:00
Alex Plate
cf5dce3ce7
Remove "getSelectionModel" from VimRegex.kt
2025-10-13 17:37:23 +03:00
Alex Plate
c68e216c87
Add copyright year policy to maintenance instructions
...
Clarify that copyright years should only be updated when making
substantive changes to files, and should not be mentioned in commits.
2025-10-13 16:22:16 +03:00
IdeaVim Bot
c12f4a75ac
Add github-actions[bot] to contributors list
2025-10-10 09:01:54 +00:00
claude[bot]
9a069e5ef8
Maintenance: ExPanelBorder - Update copyright and remove redundant modifier
...
- Update copyright year from 2023 to 2025
- Remove redundant 'internal constructor()' modifier (already implied by internal class)
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-10-09 15:51:32 +03:00
Alex Plate
27f2e56635
Update codebase maintenance workflow to run daily
...
Change schedule from weekly (Monday) to daily execution at 6 AM UTC to enable more frequent code quality checks.
2025-10-09 14:26:32 +02:00
Alex Plate
7a0bdb8f3d
Add reference to CONTRIBUTING.md in maintenance instructions
...
Expand the architecture reference to include more details about what contributors can find in CONTRIBUTING.md: architecture overview, testing guidelines, patterns, and awards program information.
2025-10-09 14:16:36 +02:00
Alex Plate
1d9bb6ec70
Expand testing corner cases in contribution guide
...
Add comprehensive corner case categories for testing Vim commands including position-based, content-based, selection-based, motion-based, buffer state, and boundary conditions to help contributors write more thorough tests.
2025-10-09 14:16:36 +02:00
claude[bot]
bb62dcdc15
Maintenance: DeletePreviousWordAction - Update copyright and add test
...
Update copyright year to 2025 and add test coverage for edge case when
caret is at the beginning of the command line.
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-10-09 15:15:59 +03:00
Alex Plate
fdcb954e31
Remove the VimSelectionModel as it's not used anywhere
2025-10-09 13:14:49 +02:00
Alex Plate
747e4053ba
Update codebase maintenance workflow to skip PR creation when no changes are made
...
Previously the workflow instructed Claude to always create a PR even when no
issues were found. This resulted in unnecessary PRs documenting inspections
where no changes were needed.
Now the workflow only creates PRs when actual changes are made to the codebase.
2025-10-09 13:10:41 +02:00
Alex Plate
448c19af47
Fix SortCommand to use caret selection instead of editor selection model
...
The SortCommand was incorrectly using editor.getSelectionModel() which
returns the editor's global selection model. This is problematic in
multi-caret scenarios where each caret has its own independent selection.
Changed to use caret.hasSelection(), caret.selectionStart, and
caret.selectionEnd directly, which correctly handles per-caret selections.
This also removes the only meaningful usage of VimEditor.getSelectionModel()
in vim-engine, making that interface a candidate for removal in future
cleanup.
2025-10-09 13:09:38 +02:00
Alex Plate
f0edc797dc
Add codebase maintenance workflow
...
This workflow enables automated codebase maintenance by randomly selecting
and inspecting parts of the codebase for quality issues, bugs, and
improvements.
Key features:
- Random file/area selection for inspection
- Comprehensive code review guidelines (style, quality, bugs, architecture)
- Focus on genuine improvements, not pedantic changes
- Always creates PR to document inspection results
- Runs weekly on Mondays, can be triggered manually
The maintenance instructions cover:
- What to check: code style, null safety, test coverage, IdeaVim-specific issues
- When to make changes vs document issues
- Commit best practices (split complex changes into multiple commits)
- IdeaVim-specific considerations (enablement checks, Vim compatibility)
2025-10-09 13:04:55 +02:00
5aaa84744f
Improve support for recording macros with code completion
...
Fixes wrong recorded inputs when code completion introduces an import.
Fixes wrong recorded inputs when completing a static member with a partial type name. Example: `WiE.A` -> `WindowEvent.ACTION_EVENT_MASK`
2025-10-08 05:20:08 +02:00
Alex Plate
bdc29c3eb4
Add support for count(), index(), min(), max(), and range() vimscript functions
...
Implements five new vimscript list functions:
- count(): counts occurrences of a value in a list/dict
- index(): finds first index of a value in a list
- min()/max(): finds minimum/maximum value in a list/dict
- range(): generates a list of numbers with optional stride
Includes error handling for edge cases like zero stride and invalid ranges.
2025-10-03 20:59:29 +03:00
Alex Plate
d46eb39635
Add support for repeat(), char2nr(), nr2char(), trim(), and reverse() vimscript functions
...
Implement five commonly used vimscript functions:
- repeat(expr, count): Repeats strings or lists multiple times
- char2nr(char): Converts character to Unicode code point
- nr2char(number): Converts code point to character
- trim(text, [mask], [dir]): Trims whitespace or custom characters
- reverse(object): Reverses lists in-place or returns reversed string
All functions include comprehensive test coverage and follow vim's
official behavior including edge cases.
2025-10-03 19:08:57 +03:00
Alex Plate
a6c71d90bb
Fix(VIM-4050): Implement getline vim function
2025-10-03 18:41:34 +03:00
Alex Plate
62de460264
Execute the processor with a proper mode after closing the exEntryPanel
...
Now, the inputProcessor will be called after all closing is finished. This includes the mode that won't be CMD_LINE anymore, but the one that was used before entering CMD_LINE
2025-10-03 15:33:27 +03:00
Alex Plate
2d02327665
Rename method to get the panel
...
Kotlin has some hard incremental compilation issues when keeping the old name. No other reason for the rename
2025-10-03 15:32:53 +03:00
Alex Plate
91b5a705d4
Fix issues with null variables during swing initialization
2025-10-03 15:16:04 +03:00
Alex Plate
b7c3bc2875
Migrate ExOutputPanel from Java to Kotlin and update related references
2025-10-03 13:30:20 +03:00
Alex Plate
70922f5fc5
Rename .java to .kt
2025-10-03 13:30:19 +03:00
Alex Plate
13e4d0ce2b
Migrate ExTextField from Java to Kotlin and update related references
2025-10-03 13:30:19 +03:00
Alex Plate
3990b6475e
Rename .java to .kt
2025-10-03 13:30:19 +03:00
Alex Plate
63c65c8b93
Migrate ExEntryPanel from Java to Kotlin and update related references
2025-10-03 13:30:19 +03:00
Alex Plate
ba2ffa6955
Rename .java to .kt
2025-10-03 13:30:19 +03:00
Alex Plate
411b6eaf48
Refactor ExDocument: Migrate from Java to Kotlin
2025-10-03 13:30:18 +03:00
Alex Plate
b5ecb05382
Rename .java to .kt
2025-10-03 13:30:18 +03:00
IdeaVim Bot
a5e4b8515d
Add magidc, magidc to contributors list
2025-10-03 09:01:54 +00:00
Alex Plate
330f24bf74
Update JUnit to version 6 and improve null safety in test utilities
2025-10-02 18:04:30 +03:00
Alex Plate
36dfce695a
Fix the compatibility with the latest idea EAP
2025-10-02 17:55:55 +03:00
Matt Ellis
6defddd24c
Extract variable expression assignment
2025-10-02 17:26:38 +03:00
Matt Ellis
a916b4de9c
Rename Variable to VariableExpression
2025-10-02 17:26:38 +03:00
Matt Ellis
8a0bdfd18f
Improve sublist expression compatibility
2025-10-02 17:26:38 +03:00
Matt Ellis
3eb0ac9207
Remove tests for indexed expressions
2025-10-02 17:26:38 +03:00
Matt Ellis
d71b99b8d5
Update SublistExpressionTest.kt
2025-10-02 17:26:38 +03:00
Matt Ellis
db8736dcf4
Extract sublist expression assignment
2025-10-02 17:26:38 +03:00
Matt Ellis
4c3cefc1e6
Add typename for reporting purposes
2025-10-02 17:26:38 +03:00
Matt Ellis
b11fc4895b
Support assigning to negative index
2025-10-02 17:26:38 +03:00
Matt Ellis
b7ce946af3
Extract sublist expression assignment
...
Also allows whitespace inside indexed expression
2025-10-02 17:26:38 +03:00
Matt Ellis
5a45f6d945
Improve evaluating indexed expressions
...
Support negative indexes, float indexes, and indexing numbers
2025-10-02 17:26:38 +03:00
Matt Ellis
6622f15ea3
Allow dictionary to be indexed by Float
2025-10-02 17:26:38 +03:00
Matt Ellis
fd1fe51633
Extract indexed expression assignment
2025-10-02 17:26:38 +03:00
Matt Ellis
91459edf6c
Rename OneElementSublistExpression
2025-10-02 17:26:38 +03:00
Matt Ellis
01d92acd40
Improve validation for concatenation
2025-10-02 17:26:38 +03:00
Matt Ellis
6d18288883
Fix validation for modulo operator
2025-10-02 17:26:38 +03:00
Matt Ellis
7ffca59450
Support double-dot concatenation assignment
2025-10-02 17:26:38 +03:00
Matt Ellis
61df4f342d
Support Float in concatenation handler
...
Surprisingly Float is converted to String, and then concatenated. But this is only supported for the binary concatenation operator, not the compound assignment concatenation operator. This lead to improved validation and behaviour closer to Vim.
2025-10-02 17:26:38 +03:00
Matt Ellis
cb1c0298ff
Improve exception handling in tests
2025-10-02 17:26:38 +03:00
Matt Ellis
56d5af6bc9
Allow assigning Float to Register
2025-10-02 17:26:38 +03:00
Matt Ellis
1dbe3e4aa1
Update RegisterExpression to assign value
2025-10-02 17:26:38 +03:00
Matt Ellis
7256731572
Rename Register to RegisterExpression
2025-10-02 17:26:38 +03:00
Matt Ellis
dc5b45a52d
Update OptionExpression to match Vim behaviour
2025-10-02 17:26:38 +03:00
Matt Ellis
063317b0c9
Introduce LValueExpression, update OptionExpression
2025-10-02 17:26:38 +03:00
Matt Ellis
37b6768148
Rename LetCommand.variable to lvalue
2025-10-02 17:26:38 +03:00
Matt Ellis
5ce2887391
Extract and add tests for sublist expressions
2025-10-02 17:26:38 +03:00
Matt Ellis
4ab91150d6
Extract and add tests for indexed expressions
2025-10-02 17:26:38 +03:00
Matt Ellis
9ddd074916
Extract tests for let command with register lvalue
2025-10-02 17:26:38 +03:00
Matt Ellis
a321bb28c0
Extract tests for let command with option lvalue
2025-10-02 17:26:38 +03:00
Matt Ellis
8c9df332aa
Add tests for let command with variable lvalue
2025-10-02 17:26:38 +03:00
Matt Ellis
356a748181
Add tests for let command operators
2025-10-02 17:26:38 +03:00
Matt Ellis
7fe01cd885
Add string() Vim function
2025-10-02 17:26:38 +03:00
Matt Ellis
68f0e162e2
Update out of date error message
2025-10-02 17:26:38 +03:00
Xinhe Wang
f25b9fd9bf
Fix uppercase keys in NERDTree
2025-10-02 17:12:23 +03:00
Alex Plate
168fa309ae
Add an instruction that an external plugin should be installed
2025-10-02 17:07:24 +03:00
Alex Plate
2c6638fe37
Introduce a common getChar implementation in the injector
2025-10-02 17:05:06 +03:00
magidc
3d2375e937
Update doc/IdeaVim Plugins.md
...
Thanks!
Co-authored-by: Thomas Gautvedt <thomas.gautvedt@gmail.com >
2025-10-02 17:04:55 +03:00
magidc
c8ea045ef9
Added plugins Vim-Dial and Vim-AnyObject to plugins document
2025-10-02 17:04:55 +03:00
dependabot[bot]
c2d7f40512
Bump org.mockito.kotlin:mockito-kotlin from 6.0.0 to 6.1.0
...
Bumps [org.mockito.kotlin:mockito-kotlin](https://github.com/mockito/mockito-kotlin ) from 6.0.0 to 6.1.0.
- [Release notes](https://github.com/mockito/mockito-kotlin/releases )
- [Commits](https://github.com/mockito/mockito-kotlin/compare/v6.0.0...v6.1.0 )
---
updated-dependencies:
- dependency-name: org.mockito.kotlin:mockito-kotlin
dependency-version: 6.1.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-10-01 19:18:24 +03:00
dependabot[bot]
23191a221d
Bump org.junit.jupiter:junit-jupiter from 5.13.4 to 6.0.0
...
Bumps [org.junit.jupiter:junit-jupiter](https://github.com/junit-team/junit-framework ) from 5.13.4 to 6.0.0.
- [Release notes](https://github.com/junit-team/junit-framework/releases )
- [Commits](https://github.com/junit-team/junit-framework/compare/r5.13.4...r6.0.0 )
---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter
dependency-version: 6.0.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-10-01 18:41:44 +03:00
dependabot[bot]
ac4a55d245
Bump org.junit.vintage:junit-vintage-engine from 5.13.4 to 6.0.0
...
Bumps [org.junit.vintage:junit-vintage-engine](https://github.com/junit-team/junit-framework ) from 5.13.4 to 6.0.0.
- [Release notes](https://github.com/junit-team/junit-framework/releases )
- [Commits](https://github.com/junit-team/junit-framework/compare/r5.13.4...r6.0.0 )
---
updated-dependencies:
- dependency-name: org.junit.vintage:junit-vintage-engine
dependency-version: 6.0.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-10-01 18:22:54 +03:00
dependabot[bot]
f834ef2ef3
Bump org.junit:junit-bom from 5.13.4 to 6.0.0
...
Bumps [org.junit:junit-bom](https://github.com/junit-team/junit-framework ) from 5.13.4 to 6.0.0.
- [Release notes](https://github.com/junit-team/junit-framework/releases )
- [Commits](https://github.com/junit-team/junit-framework/compare/r5.13.4...r6.0.0 )
---
updated-dependencies:
- dependency-name: org.junit:junit-bom
dependency-version: 6.0.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-10-01 15:17:29 +00:00
dependabot[bot]
7ec1428915
Bump io.ktor:ktor-client-core from 3.2.3 to 3.3.0
...
Bumps [io.ktor:ktor-client-core](https://github.com/ktorio/ktor ) from 3.2.3 to 3.3.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.2.3...3.3.0 )
---
updated-dependencies:
- dependency-name: io.ktor:ktor-client-core
dependency-version: 3.3.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-09-17 18:17:33 +03:00
Matt Ellis
b6ffc7a357
Use injector instead of directly using helper
2025-09-16 16:33:40 +03:00
Matt Ellis
6f259f5207
Extract E474 error message
2025-09-16 16:33:40 +03:00
Matt Ellis
a9e503d13f
Extract error messages from code
2025-09-16 16:33:40 +03:00
Matt Ellis
5297193649
Assert full error message, not partial
...
There's no good reason to only check a partial match. Make sure the entire string is correct.
2025-09-16 16:33:40 +03:00
Matt Ellis
4c84241d2a
Remove unnecessary error text messages
...
Let the IDE do this from the code
2025-09-16 16:33:40 +03:00
Matt Ellis
612dfe321c
Fix typo
2025-09-16 16:33:40 +03:00
Matt Ellis
c0f9f0bcbc
Rename cryptic error messages to error codes
2025-09-16 16:33:40 +03:00
Matt Ellis
e7769e33d7
Remove or rename unnecessary messages
2025-09-16 16:33:40 +03:00
Matt Ellis
c725447c00
Refactor messages for ActionListCommand
2025-09-16 16:33:40 +03:00
Matt Ellis
920ac0546e
Replace custom errors with error codes
2025-09-16 16:33:40 +03:00
Matt Ellis
c5e3c9ccf1
Rename messages to be more consistent
2025-09-16 16:33:40 +03:00
Matt Ellis
f8d5d049bc
Simplify code to remove duplicate error message
2025-09-16 16:33:40 +03:00
Matt Ellis
5c45c62c5b
Rename some error message identifiers
2025-09-16 16:33:40 +03:00
Matt Ellis
f1d0206c66
Refactor code to remove unnecessary messages
...
The code doesn't require nullable arguments, which removes null check error messages. Also removed some "not implemented" messages from resources. There's no need for them to be in resources, hopefully we'll implement them soon.
2025-09-16 16:33:40 +03:00
Matt Ellis
e00960ebbc
Tidy up host message bundle
2025-09-16 16:33:40 +03:00
Matt Ellis
fd6fe37c8f
Remove unnecessary Msg class
...
Using string identifiers means the IntelliJ resource tooling works better
2025-09-16 16:33:40 +03:00
Matt Ellis
76087fea93
Split host and engine bundles
...
This allows IntelliJ's property annotations to help in code
2025-09-16 16:33:40 +03:00
Matt Ellis
ec125c9c7e
Restore API for external plugin compatibility
2025-09-12 12:56:58 +03:00
dependabot[bot]
4b69c9141d
Bump org.jetbrains.kotlin:kotlin-stdlib from 2.2.10 to 2.2.20
...
Bumps [org.jetbrains.kotlin:kotlin-stdlib](https://github.com/JetBrains/kotlin ) from 2.2.10 to 2.2.20.
- [Release notes](https://github.com/JetBrains/kotlin/releases )
- [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md )
- [Commits](https://github.com/JetBrains/kotlin/compare/v2.2.10...v2.2.20 )
---
updated-dependencies:
- dependency-name: org.jetbrains.kotlin:kotlin-stdlib
dependency-version: 2.2.20
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-09-10 18:20:03 +03:00
dependabot[bot]
14aa0e7c93
Bump org.jetbrains.intellij.platform from 2.8.0 to 2.9.0
...
Bumps org.jetbrains.intellij.platform from 2.8.0 to 2.9.0.
---
updated-dependencies:
- dependency-name: org.jetbrains.intellij.platform
dependency-version: 2.9.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-09-10 18:19:13 +03:00
Alex Plate
59459e5113
Introduce a hidden vimhints option to hide the new hints functionality
2025-09-10 14:58:46 +03:00
Alex Plate
54653d1d1b
Specify ActionUpdateThread for ToggleHintsAction
2025-09-10 14:06:33 +03:00
Xinhe Wang
4e59af278b
Avoid generating hints for another unfocused window
2025-09-10 11:36:04 +03:00
Matt Ellis
d4df794d3c
Show message if no mapping found
2025-09-09 14:06:38 +03:00
Xinhe Wang
04273d005e
Skip the tree nodes when generating hints to improve performance
2025-09-09 12:53:26 +03:00
Xinhe Wang
463a9e7ceb
Generate hints for visible components whose parent is not visible
2025-09-09 12:53:26 +03:00
Xinhe Wang
aab1999782
Do not preserve previous hints if impossible
2025-09-09 12:53:26 +03:00
Xinhe Wang
733470f7b4
Allow repeated characters in hints
2025-09-09 12:53:26 +03:00
Matt Ellis
4c48b4cd42
Update comments and other PR feedback
2025-09-08 09:58:34 +03:00
Matt Ellis
aa46713d3d
Move deprecated functions to bottom of class
2025-09-08 09:58:34 +03:00
Matt Ellis
aef0515183
Replace asDouble with a new toVimFloat function
2025-09-08 09:58:34 +03:00
Matt Ellis
b48f80ee7d
Deprecate VimDataType.asString
...
Prefer `toVimString` to `asString`. It makes it more explicit that the caller requires a Vim String type, and must follow Vim's conversion rules, rather than simple requiring a string. It also prevents confusion with other string functions such as `toString`, `toOutputString`, `toInsertableString`.
The function is deprecated because it's in use by external plugins. There is no change in functionality.
2025-09-08 09:58:34 +03:00
Matt Ellis
fdda1f0eb6
Refactor VimInt.parseNumber
2025-09-08 09:58:34 +03:00
Matt Ellis
69fac0eff0
Deprecate VimDataType.asBoolean
...
The `asBoolean` method does not make it clear that only a Vim Number can be treated as a boolean and incorrectly allowed a Float to be converted.
If a caller needs a boolean value, it should be explicit that it must get a Number by calling `toVimNumber` and then using the new `booleanValue` accessor. This correctly allows conversion from a String, and other Vim datatypes will correctly raise an error.
The implementation of `VimString.toVimNumber` has been updated to match Vim behaviour, and the behaviour of the previously called `VimString.asDouble` by allowing trailing characters while converting a string to a number.
The `asBoolean` function is deprecated because it is used by external plugins.
2025-09-08 09:58:34 +03:00
Matt Ellis
9dd60cdb3b
Introduce VimDataType.toOutputString
...
It's confusing to know the rules for converting between data types. This change introduces a semantically named method for getting a string representation that can be used in output and error messages.
2025-09-08 09:58:34 +03:00
Alex Plate
8aedadde5e
[API] Use the new API for implementation of the ReplaceWithRegister
2025-09-05 17:54:25 +03:00
Alex Plate
763d4518eb
Refactor: Replace deprecated fileSize property
2025-09-05 16:53:45 +03:00
Alex Plate
f5c1b11e4f
[API] Rename Read to EditorAccessor
2025-09-05 16:51:06 +03:00
Xinhe Wang
0d38ac8d6f
Allow focusing components with hints
2025-09-05 16:26:03 +03:00
Xinhe Wang
fd1f762bc2
Adjust the hint color to make it clearer
2025-09-05 16:26:03 +03:00
Xinhe Wang
cfdc3b7dc3
Display only hints prefixed by the currently entered letters
2025-09-05 16:26:03 +03:00
Xinhe Wang
eaaab34434
Bring clicked component highlighting back
...
The highlight will remain active for a fixed period of time.
2025-09-05 16:26:03 +03:00
Xinhe Wang
80f52d70c8
Encapsulate ShortcutDispatcher for use in NERDTree
2025-09-05 16:26:03 +03:00
Xinhe Wang
ff13845b57
Use custom key listener instead of ListPopup to select hints
...
As a result, the user no longer needs to press ENTER to action.
Note that component highlighting is temporarily removed.
2025-09-05 16:26:03 +03:00
Xinhe Wang
b349bb74db
Encapsulate hints generation
2025-09-05 16:26:03 +03:00
Xinhe Wang
90cc7de761
Preserve previous hints if possible
2025-09-05 16:26:03 +03:00
Xinhe Wang
d674d33735
Basic hint generation (permutation)
2025-09-05 16:26:03 +03:00
Xinhe Wang
c4713ed89d
Highlight the current selected component
2025-09-05 16:26:03 +03:00
Xinhe Wang
337fc91261
Traverse the accessible tree instead to support Skia components
2025-09-05 16:26:03 +03:00
Xinhe Wang
bd8dc5a74f
Show a popup instead of a dialog to select the component
2025-09-05 16:26:03 +03:00
Xinhe Wang
9ae2bfea8d
Select elements to click
2025-09-05 16:26:03 +03:00
Xinhe Wang
19ef7588f7
Create class Hint
2025-09-05 16:26:03 +03:00
Xinhe Wang
248111bd1c
Change ToggleOptionAction to DumbAwareToggleAction
2025-09-05 16:26:03 +03:00
Xinhe Wang
76b0f13804
Use accessibleContext for checking clickable elements
2025-09-05 16:26:03 +03:00
Xinhe Wang
7ac9ce78ca
Toggle hints with ToggleOptionAction
...
However, this does not work in Dumb Mode
2025-09-05 16:26:03 +03:00
Xinhe Wang
b304905b35
Simplify KeyStrokeTrie.getData by delegating to getTrieNode
2025-09-05 13:14:34 +03:00
Xinhe Wang
3d19696f3b
Fix casting error in KeyStrokeTrie.getEntries
...
Return an empty sequence if the prefix node is not found in `KeyStrokeTrie`.
Passing a non-existent prefix previously would result in a casting error.
2025-09-05 13:14:34 +03:00
Matt Ellis
572c24ff31
Insert text from incsearch end offset
2025-09-05 12:37:45 +03:00
Matt Ellis
c4a43eef92
Support insert filename literally
2025-09-05 12:37:45 +03:00
Matt Ellis
c22992c16c
Extract find filename at cursor to VimSearchHelper
2025-09-05 12:37:45 +03:00
Matt Ellis
01a612ad60
Add insert filename under caret action
2025-09-05 12:37:45 +03:00
Matt Ellis
606e5c6a9f
Add 'isfname' option, not yet applied
...
Relates to VIM-4018
2025-09-05 12:37:45 +03:00
Matt Ellis
93ef18b32c
Remove unnecessary JvmField annotations
2025-09-05 12:37:45 +03:00
Matt Ellis
fa4c62ebde
Add insert big word at cursor literally action
...
Relates to VIM-2511
2025-09-05 12:37:45 +03:00
Matt Ellis
c5f6b2e336
Add insert big word at cursor command line action
...
Relates to VIM-2511
2025-09-05 12:37:45 +03:00
Matt Ellis
1e27220eaa
Support insert word literally
...
Inserting a word and inserting it literally is the same operation. No need for another action
Fixes VIM-2511
2025-09-05 12:37:45 +03:00
Matt Ellis
b5484345f8
Add insert word under caret action for command line
...
Fixes VIM-2511
2025-09-05 12:37:45 +03:00
Matt Ellis
5d68ba26c2
Add insert current line literally action
2025-09-05 12:37:45 +03:00
Matt Ellis
5c8ca893e1
Insert current line by replaying keys
2025-09-05 12:37:45 +03:00
Matt Ellis
6aff6a07af
Add insert current line in command line
...
Fixes VIM-2511
2025-09-05 12:37:45 +03:00
Matt Ellis
c580aaceed
Add insert register literally action
...
Fixes VIM-2511
2025-09-05 12:37:45 +03:00
Matt Ellis
d204860a26
Remove write action from insert register action
...
Fixes VIM-3650
2025-09-05 12:37:45 +03:00
Matt Ellis
4bd4aefaca
Add minor optimisation for simple register contents
2025-09-05 12:37:45 +03:00
Matt Ellis
161bb2b28b
Insert register by replaying keys
2025-09-05 12:37:45 +03:00
Matt Ellis
4be143f4ff
Fix move caret to previous big word to match Vim
...
The docs says it moves to the previous WORD, but in practice it moves to the previous whitespace character
2025-09-05 12:37:45 +03:00
Matt Ellis
4a86af9071
Fix move caret to next big word to match Vim
...
The docs says it moves to the next WORD, but in practice it moves to the next whitespace character
2025-09-05 12:37:45 +03:00
Matt Ellis
9a5339d8af
Fix delete to use word instead of WORD
2025-09-05 12:37:45 +03:00
Matt Ellis
b70f15584f
Remove obsolete comments
2025-09-05 12:37:45 +03:00
Matt Ellis
38928e82c8
Extract insert literal command line tests
2025-09-05 12:37:45 +03:00
Matt Ellis
aa5975485e
Extract digraph command line tests
2025-09-05 12:37:45 +03:00
Matt Ellis
b6be329a08
Add tests for saving history when cancelling ex field
2025-09-05 12:37:45 +03:00
Matt Ellis
1a566b70d9
Add cmd history before executing
...
But save to register after executing. Matches Vim behaviour
2025-09-05 12:37:45 +03:00
Matt Ellis
b4eee5d45e
Show indicator for current history entry
2025-09-05 12:37:45 +03:00
Matt Ellis
30dae9f4d9
Rename HistoryDownFilterAction and add tests
2025-09-05 12:37:45 +03:00
Matt Ellis
3ca51d0361
Rename HistoryDownAction and add tests
2025-09-05 12:37:45 +03:00
Matt Ellis
f282131414
Rename HistoryUpFilterAction and add tests
2025-09-05 12:37:45 +03:00
Matt Ellis
f5f14f308b
Rename HistoryUpAction and add tests
2025-09-05 12:37:45 +03:00
Matt Ellis
6557169eec
Remove unnecessary textExInput function
2025-09-05 12:37:45 +03:00
Matt Ellis
ed402d3b26
Extract ToggleOverstrikeActionTest
...
Vim calls this "overstrike". We'll update terminology to match.
2025-09-05 12:37:45 +03:00
Matt Ellis
44cb65859b
Extract MoveCaretToPreviousBigWordAction
2025-09-05 12:37:45 +03:00
Matt Ellis
84eb131cea
Extract MoveCaretToNextBigWordAction
2025-09-05 12:37:45 +03:00
Matt Ellis
9ce2c2ba3a
Extract MoveCaretToLineEndActionTest
2025-09-05 12:37:45 +03:00
Matt Ellis
549d4a722f
Extract MoveCaretToLineStartActionTest
2025-09-05 12:37:45 +03:00
Matt Ellis
667890cb4d
Extract InsertRegisterActionTest
2025-09-05 12:37:45 +03:00
Matt Ellis
1ebaa34bda
Extract DeleteToCaretActionTest
2025-09-05 12:37:45 +03:00
Matt Ellis
310d90466b
Extract DeletePreviousWordActionTest
2025-09-05 12:37:45 +03:00
Matt Ellis
822052358e
Extract DeletePreviousCharActionTest
2025-09-05 12:37:45 +03:00
Matt Ellis
d1eb1aeb4d
Extract DeleteNextCharActionTest
2025-09-05 12:37:45 +03:00
Matt Ellis
8dd28cd257
Introduce CommandLineActionHandler base class
2025-09-05 12:37:45 +03:00
Matt Ellis
057259eba2
Move CommandKeyConsumer before CharArgumentConsumer
2025-09-05 12:37:45 +03:00
Matt Ellis
7f927ac62e
Reorder register consumers
2025-09-05 12:37:45 +03:00
Matt Ellis
ecceab3fd6
Rename SelectRegisterConsumer
2025-09-05 12:37:45 +03:00
Matt Ellis
3e18fcd7f1
Rename StartSelectRegisterConsumer
2025-09-05 12:37:45 +03:00
Matt Ellis
747ffa1e7f
Move CommandCountTest.kt
2025-09-05 12:37:45 +03:00
Matt Ellis
c3c581ceb6
Rename CommandConsumer to CommandKeyConsumer
2025-09-05 12:37:45 +03:00
Matt Ellis
abf7dc51bd
Add doc comments for all key consumers
2025-09-05 12:37:45 +03:00
Matt Ellis
a0d3fd9eed
Rename DeleteCommandConsumer to add Count
2025-09-05 12:37:45 +03:00
Matt Ellis
f53d93016d
Make it a little easier to debug key consumers
...
Adding an `isApplicable` function allows avoiding stepping into irrelevant consumers
2025-09-05 12:37:45 +03:00
NaMinhyeok
ce6822fa82
Add repository condition to updateChangelog workflow
...
Signed-off-by: NaMinhyeok <nmh9097@gmail.com >
2025-09-05 11:51:48 +03:00
Alex Plate
e9bc665aaa
Revert StatusBarWidgetsManager to be the project-level service
2025-09-05 10:43:25 +03:00
Alex Plate
0fd95c17cf
Fix(VIM-4028): Disable new plugin registration because currently it causes an error and this should be properly reviewed
2025-09-05 10:38:30 +03:00
dependabot[bot]
faf7a44f7d
Bump org.junit:junit-bom from 5.10.0 to 5.13.4
...
Bumps [org.junit:junit-bom](https://github.com/junit-team/junit-framework ) from 5.10.0 to 5.13.4.
- [Release notes](https://github.com/junit-team/junit-framework/releases )
- [Commits](https://github.com/junit-team/junit-framework/compare/r5.10.0...r5.13.4 )
---
updated-dependencies:
- dependency-name: org.junit:junit-bom
dependency-version: 5.13.4
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-09-04 09:52:47 +03:00
dependabot[bot]
739336ca45
Bump org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm
...
Bumps [org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm](https://github.com/Kotlin/kotlinx.coroutines ) from 1.8.1 to 1.10.2.
- [Release notes](https://github.com/Kotlin/kotlinx.coroutines/releases )
- [Changelog](https://github.com/Kotlin/kotlinx.coroutines/blob/master/CHANGES.md )
- [Commits](https://github.com/Kotlin/kotlinx.coroutines/compare/1.8.1...1.10.2 )
---
updated-dependencies:
- dependency-name: org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm
dependency-version: 1.10.2
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-09-04 09:52:39 +03:00
dependabot[bot]
759df9eb22
Bump org.jetbrains:annotations from 26.0.2 to 26.0.2-1
...
Bumps [org.jetbrains:annotations](https://github.com/JetBrains/java-annotations ) from 26.0.2 to 26.0.2-1.
- [Release notes](https://github.com/JetBrains/java-annotations/releases )
- [Changelog](https://github.com/JetBrains/java-annotations/blob/master/CHANGELOG.md )
- [Commits](https://github.com/JetBrains/java-annotations/compare/26.0.2...26.0.2-1 )
---
updated-dependencies:
- dependency-name: org.jetbrains:annotations
dependency-version: 26.0.2-1
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-09-04 09:36:07 +03:00
dependabot[bot]
6eefb1dd51
Bump org.jetbrains.intellij.platform from 2.7.2 to 2.8.0
...
Bumps org.jetbrains.intellij.platform from 2.7.2 to 2.8.0.
---
updated-dependencies:
- dependency-name: org.jetbrains.intellij.platform
dependency-version: 2.8.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-09-04 05:19:17 +03:00
Xinhe Wang
7f107fcc21
Remove unused NerdTree ProjectViewListener from plugin configuration
...
The ProjectViewListener was already removed in 175bae51
2025-09-02 15:06:01 +01:00
Alex Plate
1c80863e12
Fix an issue that the application level service was called from the project level
2025-09-02 11:27:22 +03:00
Alex Plate
ec11c2ec70
Update status bar menu links with a sign that shows that this is an external link
...
Because of some encoding issues, I had to embed the string right in the code
2025-09-02 11:25:55 +03:00
Alex Plate
1e98fe2bed
Add link to IdeaVim documentation in the status bar menu
2025-09-02 11:22:10 +03:00
Alex Plate
7558a9da39
Spellchecker is a separate plugin now and needs to be declared explicitly
2025-09-02 11:12:57 +03:00
Alex Plate
b47783090c
Add new plugins for compatibility checks in TeamCity and plugin dependency validation.
2025-09-01 10:00:55 +03:00
IdeaVim Bot
b0361326b5
Add jetbrains-junie[bot] to contributors list
2025-08-30 09:01:45 +00:00
Alex Plate
1c6e9354fb
Add instruction to examine commit content, not just messages
...
- Emphasize using git show to see full commit content
- Note that test files contain good examples for changelog
- Encourage looking at actual code changes for better understanding
- Help find specific command examples from tests
2025-08-30 11:57:20 +03:00
Alex Plate
2bc5daf2bf
Add instruction to read PR comments for changelog guidance
...
- Emphasize reading PR comments from previous changelog updates
- Add gh command to view PR comments
- Note that review feedback may indicate what to avoid
- Help ensure special instructions from PR discussions are followed
2025-08-30 11:56:42 +03:00
Alex Plate
8e7beea33e
Add note about reading only top portion of CHANGES.md
...
- Clarify that CHANGES.md is a large file
- Instruct to focus on [To Be Released] section and recent versions
- Avoid reading the entire file unnecessarily
2025-08-30 11:55:21 +03:00
Alex Plate
8b9e904623
Add dedicated section for updating changeNotes in build.gradle.kts
...
- Create separate section with detailed instructions for changeNotes
- Clarify that content should match CHANGES.md exactly (no summarizing)
- Provide HTML formatting guidelines and examples
- Emphasize not to create shorter or condensed versions
- Include example showing Markdown to HTML conversion
2025-08-30 11:19:59 +03:00
Alex Plate
ed14efc55c
Add instruction to use PR titles as-is in changelog
...
- Specify that PR descriptions should be taken directly from PR titles
- Don't regenerate or rewrite PR descriptions
- Maintain author's original wording for PR entries
2025-08-30 11:11:40 +03:00
Alex Plate
deae5fea8e
Add special rules for Merged PRs section in changelog
...
- Clarify that PRs have different inclusion criteria than Features/Fixes
- Note that internal changes and refactoring PRs should be included
- Emphasize acknowledging community contributions regardless of visibility
- Make clear that "user-visible only" rule doesn't apply to PRs section
2025-08-30 11:10:27 +03:00
Alex Plate
f5c5bd82ba
Add another example of unclear changelog entry to avoid
...
- Add "Fixed inlay offset calculations" as bad example
- Show better alternative with specific user-visible case
- Reinforce that technical internal fixes should either have clear user impact or be omitted
2025-08-30 11:09:02 +03:00
Alex Plate
3b88a57478
Add guidance for clear, specific changelog entries
...
- Include bad example: "Fixed count validation in text objects" (too vague)
- Show better alternative: specific command that was fixed
- Emphasize: if unable to determine specific case, omit entry rather than be unclear
- Help ensure all changelog entries are meaningful to users
2025-08-30 11:07:13 +03:00
Alex Plate
00d08c3840
Add instructions to avoid duplication in changelog subsections
...
- Clarify that each change should appear in only ONE subsection
- Add note that features can also use YouTrack link format
- Emphasize no duplication between Features, Fixes, and other categories
- Update both Format Notes and Writing Style sections for clarity
2025-08-30 11:04:57 +03:00
Alex Plate
a5dd8cf8b1
Update PR title format for changelog updates
...
- Change PR title format to "Update changelog: <super short summary>"
- Add example showing how to summarize key changes in title
- Update both GitHub workflow and changelog instructions for consistency
2025-08-30 10:55:54 +03:00
Alex Plate
22b17e8cc5
Add instruction to include helpful documentation links in changelog
...
- Guide to search for and include official documentation links
- Add links to JetBrains features and Vim commands when relevant
- Include examples showing linked IntelliJ features (Next Edit Suggestion, multiple cursors)
- Help users find more information about mentioned features
2025-08-30 10:54:16 +03:00
Alex Plate
070b608687
Add guidance for including command examples in changelog
...
- Add instruction to include examples of commands/operations in changelog entries
- Update example entries to demonstrate including specific commands
- Show how to describe what now works for both fixes and features
- Help users understand how to use new features or what was fixed
2025-08-30 10:51:34 +03:00
Alex Plate
a72db2b5af
Add user-focus emphasis to changelog instructions
...
- Clarify that internal code changes should not be logged
- Emphasize that changelog is for users, not developers
- Strengthen user-focused writing style guidelines
- Exclude refactoring, code cleanup, and internal architecture changes
2025-08-30 10:49:20 +03:00
Alex Plate
9f58c73d92
Refactor documentation structure and extract changelog instructions
...
- Simplified CLAUDE.md to avoid redundancy with other docs
- Created .claude/changelog-instructions.md with detailed changelog maintenance guide
- Updated GitHub Action to reference the new changelog instructions doc
- Added instructions for updating changeNotes in build.gradle.kts
- Added notes about excluding API module changes (experimental status)
- Added step to check previous changelog PRs for special instructions
2025-08-30 10:42:01 +03:00
Alex Plate
0b919b18b7
[API] Fix handling of empty strings in list option functions
...
The append, prepend, and remove functions now correctly handle empty
option values. When an option is empty (""), we use an empty list
instead of splitting the empty string which would result in [""].
This fixes test failures in OptionScopeTest for operations on empty options.
2025-08-29 19:00:37 +03:00
Alex Plate
9aff700a58
Add GitHub Action for automated changelog maintenance using Claude
...
This workflow runs daily at 5 AM UTC (or manually) and uses Claude to:
- Review commits and update CHANGES.md with meaningful changes
- Maintain the exact format used before the changelog gap
- Include YouTrack links for fixes (format: [VIM-XXXX](url))
- Reference merged PRs (excluding dependabot and Claude PRs)
- Handle the historical gap between versions 2.9.0 and 2.28.0
- Create PRs only when there are actual changes to document
Claude has access to git, GitHub CLI, and can fetch from YouTrack,
GitHub, and JetBrains plugin pages to gather accurate information.
2025-08-29 18:32:17 +03:00
Alex Plate
12fe8671d3
Add GitHub Action to automatically update IntelliJ version configurations
...
This workflow runs three times a year (August 15, April 30, December 1)
and uses Claude to check if new IntelliJ versions need to be added to
TeamCity test configurations. Claude will automatically create a PR if
a new version is needed.
The workflow can also be triggered manually for testing.
2025-08-29 18:11:27 +03:00
Alex Plate
fc2cea471b
Add TeamCity configuration for IntelliJ 2025.2
...
Added test configuration for IntelliJ 2025.2 to run alongside 2025.1.
This ensures compatibility testing with the upcoming IDE version.
2025-08-29 18:11:27 +03:00
Alex Plate
9499716b18
[API] Simplify list option handling in OptionScope
2025-08-29 18:11:27 +03:00
Alex Plate
c66a212781
[API] Add experimental API warning to all plugin documentation
...
Added prominent warning notice to all Plugin API documentation files:
- Plugin-API-reference.md
- Plugin-API-introduction.md
- Plugin-API-quick-start-guide.md
- Plugin-API-tutorial-replace-with-register.md
The warning clearly states that the API is experimental and not
recommended for production use, with potential breaking changes.
2025-08-29 18:11:26 +03:00
Alex Plate
0099ea9073
[API] Update Plugin API Reference documentation for OptionScope
...
- Document that option() function now returns a value
- Add comprehensive documentation for list option methods (append, prepend, remove)
- Add utility methods documentation (toggle, split)
- Include practical usage examples and common use cases
- Update method signatures to reflect non-nullable returns
- Add Vim command equivalents for better understanding
2025-08-29 18:11:26 +03:00
Alex Plate
de809b528b
[API] Turn OptionScopeImpl into an object
2025-08-29 18:11:26 +03:00
Alex Plate
c6adc48e81
[API] Make option() function return a value
...
This allows users to easily retrieve values from option scope:
val x = option { get<Int>("history") }
- Changed option() signature from Unit to generic T return type
- Updated VimApiImpl implementation to return the lambda result
- Added test demonstrating the new return value capability
2025-08-29 18:11:26 +03:00
Alex Plate
955ccc8151
[API] Make getOptionValue return type non-nullable
...
The implementation always returns a value or throws an exception,
so the return type should be non-nullable to reflect this behavior.
Updated extension functions to remove unnecessary null checks.
2025-08-29 18:11:26 +03:00
Alex Plate
907495df4d
[API] Refactor OptionScope from abstract class to interface
...
- Convert OptionScope from abstract class to interface
- Extract inline functions with reified types as extension functions
- Make getOptionValue() and setOption() public interface methods
- Remove internal modifier layer functions
- Update OptionScopeImpl to implement new interface
- Add documentation recommending extension function usage
- Update test imports to use new extension functions
2025-08-29 18:11:25 +03:00
Alex Plate
2b276d316f
[API] Add append(), prepend(), and remove() extension functions for list options
...
- append(): adds values to end of comma-separated list (like Vim's +=)
- prepend(): adds values to beginning of list (like Vim's ^=)
- remove(): removes values from list (like Vim's -=)
- All functions prevent duplicate values from being added
- Comprehensive test coverage for all scenarios
2025-08-29 18:11:25 +03:00
Alex Plate
4f1982d6bd
[API] Add toggle() function to OptionScope for boolean options
...
Adds a simple toggle() function that flips boolean option values.
Works with both full option names and abbreviations.
Example usage:
toggle("ignorecase") // true → false, false → true
toggle("ic") // works with abbreviations
2025-08-29 18:11:25 +03:00
Alex Plate
a235648672
[API] Add split() extension function to OptionScope for comma-separated values
...
Adds a concise String.split() extension function within OptionScope that splits
comma-separated option values into lists. This simplifies working with list-type
options like 'virtualedit', 'whichwrap', etc.
Example usage:
val values = get<String>("virtualedit")?.split() ?: emptyList()
// "block,all" → ["block", "all"]
2025-08-29 18:11:25 +03:00
Alex Plate
85d5da4ab6
[API] Add comprehensive tests for OptionScope API
...
Added extensive test coverage for the OptionScope API including:
- String list options with various formats (single, multiple, empty values)
- Error handling for invalid values, empty names, and type mismatches
- Boundary conditions for integer options
- Boolean/integer type conversions
- Global vs local option scoping
- Option abbreviations
- Edge cases like trailing/leading commas and very long strings
2025-08-29 18:11:24 +03:00
Xinhe Wang
511da14b83
Support disabling extended NERDTree without restarting
2025-08-29 17:53:46 +03:00
Xinhe Wang
636fe0a76f
Make extended NERDTree a separate VimExtension
2025-08-29 17:53:46 +03:00
Xinhe Wang
2b5342a935
Add support for ActivateNode in NERDTree Everywhere
2025-08-29 17:53:46 +03:00
Xinhe Wang
758aaf276a
Extend NERDTree support to Tree components other than Project
2025-08-29 17:53:46 +03:00
jetbrains-junie[bot]
022dc9698b
feat(junie): added .devcontainer.json
2025-08-29 16:53:20 +03:00
jetbrains-junie[bot]
6c3a9f214b
feat(junie): added .junie workflow
2025-08-29 16:52:06 +03:00
Alex Plate
df82794f4f
Fixed a missing |
2025-08-29 14:31:44 +03:00
Alex Plate
2d378327e7
Fix tests after bringing back the old ReplaceWithRegister
2025-08-29 14:00:24 +03:00
Alex Plate
0e37295988
Ignore some test for neovim
2025-08-29 13:55:27 +03:00
Alex Plate
0d342ea6c3
Disable the new ReplaceWithRegister test as it's flaky
2025-08-29 13:45:06 +03:00
Alex Plate
e343da03a1
Bring back the old implementation of the replace with register
...
The new implementation is now named ReplaceWithRegisterNew
2025-08-29 13:44:26 +03:00
Alex Plãte
a009766a1a
"Claude Code Review workflow"
2025-08-29 12:05:24 +03:00
Alex Plãte
d40061f9a4
"Claude PR Assistant workflow"
2025-08-29 12:05:24 +03:00
Alex Plate
476389b9c3
Bring back actualText to keep the compatibility with an external plugin
2025-08-29 11:48:26 +03:00
Alex Plate
7e71676656
[API] The write lock should be taken on EDT
2025-08-29 11:45:22 +03:00
Alex Plate
6a149a8ba4
[API] Add an experimental status on the API
2025-08-29 11:45:22 +03:00
Xinhe Wang
b593d079c4
Correct the behavior of NERDTree-P to jump to the root node
...
It cannot be guaranteed that the tree has a single visible root.
2025-08-26 14:04:15 +01:00
Xinhe Wang
cfbb77f1db
Fix(VIM-3981): make :set noNERDTree work
...
Please note that the ex-commands will still not be unregistered
2025-08-26 14:04:15 +01:00
Xinhe Wang
c6fc1046ee
Extract helper functions in NerdTree.Util to the global scope
...
This is necessary because I would like to use `registerMappings` in
the constructor of `NerdDispatcher` where we have no access to
private methods of `NerdTree`.
Also, `callAction` is moved into `nerdtree.Mappings.Action` and
duplicated `addCommand` is removed.
2025-08-26 14:04:15 +01:00
Xinhe Wang
007d636310
Clear NERDTree's KeyStroke buffer after <ESC> is pressed
...
The user may have pressed `g` accidentally and wish to perform an
operation which is not prefix by `g`.
This gives the user a way to clear the keys entered previously and
matches Vim's behavior.
2025-08-26 14:04:15 +01:00
Xinhe Wang
8d2d3a21a3
Move update from NerdDispatcher to its abstract class
...
To make it reusable in the incoming extended NERDTree.
Note that this commit itself does not change any behavior.
2025-08-26 14:04:15 +01:00
Xinhe Wang
175bae51a1
Initiate SpeedSearch right after / is pressed in NERDTree
...
What we can benefit from this approach:
- User perspective
The SpeedSearch input will pop up immediately to indicate that
`/` has been pressed, and search text can then be entered to
filter the tree nodes.
- Codebase perspective
The `waitForSearch` property can be removed from the Dispatcher
objects, and we can get rid of `ToolWindowManagerListener` and
the concurrency issue in it. This keeps code simple and readable.
In my previous attempt to preserve the `waitForSearch` prop, the
Dispatcher object had to be passed to each action impl as an
argument.
2025-08-26 14:04:15 +01:00
Alex Plate
186db70a22
[API] Specify and cleanup the error handling in the option scope
...
1) ExException is wrapped with the IllegalArgumentException. We cannot use the raw ExException as it's not defined in the API module. So, if any client will have an access only to the API module, they won't be able to handle this kind of the exception.
2) getOption throws IllegalArgumentException if the type classifier is null. I don't know when this might happen, but this looks more like a plugin developer error. Also, this allows to distinguish the wrong option name vs this type of problem
3) In setOption and getOption throw an exception if there is no such option. This clearly explains what is wrong with this call.
Note: there was a question of using exceptions vs some return values, even like `Result`. The decision falls into the using of exceptions as using the wrong arguments in the plugin is a programming error from the user point of view.
This means, if there is a plugin that checks some option that in reality doesn't exist, it's not a fail of the end user and the end user cannot do anything about that.
Also, using the `Result` will force the plugin developer to handle all possible failure branches, what is quite unnecessary when accessing a well-defined option.
2025-08-22 17:52:51 +03:00
Alex Plate
04d9282fb2
Change OutputPanelScopeImpl to be an object
2025-08-22 16:30:51 +03:00
Alex Plate
6f54a30bc3
Fix(VIM-4004): Add support for f13-f24 keys
2025-08-22 16:09:43 +03:00
Matt Ellis
1a7b54d0a9
Avoid importing unnecessary helper function
2025-08-22 15:26:26 +03:00
Matt Ellis
4cc3bd2b9f
Use return value of Escape action
...
If none of the IDE Escape handlers do anything, we get Vim's lovely beep
2025-08-22 15:26:26 +03:00
Matt Ellis
f0a104a131
Reset caret shape on Escape
...
Provides a way to reset and resync the caret shape by hitting Escape, even if we don't change mode
2025-08-22 15:26:26 +03:00
Matt Ellis
ef66a15faf
Reuse existing colour when changing caret
...
Maintains the colour set by Next Edit Suggestions when changing mode
Fixes VIM-4010. Fixes VIM-3455
2025-08-22 15:26:26 +03:00
Matt Ellis
d8a79cb12f
Use Vim actions to insert Tab
...
Previously, we would drop out of VimShortcutKeyAction when hitting Tab in Insert mode. This allowed Emmet to work because ExpandLiveTemplateByTabAction (one of the many actions registered for Tab) would have a chance to handle it.
Now we let Tab actions try to handle the key before Vim does, so we can let Vim handle Tab. In Insert mode, Vim now inserts the tab (or equivalent spaces) by invoking the "EditorTab" action, which is the same as the TabAction handler in the list of actions. Because Vim does this, we can now easily repeat inserting Tab without workarounds, remap `<Tab>` and `<S-Tab>` and Vim will update scroll locations after inserting the text.
Fixes VIM-2331. Fixes JetBrains/ideavim#938 . Fixes JetBrains/ideavim#280
2025-08-22 15:26:26 +03:00
Matt Ellis
74a04dd235
Do not expand Live Templates in Normal mode
2025-08-22 15:26:26 +03:00
Matt Ellis
2aaf9badd5
Order IDE actions for Tab before Vim actions
...
Fixes VIM-4010
2025-08-22 15:26:26 +03:00
Matt Ellis
0950585e13
Fix initialising non-default colorcolumn option
...
Fixes VIM-3984
2025-08-22 15:25:55 +03:00
Matt Ellis
d850052f20
Fix count accepted as valid in text object
...
Fixes VIM-3960
2025-08-22 14:17:33 +03:00
Xinhe Wang
629a0f7aab
Indicate error when an unrecognized key sequence is entered in NERDTree
2025-08-22 14:16:31 +03:00
Matt Ellis
cb74ff6af2
Fix normalising visual column
...
Would previously normalise against the entire buffer line length rather than just the current visual line length. For short lines, this would not include inlays, and would therefore position the caret wrong when moving up/down at end of line. For long, wrapped lines, this just plain wouldn't work.
Fixes VIM-3997
2025-08-22 14:15:44 +03:00
Matt Ellis
c9ebc1c4ae
Fix calculation of visual column with inlays
...
Was assuming caret was always on a text character visual column, but could be on an inlay.
Fixes VIM-4007
2025-08-22 14:15:44 +03:00
Alex Plate
a0a3f3f3b1
Fix an exception during the renaming: there was a read action missing
2025-08-22 11:22:38 +03:00
Alex Plate
aa539e76eb
Rename RWLockLabel to VimLockLabel and other annotations
...
Also, clarify their usage
2025-08-22 11:22:38 +03:00
dependabot[bot]
4ab42db6a9
Bump org.jetbrains.kotlin:kotlin-stdlib from 2.2.0 to 2.2.10
...
Bumps [org.jetbrains.kotlin:kotlin-stdlib](https://github.com/JetBrains/kotlin ) from 2.2.0 to 2.2.10.
- [Release notes](https://github.com/JetBrains/kotlin/releases )
- [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md )
- [Commits](https://github.com/JetBrains/kotlin/compare/v2.2.0...v2.2.10 )
---
updated-dependencies:
- dependency-name: org.jetbrains.kotlin:kotlin-stdlib
dependency-version: 2.2.10
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-08-20 18:50:38 +03:00
dependabot[bot]
fbb8abe386
Bump org.jetbrains.intellij.platform from 2.7.1 to 2.7.2
...
Bumps org.jetbrains.intellij.platform from 2.7.1 to 2.7.2.
---
updated-dependencies:
- dependency-name: org.jetbrains.intellij.platform
dependency-version: 2.7.2
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-08-20 18:48:42 +03:00
IdeaVim Bot
8e5d4b156c
Add Na Minhyeok to contributors list
2025-08-20 09:01:54 +00:00
Alex Plate
55dd27db33
Update the contribution guide to avoid the confusion
...
By feedback https://github.com/JetBrains/ideavim/pull/1271#issuecomment-3203657519
2025-08-20 09:37:06 +03:00
Alex Plate
2136836877
Merge all configuration files into a single plugin.xml
...
The way we split plugin.xml was outdated. Also, it started to show errors in highlighting, even there were no errors.
It's better to keep everything in a single file
2025-08-20 09:18:16 +03:00
NaMinhyeok
ca676ca973
Fix Gradle build deprecation warnings and improve type safety
...
- Replace deprecated java.net.URL and HttpURLConnection with Ktor HttpClient in slackNotification task
- Fix deprecated intellijPlatform API calls:
- create(ideaType, ideaVersion, useInstaller) → create(ideaType, ideaVersion) { this.useInstaller = useInstaller }
- verifyPlugin → pluginVerification
- Add explicit Task type parameters to all tasks.register() calls to resolve Kotlin type inference warnings
Signed-off-by: NaMinhyeok <nmh9097@gmail.com >
2025-08-19 16:59:06 +03:00
dependabot[bot]
82d3420570
Bump org.jetbrains.changelog from 2.3.0 to 2.4.0
...
Bumps org.jetbrains.changelog from 2.3.0 to 2.4.0.
---
updated-dependencies:
- dependency-name: org.jetbrains.changelog
dependency-version: 2.4.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-08-13 19:33:32 +03:00
dependabot[bot]
060135737d
Bump org.jetbrains.intellij.platform from 2.6.0 to 2.7.1
...
Bumps org.jetbrains.intellij.platform from 2.6.0 to 2.7.1.
---
updated-dependencies:
- dependency-name: org.jetbrains.intellij.platform
dependency-version: 2.7.1
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-08-13 19:16:19 +03:00
Alex Plate
63e482408d
Fix compilation issues
2025-08-08 18:28:52 +03:00
Alex Plate
ddb4c5ec81
Comment out listeners scope. It does require an accurate and proper review and design
2025-08-08 18:07:59 +03:00
Alex Plate
22e6ba3b3c
Refactor DigraphScopeImpl to be an object and simplify digraph method logic
2025-08-08 18:04:09 +03:00
Alex Plate
e2a089fbeb
Remove function to clearing all custom digraphs
...
This function is not provided by vim and by using it from the plugins we may drop the digraphs created by other plugins.
It'd be better to provide a just remove function. However, let's skip it for now. Also, maybe we should use an approach with the owners
2025-08-08 18:00:30 +03:00
Alex Plate
5cfed9929e
Refresh documentation for MappingScope
2025-08-08 17:43:00 +03:00
Alex Plate
e85c006321
Remove isRepeatable parameter from key mapping methods
...
First of all, this is a property of the plugin, not the mapping. Secondly, all plugins should support repeat.
2025-08-08 17:11:10 +03:00
Alex Plate
1db8d01961
Add detailed documentation for label usage in key mapping methods
...
Documented the role of `label` in providing intermediate mappings, allowing users to override default plugin mappings with custom configurations.
2025-08-08 16:23:37 +03:00
Alex Plate
9c9cd1b2a0
Bring back the function to set the mode, but in experimental status now
2025-08-08 14:28:01 +03:00
Alex Plate
fb6a97f586
Remove redundant return statement in CommandLineScope
2025-08-08 12:44:30 +03:00
Alex Plate
87f5a6fab3
Remove stub classes
...
This solution was initially questionable. For a long time it produced nothing but more work on implementing the stubs.
2025-08-08 12:44:30 +03:00
Alex Plate
9d92ae9449
Remove the suspend from functions under the read or write actions
...
The suspending operations must not be performed under the read or write actions as this will lead to performance issues or freezes.
Also, the current implementation of launching coroutine under the write action is simply incorrect. The coroutine will escape the write action into another thread.
2025-08-08 12:44:30 +03:00
Alex Plate
492bd62166
Rename VimScope to VimApi and move it into a different package
...
`VimApi` would be a better entry point name. Also, the API term is clearer than the scope.
2025-08-08 12:44:30 +03:00
Alex Plate
a0c213b90d
Refactor Mode in API to be a simple enum
...
The current representation of Mode with `returnTo` is quite complicated and we're not even sure it'll remain like that.
At the same time, `mode()` function in Vim has quite a reach specification and there is a small chance it'll be changed. With this approach, we use values from Vim, yet in a form of enum.
2025-08-08 12:44:30 +03:00
Alex Plate
fee75001f6
Do not allow to change the mode from the API
...
The details why we don't want this for now are logged in the code
2025-08-08 12:44:29 +03:00
Alex Plate
df3fb1a8a3
Convert VimScope into the interface
2025-08-08 12:44:29 +03:00
Alex Plate
057f4eee5d
The ReadImpl does not inherit the VimScopeImpl
...
`ReadImpl` didn't use anything from `VimScopeImpl`. This would make sense if `Read` inherited `VimScope`, but it doesn't.
Also, we'll always be able to bring back the dependency if we figure out it's necessary.
2025-08-08 12:44:29 +03:00
Alex Plate
e2b20bb04d
Reformat API module
2025-08-08 12:44:29 +03:00
Alex Plate
add8023155
Rename @VimPluginDsl to @VimApiDsl
...
The API is a more correct term, despite the fact that the API will be mostly used from the plugins.
2025-08-08 12:44:29 +03:00
Alex Plate
88e77d1bea
Add API module to the gradle config
2025-08-08 12:44:29 +03:00
Matt Ellis
e6ed15c772
Fix command line missing due to empty colour
...
Fixes VIM-3993
2025-08-08 11:57:12 +03:00
dependabot[bot]
0867dbd420
Bump org.junit.jupiter:junit-jupiter from 5.13.3 to 5.13.4
...
Bumps [org.junit.jupiter:junit-jupiter](https://github.com/junit-team/junit-framework ) from 5.13.3 to 5.13.4.
- [Release notes](https://github.com/junit-team/junit-framework/releases )
- [Commits](https://github.com/junit-team/junit-framework/compare/r5.13.3...r5.13.4 )
---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter
dependency-version: 5.13.4
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-08-06 18:27:06 +03:00
Mia Vucinic
3cb5308193
fix failing tests
2025-08-01 16:16:29 +03:00
Mia Vucinic
093769ee7c
add file lock to ensure exclusive access
2025-08-01 16:16:29 +03:00
Mia Vucinic
fd58a61685
remove ReplaceWithRegister options from tests
...
- since enabling and disabling extensions is no longer done using options, options in tests can be removed
2025-08-01 16:16:28 +03:00
Mia Vucinic
562ae63805
fix ReplaceWithRegister test
...
- remove unnecessary new lines in tests
2025-08-01 16:16:28 +03:00
Mia Vucinic
04603ae61f
add new extensions API handling in test
2025-08-01 16:16:27 +03:00
Mia Vucinic
807dff45a9
add a new ReplaceWithRegister plugin implementation
2025-08-01 16:16:27 +03:00
Mia Vucinic
a25b88327e
implement PlugDisable command
2025-08-01 16:16:27 +03:00
Mia Vucinic
fbb2351ec2
implement PlugEnable command
2025-08-01 16:16:26 +03:00
Mia Vucinic
621969faec
implement a new way for registering extensions
2025-08-01 16:16:26 +03:00
Mia Vucinic
26e33c088c
implement ksp for extensions processing
2025-08-01 16:16:26 +03:00
Mia Vucinic
efdd0b9910
Add docs for the new Plugin API
2025-08-01 15:44:06 +03:00
Alex Plãte
38fba69c33
Merge pull request #1246 from JetBrains/thin-api-first-draft
...
API for writing plugins
2025-08-01 15:43:46 +03:00
dependabot[bot]
4764ffbbf5
Bump org.jetbrains.changelog from 2.2.1 to 2.3.0
...
Bumps org.jetbrains.changelog from 2.2.1 to 2.3.0.
---
updated-dependencies:
- dependency-name: org.jetbrains.changelog
dependency-version: 2.3.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-07-30 18:52:03 +03:00
dependabot[bot]
2d9d000417
Bump com.squareup.okhttp3:okhttp from 4.12.0 to 5.0.0
...
Bumps [com.squareup.okhttp3:okhttp](https://github.com/square/okhttp ) from 4.12.0 to 5.0.0.
- [Changelog](https://github.com/square/okhttp/blob/master/CHANGELOG.md )
- [Commits](https://github.com/square/okhttp/compare/parent-4.12.0...parent-5.0.0 )
---
updated-dependencies:
- dependency-name: com.squareup.okhttp3:okhttp
dependency-version: 5.0.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-07-30 18:50:43 +03:00
dependabot[bot]
2dfaff802d
Bump io.ktor:ktor-client-auth from 3.2.2 to 3.2.3
...
Bumps [io.ktor:ktor-client-auth](https://github.com/ktorio/ktor ) from 3.2.2 to 3.2.3.
- [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.2.2...3.2.3 )
---
updated-dependencies:
- dependency-name: io.ktor:ktor-client-auth
dependency-version: 3.2.3
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-07-30 18:50:35 +03:00
Mia Vucinic
06e34d6005
add a default value for isBigWord in getNextWordStartOffset and getNextWordEndOffset
2025-07-29 16:27:03 +02:00
Mia Vucinic
8ae792e74e
add return value to with and withPrimaryCaret
2025-07-29 16:23:12 +02:00
Mia Vucinic
15660a9f3d
make functions in output panel scope non suspend
2025-07-29 16:10:15 +02:00
Xinhe Wang
64033078b2
Use vimLogger instead in NerdTree
2025-07-29 10:43:43 +03:00
Xinhe Wang
ddff706ac8
Avoid NERDTree getting stuck by an invalid key sequence
...
This is not a complete fix, but a temporary measure to prevent it
from stopping responding.
2025-07-29 10:43:43 +03:00
Xinhe Wang
2e55cc1af8
Fix(VIM-3437): correct the behavior of NERDTree-X
2025-07-29 10:43:43 +03:00
Xinhe Wang
33f04869bf
Fix(VIM-3985): correct the behavior of NERDTree-x
2025-07-29 10:43:43 +03:00
Xinhe Wang
aeaceca76e
Extract navigation-related NERDTree actions to make them reusable
...
Code is simplified in this commit but the actual behavior remains unchanged
2025-07-29 10:43:43 +03:00
Xinhe Wang
e587161169
Refactor NerdAction
...
Removing `project` parameter from NerdAction.Code.action makes it
possible to extend NERDTree support to all tree components other
than the Project tool window.
2025-07-29 10:43:43 +03:00
Xinhe Wang
b3fd205148
Extract dispatcher logic from NerdTree into AbstractDispatcher
2025-07-29 10:43:43 +03:00
Xinhe Wang
4558c3f5c8
Encapsulate KeyStrokeTrie in extension.nerdtree.Mappings
...
This avoids external manipulation of the KeyStroke set, resulting
in data inconsistency.
2025-07-29 10:43:43 +03:00
Xinhe Wang
962abda86b
Convert NerdDispatcher to a light service
...
Since there's no need to expose the dispatcher, we can safely
convert it to a light service as suggested by DevKit.
See https://plugins.jetbrains.com/docs/intellij/plugin-services.html#light-services
2025-07-29 10:43:43 +03:00
Matt Ellis
7d9fa418ce
Support :k{mark} without separating whitespace
...
Fixes VIM-3915
2025-07-28 12:21:46 +03:00
Matt Ellis
68e9538ac5
Remove unnecessary special case handling of subst
...
This was added before the grammar made whitespace optional between command and argument
2025-07-28 12:21:46 +03:00
Mia Vucinic
72accdd186
remove exception throwing from getFocusedEditor function
2025-07-28 10:26:51 +02:00
Mia Vucinic
4282a58719
fix doc comments for count parameter
2025-07-28 10:21:40 +02:00
Mia Vucinic
f74552ef19
fix replaceText when editor is empty
2025-07-28 10:07:17 +02:00
Mia Vucinic
a4e9e70df7
add test for inserting empty text and fix coerceIn function
2025-07-28 07:32:29 +02:00
Mia Vucinic
3c32c8bbe7
rename VimHighlightingServiceImpl to IjVimHighlightingService and VimPluginServiceImpl to IjVimPluginService
2025-07-28 07:32:29 +02:00
Mia Vucinic
265e2e14e7
move thin api services from the extension package to the thinapi package
2025-07-28 07:32:29 +02:00
Mia Vucinic
55b44aab53
implement add caret and remove caret functions
2025-07-28 07:32:18 +02:00
Alex Plate
e13deb48cc
Fix: Respect isIdeaVimDisabledHere flag in OctopusHandler
2025-07-25 13:13:29 +03:00
Matt Ellis
8ab7122e65
Fix issues with new islands theme
...
Stops the new frame background showing in the output panel, and returns the coloured background for the mode status bar widget.
2025-07-25 09:54:53 +03:00
Mia Vucinic
c95421518e
fix path handling for jump and marks
2025-07-24 17:13:41 +02:00
Mia Vucinic
a45b642d1e
fix exceptions
2025-07-24 09:26:16 +02:00
Mia Vucinic
9d09f824df
fix executeNormalWithoutMapping function
2025-07-24 08:16:23 +02:00
Mia Vucinic
5d731ff818
fix editor size
2025-07-24 08:15:47 +02:00
Mia Vucinic
5f4cd75898
remove unnecessary getNextWordStartOffset function from VimScope
2025-07-24 08:15:09 +02:00
Mia Vucinic
9443f16551
remove unused variable and some comments
2025-07-24 08:00:00 +02:00
Mia Vucinic
6abee14079
have CaretTransaction extend Read
2025-07-24 07:56:23 +02:00
dependabot[bot]
e0c7f05c1e
Bump org.junit.jupiter:junit-jupiter-api from 5.13.3 to 5.13.4
...
Bumps [org.junit.jupiter:junit-jupiter-api](https://github.com/junit-team/junit-framework ) from 5.13.3 to 5.13.4.
- [Release notes](https://github.com/junit-team/junit-framework/releases )
- [Commits](https://github.com/junit-team/junit-framework/compare/r5.13.3...r5.13.4 )
---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter-api
dependency-version: 5.13.4
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-07-23 18:32:42 +03:00
dependabot[bot]
f474d44d27
Bump org.junit.vintage:junit-vintage-engine from 5.13.2 to 5.13.4
...
Bumps [org.junit.vintage:junit-vintage-engine](https://github.com/junit-team/junit-framework ) from 5.13.2 to 5.13.4.
- [Release notes](https://github.com/junit-team/junit-framework/releases )
- [Commits](https://github.com/junit-team/junit-framework/compare/r5.13.2...r5.13.4 )
---
updated-dependencies:
- dependency-name: org.junit.vintage:junit-vintage-engine
dependency-version: 5.13.4
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-07-23 18:32:32 +03:00
Mia Vucinic
d5e64a8f28
split read into Read and ReadScope
...
- We want to be able to execute functions defined on read scope under write lock as well, which means we want to have transaction extend read. However, due to conflicting names for caret scope builders (forEachCaret, withPrimaryCaret etc.) it was necessary to split it into two scopes:
1) Read - contains only functions available under read lock
2) ReadScope - contains both caret scope builders and functions defined on Read
2025-07-23 12:01:28 +02:00
Mia Vucinic
256fe515b0
add resetting for mocks in tests
2025-07-22 15:31:11 +02:00
Mia Vucinic
e7ec16e8f1
remove variable locking
2025-07-22 13:46:04 +02:00
Mia Vucinic
74e213af1d
remove methods from caret transaction
2025-07-22 13:42:13 +02:00
Mia Vucinic
246e6e4444
remove onRemove method from listener
2025-07-22 13:41:18 +02:00
Mia Vucinic
0b8a72de95
return VimHighlightedYankTest.kt to previous state
2025-07-22 13:33:48 +02:00
Mia Vucinic
359769733c
return VimListenerManager.kt to previous state
2025-07-22 13:33:12 +02:00
Mia Vucinic
8bf60bcb68
add lines to VimExtension and VimExtensionRegistrar.kt
2025-07-22 13:30:53 +02:00
Mia Vucinic
2aa5230aa7
fix docs
2025-07-22 13:29:41 +02:00
Mia Vucinic
ceaa74854f
add docs
2025-07-22 13:17:04 +02:00
Mia Vucinic
96734867e5
revert VimExtension to previous state
2025-07-22 12:52:11 +02:00
Mia Vucinic
cc9a39fa6d
revert VimExtensionRegistrar to previous state
2025-07-22 12:50:49 +02:00
Mia Vucinic
4d680465fb
delete vim plugin base
2025-07-22 12:48:14 +02:00
Mia Vucinic
02a9d284b3
repackage files
2025-07-22 12:47:00 +02:00
Mia Vucinic
fd5e84eddc
add docs
2025-07-22 12:39:10 +02:00
Mia Vucinic
f5cf751a0a
move files to appropriate packages
2025-07-22 12:31:53 +02:00
Mia Vucinic
6f4bd936f9
update docs
2025-07-22 12:12:39 +02:00
Mia Vucinic
657f7f5f9c
fix modal input tests after rebasing
2025-07-22 08:22:45 +02:00
Mia Vucinic
b3561c8b1e
revert "attempt to have extensions disabled when the ideavim plugin is turned off"
...
This reverts commit cfc3b827ea327eedb15d3e9d48c26228db67b153.
2025-07-21 21:06:39 +02:00
Mia Vucinic
38a4512b00
revert "convert VimExtension file to Kotlin"
...
This reverts commit 58c84a7d3af3fc3a3c597949e059d86784825697.
2025-07-21 21:06:39 +02:00
Mia Vucinic
b96498a564
revert "make init function in VimExtension suspend"
...
This reverts commit 87dba1e2951d22b8a62d5c45e9ea20720dbacec2.
2025-07-21 21:06:39 +02:00
Mia Vucinic
85c3a78fb4
revert "make init function in VimPluginBase suspend"
...
This reverts commit 9d0d941adab09b03b7c2287a5e8ffd3fa4626dd4.
2025-07-21 21:06:39 +02:00
Mia Vucinic
62c816c80e
refactor insert and replace text in caret transaction impl
2025-07-21 21:06:39 +02:00
Mia Vucinic
1b1d5815f4
fix validating offsets for replace text
2025-07-21 21:06:39 +02:00
Mia Vucinic
34af17d18e
rename caretAfterInsertedText to caret at end
2025-07-21 21:06:39 +02:00
Mia Vucinic
67fa38d999
add caret transaction test
2025-07-21 21:06:39 +02:00
Mia Vucinic
891b6316eb
add a replace text blockwise function
2025-07-21 21:06:39 +02:00
Mia Vucinic
b00274699d
add option scope test
2025-07-21 21:06:39 +02:00
Mia Vucinic
cff4f75feb
add modal input test
2025-07-21 21:06:39 +02:00
Mia Vucinic
9e6fb85325
add test for digraph scope
2025-07-21 21:06:39 +02:00
Mia Vucinic
f23e190849
delete on global option change listener
2025-07-21 21:06:39 +02:00
Mia Vucinic
5d525b0f38
add transaction test
2025-07-21 21:06:39 +02:00
Mia Vucinic
8e0f854f70
add read test
2025-07-21 21:06:39 +02:00
Mia Vucinic
36c2f797a9
add tests for search functions in VimScope
2025-07-21 21:06:39 +02:00
Mia Vucinic
98b19b2396
add variable tests
2025-07-21 21:06:39 +02:00
Mia Vucinic
f9f4c6b17c
add modes test
2025-07-21 21:06:39 +02:00
Mia Vucinic
8642f4afe9
remove suspend from some functions
2025-07-21 21:06:39 +02:00
Mia Vucinic
560689399b
wrap body of export operator function in command
2025-07-21 21:06:39 +02:00
Mia Vucinic
758809f7d5
make some functions not suspend
2025-07-21 21:06:39 +02:00
Mia Vucinic
cd1a7adc9e
make listeners work with coroutines
2025-07-21 21:06:39 +02:00
Mia Vucinic
979ef3fa1c
make api use coroutines
2025-07-21 21:06:39 +02:00
Mia Vucinic
6aebedfbc0
add a coroutines library to the vim-engine module
2025-07-21 21:06:39 +02:00
Mia Vucinic
9ca46bf150
add coroutines library to api module
2025-07-21 21:06:39 +02:00
Mia Vucinic
91ab26406b
make jetbrains annotation compileOnly in api module
2025-07-21 21:06:39 +02:00
Mia Vucinic
5b1595886b
make init function in VimPluginBase suspend
2025-07-21 21:06:39 +02:00
Mia Vucinic
0fc4a4b476
make init function in VimExtension suspend
2025-07-21 21:06:39 +02:00
Mia Vucinic
5b7c25b0f5
convert VimExtension file to Kotlin
2025-07-21 21:06:39 +02:00
Mia Vucinic
eb39fb546c
implement a proper getFocusedEditor function
2025-07-21 21:06:39 +02:00
Mia Vucinic
74a2fe39d7
remove unnecessary test setup from highlighted yank test
2025-07-21 21:06:39 +02:00
Mia Vucinic
dbe9deec1c
add forEachEditor function
2025-07-21 21:06:39 +02:00
Mia Vucinic
c4bb7e4145
fix replace with register plugin to work in visual block mode
2025-07-21 21:06:39 +02:00
Mia Vucinic
72af6fc313
add functions from VimDigraphGroup
2025-07-21 21:06:39 +02:00
Mia Vucinic
dba11ab1c3
implement path
2025-07-21 21:06:39 +02:00
Mia Vucinic
101d94e12a
fix when some search functions return out-of-bounds offset
2025-07-21 21:06:39 +02:00
Mia Vucinic
9a79cdc3ab
add functions from vim search helper
2025-07-21 21:06:39 +02:00
Mia Vucinic
dd1c5412ed
introduce read and transaction scope for command line
2025-07-21 21:06:39 +02:00
Mia Vucinic
6cb4e2946f
delete unnecessary functions from command line scope
2025-07-21 21:06:39 +02:00
Mia Vucinic
641fd42ecf
rename getOptionValue to get and resetOptionToDefault to reset
2025-07-21 21:06:39 +02:00
Mia Vucinic
ee64316676
introduce option scope
2025-07-21 21:06:39 +02:00
Mia Vucinic
ea415d4c4f
decouple some functions in vim search helper from the caret
2025-07-21 21:06:39 +02:00
Mia Vucinic
6eb71cb95e
add functions for saveFile and closeFile in VimScope
2025-07-21 21:06:39 +02:00
Mia Vucinic
86c225616e
add initial vim storage service implementation
2025-07-21 21:06:39 +02:00
Mia Vucinic
30190b43fc
rename isVariableLocked to islocked
2025-07-21 21:06:39 +02:00
Mia Vucinic
bffa752855
rename parse variable value to convert to kotlin type
2025-07-21 21:06:39 +02:00
Mia Vucinic
4e97be5319
add test for convertToVimDataType function
2025-07-21 21:06:39 +02:00
Mia Vucinic
b0c5d8f658
add setVariable and lockvar/unlockvar functions
2025-07-21 21:06:39 +02:00
Mia Vucinic
c6176f1ac8
add initial command line implementation
2025-07-21 21:06:39 +02:00
Mia Vucinic
af1246bf9a
add findNext and findPrevious methods to VimRegexpService
2025-07-21 21:06:39 +02:00
Mia Vucinic
af9fe9e44e
add with primary caret method
2025-07-21 21:06:39 +02:00
Mia Vucinic
c1d6a5574b
add contract on editor scope
2025-07-21 21:06:39 +02:00
Mia Vucinic
b7f69c8c28
add command function
2025-07-21 21:06:39 +02:00
Mia Vucinic
61b515260c
rename repeat until to repeat while
2025-07-21 21:06:38 +02:00
Mia Vucinic
65c845fc78
fix updating modal input label
2025-07-21 21:06:38 +02:00
Mia Vucinic
d774505801
add update label function to modal input
2025-07-21 21:06:38 +02:00
Mia Vucinic
11e2c00fd8
add modal input implementation
2025-07-21 21:06:38 +02:00
Mia Vucinic
17e261a9e8
add output panel functions
2025-07-21 21:06:38 +02:00
Mia Vucinic
b3dd404aa2
add vimscript executor functions
2025-07-21 21:06:38 +02:00
Mia Vucinic
fdb677dde1
add vim window group functions
2025-07-21 21:06:38 +02:00
Mia Vucinic
74e40ccff8
add vim scroll group functions
2025-07-21 21:06:38 +02:00
Mia Vucinic
008a143284
add vim regexp service functions
2025-07-21 21:06:38 +02:00
Mia Vucinic
124f4345ee
add tab service functions
2025-07-21 21:06:38 +02:00
Mia Vucinic
a70fc85ca0
add jump service implementation
2025-07-21 21:06:38 +02:00
Mia Vucinic
bed26eecdc
convert some mark functions to fields
2025-07-21 21:06:38 +02:00
Mia Vucinic
d655ba2ece
remove unnecessary functions for recording macros
2025-07-21 21:06:38 +02:00
Mia Vucinic
b201e9a85c
remove unnecessary functions from the options api
2025-07-21 21:06:38 +02:00
Mia Vucinic
f503ba5c77
convert fromRgba function to constructor
2025-07-21 21:06:38 +02:00
Mia Vucinic
23db1c7069
delete old test
2025-07-21 21:06:38 +02:00
Mia Vucinic
6c403f6288
move path to separate file
2025-07-21 21:06:38 +02:00
Mia Vucinic
3632511ea2
add documentation and range annotation to mark class
2025-07-21 21:06:38 +02:00
Mia Vucinic
fa0162f8d4
add jetbrains annotations dependency
2025-07-21 21:06:38 +02:00
Mia Vucinic
12819261d3
add initial marks api
2025-07-21 21:06:38 +02:00
Mia Vucinic
1dadbe77b7
add additional mappings
2025-07-21 21:06:38 +02:00
Mia Vucinic
d633686e75
add initial options api
2025-07-21 21:06:38 +02:00
Mia Vucinic
3508006f0f
add register-related operations and properties from VimInjector to CaretRead interface and implementation
2025-07-21 21:06:38 +02:00
Mia Vucinic
d262ce58d5
add more functions and properties into the color class and move parse rgba color to the highlighted yank extension
2025-07-21 21:06:38 +02:00
Mia Vucinic
ba78d9d518
rename addHighlighter, removeHighlighter, HighlighterId to addHighlight, removeHighlight and HighlightId
2025-07-21 21:06:38 +02:00
Mia Vucinic
38c53ea91e
rename visualSelectionMarks to selectionMarks
2025-07-21 21:06:38 +02:00
Mia Vucinic
71f8c4af1e
introduce simple range and block range
2025-07-21 21:06:38 +02:00
Mia Vucinic
884ab72fc6
rename fileSize to text length
2025-07-21 21:06:38 +02:00
Mia Vucinic
d9f196af41
hide one getVariable function with @PublishedApi annotation
2025-07-21 21:06:38 +02:00
Mia Vucinic
b148ed62eb
remove getSelectionTypeForCurrentMode function since it is not used anymore
2025-07-21 21:06:38 +02:00
Mia Vucinic
7e78e27d6c
introduce Line class
2025-07-21 21:06:38 +02:00
Mia Vucinic
76dd95b62a
fix implementation for selection and visual selection marks
2025-07-21 21:06:38 +02:00
Mia Vucinic
504c98ab11
refactor vim scope
2025-07-21 21:06:38 +02:00
Mia Vucinic
d09af15eb2
refactor transaction interface
2025-07-21 21:06:38 +02:00
Mia Vucinic
cca73409bb
refactor read interface
2025-07-21 21:06:38 +02:00
Mia Vucinic
71599ff01c
rename highlighter to highlighter id
2025-07-21 21:06:38 +02:00
Mia Vucinic
2ec01d636b
rename onPlugin listeners and delete onReplaceCharChange listener
2025-07-21 21:06:38 +02:00
Mia Vucinic
494da27353
make forEachCaret use sorted carets by default
2025-07-21 21:06:38 +02:00
Mia Vucinic
f51d4af762
change functions to fields in caret read and change signatures of the text functions, update ReplaceWithRegister new api implementaion
2025-07-21 21:06:38 +02:00
Mia Vucinic
dd9c1fdbdc
get rid of register type
2025-07-21 21:06:38 +02:00
Mia Vucinic
3475171d49
Revert commits that remove VimBehaviourDiffers annotation and new lines in the replace with register plugin tests
2025-07-21 21:06:38 +02:00
Mia Vucinic
8a505fd807
fix replace with register extension implementation
2025-07-21 21:06:38 +02:00
Mia Vucinic
0f9e8d3ad5
get rid of unnecessary text manipulation options in transaction functions, change tests and delete previous (incomplete) implementation of these functions
2025-07-21 21:06:38 +02:00
Mia Vucinic
aecf4a8b87
attempt to have extensions disabled when the ideavim plugin is turned off
2025-07-21 21:06:38 +02:00
Mia Vucinic
9b91b16d88
move test for parseVariableValue function to service package and rename it
...
- since the parseVariableValue function was moved to variable service, tests for it are moved to a different file and package
2025-07-21 21:06:38 +02:00
Mia Vucinic
5a645f044d
move parseVariableValue to variable service
2025-07-21 21:06:38 +02:00
Mia Vucinic
9eb7bb48d0
put exception messages in the properties file
2025-07-21 21:06:38 +02:00
Mia Vucinic
1c33a4e651
modify getNullableVariableValue to work when editor, context or vimContext is not available
2025-07-21 21:06:38 +02:00
Mia Vucinic
fdb3b8814a
add initial implementation for changing modes
2025-07-21 21:06:38 +02:00
Mia Vucinic
6248b7a879
move getFocusedEditor to editor group and delete editor service
2025-07-21 21:06:38 +02:00
Mia Vucinic
c2203afebc
fix transaction and getVariable tests
2025-07-21 21:06:38 +02:00
Mia Vucinic
260b4d62d6
add implementation for highlighted yank plugin
2025-07-21 21:06:38 +02:00
Mia Vucinic
5ad55ad891
have mapping owner and listener owner passed as parameters in all scopes where necessary
2025-07-21 21:06:38 +02:00
Mia Vucinic
3b2785fc94
have dispose method called when the ideavim plugin is disabled and init when enabled
2025-07-21 21:06:38 +02:00
Mia Vucinic
bdaf0e2389
remove unnecessary options
2025-07-21 21:06:38 +02:00
Mia Vucinic
91fdc91f69
add proper implementation for put data functions
2025-07-21 21:06:38 +02:00
Mia Vucinic
764a45c99a
fix get variable test
2025-07-21 21:06:38 +02:00
Mia Vucinic
abbc46a3ed
add a mapping owner to vim scope
2025-07-21 21:06:38 +02:00
Mia Vucinic
98f8226246
add listener scope implementation
2025-07-21 21:06:38 +02:00
Mia Vucinic
d2f73a6102
add a listener owner to all listeners
2025-07-21 21:06:38 +02:00
Mia Vucinic
267313a2e0
get rid of editor as a constructor parameter in scopes
2025-07-21 21:06:38 +02:00
Mia Vucinic
55d2371574
add editor service
2025-07-21 21:06:38 +02:00
Mia Vucinic
3a63ed596f
add implementation with templates for getVariable function
2025-07-21 21:06:38 +02:00
Mia Vucinic
a5f379a943
add VimPlugin dsl annotation on editor scope
2025-07-21 21:06:38 +02:00
Mia Vucinic
24a0322b5a
add more functions to the read
2025-07-21 21:06:38 +02:00
Mia Vucinic
1a968f7721
move update caret to caret transaction
2025-07-21 21:06:38 +02:00
Mia Vucinic
02a8a84728
rename editor to vimEditor
2025-07-21 21:06:38 +02:00
Mia Vucinic
6a896664ed
introduce editor scope
2025-07-21 21:06:38 +02:00
Mia Vucinic
4d01f286f5
introduce caret scope
2025-07-21 21:06:38 +02:00
Mia Vucinic
9ab97106d7
make isRepeatable false by default
2025-07-21 21:06:38 +02:00
Mia Vucinic
f1cb9247d1
add mapping scope
2025-07-21 21:06:38 +02:00
Mia Vucinic
e946e74840
merge two mappings into one
2025-07-21 21:06:38 +02:00
Mia Vucinic
4db3e91d6a
huge refactoring
...
- In the `api` module:
- remove dependency on `vim-engine` module due to circular dependencies
- move implementations of scopes to the `vim-engine`
- add VimPluginDsl annotation to interfaces
- make VimScope abstract class
- remove ScopeBuilders file and move scope builders to the VimScope abstract class
- In the `vim-engine` module:
- add dependency on `api` module
- add implementation of scopes
- in VimInjector add new field - pluginService (reason for that is because functions from VimExtensionFacade are not available in the VimEngine)
2025-07-21 21:06:30 +02:00
Mia Vucinic
cf95ea1fc9
add a proper implementation for getVariableInt
2025-07-21 21:05:43 +02:00
Mia Vucinic
20fe881597
move scopes to packages
2025-07-21 21:05:43 +02:00
Mia Vucinic
617eee6237
hide instances of editor, context and VimPluginApi from the user
2025-07-21 21:05:43 +02:00
Mia Vucinic
86b9238e5f
have functions in VimPluginApi take editor and context as parameters instead of scopes
2025-07-21 21:05:43 +02:00
Mia Vucinic
4583b65a3e
remove VimInitPluginScope
2025-07-21 21:05:43 +02:00
Mia Vucinic
a283ee02ab
rename VimPluginScope to VimScope
2025-07-21 21:05:43 +02:00
Mia Vucinic
5ca3af6643
remove VimBehaviorDiffers annotation from tests where that is no longer the case
2025-07-21 21:05:43 +02:00
Mia Vucinic
08d0bcd6ec
fix tests to match vim behavior
2025-07-21 21:05:43 +02:00
Mia Vucinic
8ea9b29e5e
first api draft
2025-07-21 21:05:43 +02:00
Matt Ellis
7d44c87873
Move ex prompt character out of API
...
The prompt character is now implemented as a custom view, only in the UI, and not inserted directly into the text. This simplifies management of the text (and removes/fixes an exception due to manually handling prompt offset), and also allows highlighting of the prompt character.
2025-07-21 18:43:28 +03:00
Matt Ellis
b67c3d7bab
Add extra logging details
...
Randomly hit this condition, but don't know how
2025-07-21 18:43:28 +03:00
Matt Ellis
261b910845
Add tests for rendering control characters
2025-07-21 18:43:28 +03:00
Matt Ellis
ac15372901
Use actualText instead of visibleText
2025-07-21 18:43:28 +03:00
Matt Ellis
2a603a681c
Simplify implementation of VimInputInterceptor
2025-07-21 18:43:28 +03:00
Matt Ellis
a208ad7598
Remove unnecessary ex cmdline without shortcuts
...
We don't need a secondary UI element hierarchy without shortcuts because the shortcuts are no longer handled by the UI, but by the key handler. This secondary instance was used by modal input, and this is also managed by the key handler, consuming key strokes first if a modal input prompt is active
2025-07-21 18:43:28 +03:00
Matt Ellis
dde287073e
Only create modal input panel when needed
2025-07-21 18:43:28 +03:00
Matt Ellis
0e07f0c78e
Show special keys in a different colour
...
Mimics Vim's `SpecialKey` highlight. Currently uses IntelliJ's "Whitespaces" colour, which seems like the best fit.
2025-07-21 18:43:28 +03:00
Matt Ellis
c0f412547f
Maintain narrow caret width for non-printable chars
2025-07-21 18:43:28 +03:00
Matt Ellis
ddf1612d11
Fix scrolling issues editing long command lines
...
Instead of replacing the whole string, which will reset scroll position, delete or insert the required text/offsets, and let the text field manage scroll position
2025-07-21 18:43:28 +03:00
Matt Ellis
bf32c5d5b5
Render control characters in ex cmdline
2025-07-21 18:43:28 +03:00
Matt Ellis
6e6cd722d4
Support insertion of control chars in command line
...
Fixes VIM-3907, fixes VIM-239
2025-07-21 18:43:28 +03:00
Matt Ellis
356b4ed8c4
Remove unnecessary mouse listener
2025-07-21 18:43:28 +03:00
Matt Ellis
84a3d0457d
Simplify and document keymap handling
...
All key handling is done with the Vim pipeline, so make sure we don't have any Swing key bindings registered. This is quite confusing, so document what's going on
2025-07-21 18:43:28 +03:00
Matt Ellis
d4f4f7661c
Remove unnecessary action registration
...
We don't have any custom actions, so there's nothing to register
2025-07-21 18:43:28 +03:00
Matt Ellis
0e9c3d9d87
Replace constants with enum
2025-07-21 18:43:28 +03:00
Matt Ellis
654b95147b
Simplify command line keystroke dispatching
...
Pass the keystroke to the key handler directly rather than relying on the superclass to call a default action handler that would do the dispatching
2025-07-21 18:43:28 +03:00
Matt Ellis
a2fb8acd47
Remove obsolete ExShortcutKeyAction
...
All CMD_LINE actions are registered the same as other Vim commands, which means all shortcuts are already registered with the IDE's action system. The existing VimShortcutKeyAction class will dispatch shortcuts to the key handler, where they will be handled as real CMD_LINE actions.
2025-07-21 18:43:28 +03:00
Matt Ellis
b284deb1b7
Extract some state and accessors out of text field
...
Encapsulate text field a little better
2025-07-21 18:43:28 +03:00
Matt Ellis
56e6ecca89
Update history command and add tests
2025-07-21 18:43:28 +03:00
Matt Ellis
055a3bc910
Remove deprecated and unused history related code
2025-07-21 18:43:28 +03:00
Matt Ellis
e2b50809ac
Fix warning of renamed parameter
2025-07-21 18:43:28 +03:00
Matt Ellis
40ff54c47f
Remove non-Vim key bindings from ex command line
...
Shift+Insert and Alt+V for paste. These are non-standard, not documented and can be added with `cmap` if required
2025-07-21 18:43:28 +03:00
Matt Ellis
1638bc304d
Improve input method highlighting in ex field
2025-07-21 18:43:28 +03:00
Alex Plate
f12b0b04f6
Fix the contribution name of Jakub
2025-07-18 16:06:45 +03:00
Alex Plate
ea4fc85e5b
Add a new plugin for the verification
2025-07-18 16:04:00 +03:00
Alex Plate
4af8fc1868
Update TC configuration to run only needed tests
2025-07-18 16:04:00 +03:00
Alex Plate
1482ac0335
Fix(VIM-3970): Get rid of VimStandalonePluginUpdateChecker
2025-07-18 16:03:59 +03:00
IdeaVim Bot
79168b00f3
Add zuberol to contributors list
2025-07-18 09:03:36 +00:00
zuberol
07990847c6
Merge pull request #1223 from JetBrains/feat/VIM-3791-nerdtree-gg-G-jumps
...
Feat(VIM-3791): support for "G" and "gg" motions inside the NERDtree
2025-07-17 11:44:07 +02:00
dependabot[bot]
8c40e19c44
Bump org.mockito.kotlin:mockito-kotlin from 5.4.0 to 6.0.0
...
Bumps [org.mockito.kotlin:mockito-kotlin](https://github.com/mockito/mockito-kotlin ) from 5.4.0 to 6.0.0.
- [Release notes](https://github.com/mockito/mockito-kotlin/releases )
- [Commits](https://github.com/mockito/mockito-kotlin/compare/5.4.0...v6.0.0 )
---
updated-dependencies:
- dependency-name: org.mockito.kotlin:mockito-kotlin
dependency-version: 6.0.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-07-16 19:15:13 +03:00
dependabot[bot]
371769c508
Bump io.ktor:ktor-client-cio from 3.2.1 to 3.2.2
...
Bumps [io.ktor:ktor-client-cio](https://github.com/ktorio/ktor ) from 3.2.1 to 3.2.2.
- [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.2.1...3.2.2 )
---
updated-dependencies:
- dependency-name: io.ktor:ktor-client-cio
dependency-version: 3.2.2
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-07-16 19:14:55 +03:00
dependabot[bot]
7ee34d0b27
Bump io.ktor:ktor-client-cio from 3.2.0 to 3.2.1
...
Bumps [io.ktor:ktor-client-cio](https://github.com/ktorio/ktor ) from 3.2.0 to 3.2.1.
- [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.2.0...3.2.1 )
---
updated-dependencies:
- dependency-name: io.ktor:ktor-client-cio
dependency-version: 3.2.1
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-07-09 18:57:15 +03:00
dependabot[bot]
d1ec7d617d
Bump org.junit.jupiter:junit-jupiter-engine from 5.13.2 to 5.13.3
...
Bumps [org.junit.jupiter:junit-jupiter-engine](https://github.com/junit-team/junit-framework ) from 5.13.2 to 5.13.3.
- [Release notes](https://github.com/junit-team/junit-framework/releases )
- [Commits](https://github.com/junit-team/junit-framework/compare/r5.13.2...r5.13.3 )
---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter-engine
dependency-version: 5.13.3
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-07-09 18:56:55 +03:00
dependabot[bot]
898fd0537d
Bump org.junit.jupiter:junit-jupiter from 5.13.2 to 5.13.3
...
Bumps [org.junit.jupiter:junit-jupiter](https://github.com/junit-team/junit-framework ) from 5.13.2 to 5.13.3.
- [Release notes](https://github.com/junit-team/junit-framework/releases )
- [Commits](https://github.com/junit-team/junit-framework/compare/r5.13.2...r5.13.3 )
---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter
dependency-version: 5.13.3
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-07-09 18:56:22 +03:00
Xinhe Wang
353603b546
Fix(VIM-3266): Set FileSaveCloseAction to OTHER_SELF_SYNCHRONIZED
2025-07-07 10:55:53 +03:00
Xinhe Wang
2f7f0dcacb
Fix(VIM-3044): correct the behavior of I in (linewise) Visual mode
...
For visual selections spanning multiple lines, keep caret position
if it's on the first line. Otherwise move the caret to the start of
the first selected line.
2025-07-07 10:55:30 +03:00
Xinhe Wang
af9023af4b
Rename insertBeforeCursor and insertAfterCursor helpers
...
The terminology used in IntelliJ is "caret".
2025-07-07 10:55:30 +03:00
Xinhe Wang
c393c902b2
Fix(VIM-2375): do not save file with ZQ
...
ZQ is defined to `Quit without checking for changes (same as ":q!").`
2025-07-04 14:26:56 +03:00
Xinhe Wang
c355cb7ed7
Make VimChangeGroup::changeCaseMotion not accept non-Motion argument
...
Error is logged if `ChangeCaseMotion` actions receive non-`Motion` args
2025-07-03 17:25:38 +03:00
Xinhe Wang
0803a1c195
Fix(VIM-2413): correct the range of line-wise case change commands
...
The start of the range is the leftmost non-whitespace character
OR the current position, whichever is closer to the left.
2025-07-03 17:25:38 +03:00
Xinhe Wang
5208412b46
Refine Argument.Motion::isLineWiseMotion and VimMotionGroupBase::getMotionRange
...
This does not change any actual behavior.
2025-07-03 17:25:38 +03:00
IdeaVim Bot
78c463cf7b
Add Xinhe Wang to contributors list
2025-07-03 09:02:01 +00:00
dependabot[bot]
8f5a44bf44
Bump org.junit.vintage:junit-vintage-engine from 5.13.1 to 5.13.2
...
Bumps [org.junit.vintage:junit-vintage-engine](https://github.com/junit-team/junit-framework ) from 5.13.1 to 5.13.2.
- [Release notes](https://github.com/junit-team/junit-framework/releases )
- [Commits](https://github.com/junit-team/junit-framework/compare/r5.13.1...r5.13.2 )
---
updated-dependencies:
- dependency-name: org.junit.vintage:junit-vintage-engine
dependency-version: 5.13.2
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-07-02 19:19:55 +03:00
Xinhe Wang
2377408028
Fix(VIM-2142): support gU and gu in VISUAL mode
...
Note that this implementation assumes that the 'gU' / 'gu' command in
visual mode is equivalent to 'U' / 'u'. While 'v_gU' and 'v_gu' are not
explicitly documented in Vim help, we treat these commands as identical
based on observed behavior, without examining Vim's source code.
2025-07-02 18:56:29 +03:00
Alex Plate
246425b1fb
Mark IdeaVim as a plugin that supports vim configuration
...
In this way, we'll be able to actively promote IdeaVim as a suggested plugin in the IDE.
GO-17806
2025-06-27 19:43:08 +03:00
Jakub
4eadfc1fba
feat: support for "G" and "gg" motions inside the NERDtree
2025-06-27 13:51:44 +02:00
dependabot[bot]
d3c945cd6d
Bump org.junit.jupiter:junit-jupiter-api from 5.13.1 to 5.13.2
...
Bumps [org.junit.jupiter:junit-jupiter-api](https://github.com/junit-team/junit-framework ) from 5.13.1 to 5.13.2.
- [Release notes](https://github.com/junit-team/junit-framework/releases )
- [Commits](https://github.com/junit-team/junit-framework/compare/r5.13.1...r5.13.2 )
---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter-api
dependency-version: 5.13.2
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-06-25 19:35:31 +03:00
dependabot[bot]
2ac46129ac
Bump org.junit.jupiter:junit-jupiter-params from 5.13.1 to 5.13.2
...
Bumps [org.junit.jupiter:junit-jupiter-params](https://github.com/junit-team/junit-framework ) from 5.13.1 to 5.13.2.
- [Release notes](https://github.com/junit-team/junit-framework/releases )
- [Commits](https://github.com/junit-team/junit-framework/compare/r5.13.1...r5.13.2 )
---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter-params
dependency-version: 5.13.2
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-06-25 19:14:44 +03:00
dependabot[bot]
c8d40be1ce
Bump org.junit.jupiter:junit-jupiter from 5.13.1 to 5.13.2
...
Bumps [org.junit.jupiter:junit-jupiter](https://github.com/junit-team/junit-framework ) from 5.13.1 to 5.13.2.
- [Release notes](https://github.com/junit-team/junit-framework/releases )
- [Commits](https://github.com/junit-team/junit-framework/compare/r5.13.1...r5.13.2 )
---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter
dependency-version: 5.13.2
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-06-25 19:14:31 +03:00
dependabot[bot]
97159a33fe
Bump org.jetbrains.kotlin:kotlin-stdlib from 2.1.21 to 2.2.0
...
Bumps [org.jetbrains.kotlin:kotlin-stdlib](https://github.com/JetBrains/kotlin ) from 2.1.21 to 2.2.0.
- [Release notes](https://github.com/JetBrains/kotlin/releases )
- [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md )
- [Commits](https://github.com/JetBrains/kotlin/compare/v2.1.21...v2.2.0 )
---
updated-dependencies:
- dependency-name: org.jetbrains.kotlin:kotlin-stdlib
dependency-version: 2.2.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-06-25 19:13:44 +03:00
Alex Plate
861d585102
Also, specify new task names in build scripts
2025-06-25 18:43:01 +03:00
Alex Plate
126925b4eb
Fix long running and property tests
...
Because of some changes, if we define the test using `testIde` registering, they're not executed properly and don't work.
Now, we don't exclude these tests from the main test execution, so they have to be excluded explicitly
2025-06-25 18:33:50 +03:00
Alex Plate
9302c0a057
Use intellij.spellchecker module for 2025.2+ builds of IJ
2025-06-25 17:35:46 +03:00
Alex Plate
ddea72f803
Update kotlin version to 2.2.0
...
This is required to support IJ 2025.2 platform, which uses 2.2.0 for compilation.
2025-06-25 17:23:54 +03:00
Alex Plate
e991aa922c
Try to increase timeout for UI tests for Rider
2025-06-24 17:24:56 +03:00
dependabot[bot]
5ffaa7b084
Bump org.junit.jupiter:junit-jupiter-api from 5.13.0 to 5.13.1
...
Bumps [org.junit.jupiter:junit-jupiter-api](https://github.com/junit-team/junit5 ) from 5.13.0 to 5.13.1.
- [Release notes](https://github.com/junit-team/junit5/releases )
- [Commits](https://github.com/junit-team/junit5/compare/r5.13.0...r5.13.1 )
---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter-api
dependency-version: 5.13.1
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-06-18 19:10:53 +03:00
dependabot[bot]
0d4183129d
Bump org.eclipse.jgit:org.eclipse.jgit.ssh.apache
...
Bumps [org.eclipse.jgit:org.eclipse.jgit.ssh.apache](https://github.com/eclipse-jgit/jgit ) from 7.2.1.202505142326-r to 7.3.0.202506031305-r.
- [Commits](https://github.com/eclipse-jgit/jgit/compare/v7.2.1.202505142326-r...v7.3.0.202506031305-r )
---
updated-dependencies:
- dependency-name: org.eclipse.jgit:org.eclipse.jgit.ssh.apache
dependency-version: 7.3.0.202506031305-r
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-06-18 19:10:13 +03:00
dependabot[bot]
8a7fbac389
Bump org.junit.jupiter:junit-jupiter-params from 5.13.0 to 5.13.1
...
Bumps [org.junit.jupiter:junit-jupiter-params](https://github.com/junit-team/junit5 ) from 5.13.0 to 5.13.1.
- [Release notes](https://github.com/junit-team/junit5/releases )
- [Commits](https://github.com/junit-team/junit5/compare/r5.13.0...r5.13.1 )
---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter-params
dependency-version: 5.13.1
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-06-18 18:53:18 +03:00
dependabot[bot]
dbab006f83
Bump io.ktor:ktor-client-content-negotiation from 3.1.3 to 3.2.0
...
Bumps [io.ktor:ktor-client-content-negotiation](https://github.com/ktorio/ktor ) from 3.1.3 to 3.2.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.1.3...3.2.0 )
---
updated-dependencies:
- dependency-name: io.ktor:ktor-client-content-negotiation
dependency-version: 3.2.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-06-18 18:52:47 +03:00
dependabot[bot]
3149de7b73
Bump org.junit.vintage:junit-vintage-engine from 5.13.0 to 5.13.1
...
Bumps [org.junit.vintage:junit-vintage-engine](https://github.com/junit-team/junit5 ) from 5.13.0 to 5.13.1.
- [Release notes](https://github.com/junit-team/junit5/releases )
- [Commits](https://github.com/junit-team/junit5/compare/r5.13.0...r5.13.1 )
---
updated-dependencies:
- dependency-name: org.junit.vintage:junit-vintage-engine
dependency-version: 5.13.1
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-06-11 18:30:27 +03:00
dependabot[bot]
28a71f0e09
Bump com.google.devtools.ksp:symbol-processing-api
...
Bumps [com.google.devtools.ksp:symbol-processing-api](https://github.com/google/ksp ) from 2.1.21-2.0.1 to 2.1.21-2.0.2.
- [Release notes](https://github.com/google/ksp/releases )
- [Commits](https://github.com/google/ksp/compare/2.1.21-2.0.1...2.1.21-2.0.2 )
---
updated-dependencies:
- dependency-name: com.google.devtools.ksp:symbol-processing-api
dependency-version: 2.1.21-2.0.2
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-06-11 18:30:20 +03:00
dependabot[bot]
fc7d4e614b
Bump org.junit.jupiter:junit-jupiter from 5.13.0 to 5.13.1
...
Bumps [org.junit.jupiter:junit-jupiter](https://github.com/junit-team/junit5 ) from 5.13.0 to 5.13.1.
- [Release notes](https://github.com/junit-team/junit5/releases )
- [Commits](https://github.com/junit-team/junit5/compare/r5.13.0...r5.13.1 )
---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter
dependency-version: 5.13.1
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-06-11 18:30:12 +03:00
dependabot[bot]
5b1aade876
Bump org.junit.jupiter:junit-jupiter-engine from 5.13.0 to 5.13.1
...
Bumps [org.junit.jupiter:junit-jupiter-engine](https://github.com/junit-team/junit5 ) from 5.13.0 to 5.13.1.
- [Release notes](https://github.com/junit-team/junit5/releases )
- [Commits](https://github.com/junit-team/junit5/compare/r5.13.0...r5.13.1 )
---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter-engine
dependency-version: 5.13.1
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-06-11 18:29:52 +03:00
IdeaVim Bot
ef2d87ff6b
Add Thomas Canava to contributors list
2025-06-07 09:02:03 +00:00
Alex Plate
75cd79312c
Which-Key plugin don't use VimShortcutKeyAction anymore, so we can hide it
...
The change was here: 2a1191a260
2025-06-06 17:02:35 +03:00
Thomas Canava
b868e0cb81
test: Update tests to match new keys
2025-06-06 15:34:44 +03:00
Thomas Canava
30c972ee1e
fix: Vim macro not working with arrows
2025-06-06 15:34:44 +03:00
761f6f5fb9
Implement pumvisible() function
2025-06-06 15:21:26 +03:00
Matt Ellis
1e3738314a
Add support for := to print line number
...
Fixes VIM-3921
2025-06-06 15:15:13 +03:00
dependabot[bot]
f47388175b
Bump org.junit.jupiter:junit-jupiter-api from 5.12.2 to 5.13.0
...
Bumps [org.junit.jupiter:junit-jupiter-api](https://github.com/junit-team/junit5 ) from 5.12.2 to 5.13.0.
- [Release notes](https://github.com/junit-team/junit5/releases )
- [Commits](https://github.com/junit-team/junit5/compare/r5.12.2...r5.13.0 )
---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter-api
dependency-version: 5.13.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-06-04 19:40:36 +03:00
dependabot[bot]
779de5e29c
Bump org.junit.jupiter:junit-jupiter-params from 5.12.2 to 5.13.0
...
Bumps [org.junit.jupiter:junit-jupiter-params](https://github.com/junit-team/junit5 ) from 5.12.2 to 5.13.0.
- [Release notes](https://github.com/junit-team/junit5/releases )
- [Commits](https://github.com/junit-team/junit5/compare/r5.12.2...r5.13.0 )
---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter-params
dependency-version: 5.13.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-06-04 19:23:51 +03:00
dependabot[bot]
1f0cca17cf
Bump org.junit.jupiter:junit-jupiter from 5.12.2 to 5.13.0
...
Bumps [org.junit.jupiter:junit-jupiter](https://github.com/junit-team/junit5 ) from 5.12.2 to 5.13.0.
- [Release notes](https://github.com/junit-team/junit5/releases )
- [Commits](https://github.com/junit-team/junit5/compare/r5.12.2...r5.13.0 )
---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter
dependency-version: 5.13.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-06-04 19:06:42 +03:00
dependabot[bot]
d09592824c
Bump org.junit.jupiter:junit-jupiter-engine from 5.12.2 to 5.13.0
...
Bumps [org.junit.jupiter:junit-jupiter-engine](https://github.com/junit-team/junit5 ) from 5.12.2 to 5.13.0.
- [Release notes](https://github.com/junit-team/junit5/releases )
- [Commits](https://github.com/junit-team/junit5/compare/r5.12.2...r5.13.0 )
---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter-engine
dependency-version: 5.13.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-06-04 19:06:27 +03:00
dependabot[bot]
725d60a56e
Bump org.junit.vintage:junit-vintage-engine from 5.12.2 to 5.13.0
...
Bumps [org.junit.vintage:junit-vintage-engine](https://github.com/junit-team/junit5 ) from 5.12.2 to 5.13.0.
- [Release notes](https://github.com/junit-team/junit5/releases )
- [Commits](https://github.com/junit-team/junit5/compare/r5.12.2...r5.13.0 )
---
updated-dependencies:
- dependency-name: org.junit.vintage:junit-vintage-engine
dependency-version: 5.13.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-06-04 19:06:01 +03:00
Alex Plate
77a106f9c6
Throw ProcessCanceledException instead of silently ignoring it in VimTypedActionHandler
...
This is a requirement from the platform
2025-05-30 19:41:41 +03:00
Alex Plate
1f66bdf5ed
Refactor tests in ChangeActionTest.kt for better readability by reformatting doTest calls and improving code style consistency.
2025-05-30 15:12:43 +03:00
Alex Plate
7c4cfe44ae
Remove unused MutableBoolean data class from KeyHandler
2025-05-30 14:20:25 +03:00
Alex Plate
b58c1a42d2
Remove unused mappingCompleted parameter from handleKey methods
...
This updates method signatures and removes the redundant parameter throughout the codebase. Adds a deprecated overload for backward compatibility.
2025-05-30 14:16:40 +03:00
Alex Plate
02fab15aa9
Add tests that verify the behaviour with oldundo flag
2025-05-28 16:45:06 +03:00
Alex Plate
6c9d85cce0
Add a big number of undo tests for macros
...
This is a part of work for VIM-3935. Since we'll have to change the `CommandProcessor` execution, this may affect the "undo" command behavior. To ensure the stability, we add undo tests before making a refactoring.
2025-05-28 12:40:56 +03:00
Alex Plate
360080e8c0
Enable some disabled tests
2025-05-28 12:14:08 +03:00
Alex Plate
e41831798e
Add a big number of undo tests for ex commands
...
This is a part of work for VIM-3935. Since we'll have to change the `CommandProcessor` execution, this may affect the "undo" command behavior. To ensure the stability, we add undo tests before making a refactoring.
2025-05-28 11:48:38 +03:00
Alex Plate
c93c9e539c
Add a big number of undo tests
...
This is a part of work for VIM-3935. Since we'll have to change the `CommandProcessor` execution, this may affect the "undo" command behavior. To ensure the stability, we add undo tests before making a refactoring.
2025-05-28 09:46:05 +03:00
Alex Plate
149e3f92ae
Update .gitignore to exclude local Claude settings file
2025-05-28 09:40:53 +03:00
Alex Plate
233bad0070
Turn off TeamCity emulation when running tests locally
...
IJ platform runs additional project leak checks when it detects teamcity run. It was quite complicated to understand why tests were failing on TC, but not locally, so I decided to enable TeamCity emulation to have these checks locally.
However, it turned out that in addition to that, an IJ platform also collects CPU statistics on TeamCity, which may take around a minute. This dramatically affects the performance of local execution. So, this property is turned off.
2025-05-28 09:38:54 +03:00
Alex Plate
b44308c9ef
Remove skipping of command execution if it happens not on the EDT
...
This requirement was a fix for VIM-318 introduced in ac654d70fa .
However, now we always run IdeaVim on EDT. Also, this check prevents the migration of IdeaVim to the background thread: VIM-3935
2025-05-27 18:30:16 +03:00
Alex Plate
8c612afed6
VIM-3929: Re-enable IdeaVim in diff editors
2025-05-27 13:07:43 +03:00
Alex Plate
2c057e937a
Fix(VIM-3929): IdeaVim is disabled in non-file based editors of IDE
...
This change should fix issues in Rider evaluate window and other places.
However, we may face small issues as IdeaVim will be disabled in more places than it used to be. However, this approach looks safer as before that we were disabling some random keys
2025-05-23 19:34:17 +03:00
Alex Plate
2548008116
Add missing switches to EDT during test
2025-05-23 17:14:26 +03:00
Alex Plate
c43eb1212e
Bring back CommandState to fix the compatibility with the external plugins
2025-05-23 16:53:01 +03:00
Alex Plate
4c11399b43
Bring the compatibility with the latest EAP version
...
Removed a single test on JSON. There are always problems with the json plugin in IJ. In 2025.2 EAP it was unbundled.
2025-05-23 16:48:37 +03:00
Alex Plate
18f3ba6fe1
Rethrow ProcessCancelledException
2025-05-23 16:22:04 +03:00
Alex Plate
2435136734
Remove vimscript roadmap file
2025-05-23 16:00:37 +03:00
Alex Plate
4d2a7df6b4
Cleanup readme file
2025-05-23 13:19:46 +03:00
dependabot[bot]
b04e90e93c
Bump org.jetbrains.intellij.platform from 2.5.0 to 2.6.0
...
Bumps org.jetbrains.intellij.platform from 2.5.0 to 2.6.0.
---
updated-dependencies:
- dependency-name: org.jetbrains.intellij.platform
dependency-version: 2.6.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-05-21 19:02:43 +03:00
dependabot[bot]
4c88359f46
Bump org.eclipse.jgit:org.eclipse.jgit.ssh.apache
...
Bumps [org.eclipse.jgit:org.eclipse.jgit.ssh.apache](https://github.com/eclipse-jgit/jgit ) from 7.2.0.202503040940-r to 7.2.1.202505142326-r.
- [Commits](https://github.com/eclipse-jgit/jgit/compare/v7.2.0.202503040940-r...v7.2.1.202505142326-r )
---
updated-dependencies:
- dependency-name: org.eclipse.jgit:org.eclipse.jgit.ssh.apache
dependency-version: 7.2.1.202505142326-r
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-05-21 19:02:23 +03:00
Alex Plate
8e136bf769
Update list of supported IDEs
2025-05-21 12:31:29 +03:00
Alex Plate
be73e662bd
Change wording to JetBrains IDEs on the readme
...
This is a new proper name for the ide family
2025-05-21 12:30:46 +03:00
dependabot[bot]
ee70ecd92e
Bump com.google.devtools.ksp:symbol-processing-api
...
Bumps [com.google.devtools.ksp:symbol-processing-api](https://github.com/google/ksp ) from 2.1.20-2.0.1 to 2.1.21-2.0.1.
- [Release notes](https://github.com/google/ksp/releases )
- [Commits](https://github.com/google/ksp/compare/2.1.20-2.0.1...2.1.21-2.0.1 )
---
updated-dependencies:
- dependency-name: com.google.devtools.ksp:symbol-processing-api
dependency-version: 2.1.21-2.0.1
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-05-14 18:28:17 +03:00
dependabot[bot]
f3cf3f03b1
Bump org.jetbrains.kotlin:kotlin-stdlib from 2.1.20 to 2.1.21
...
Bumps [org.jetbrains.kotlin:kotlin-stdlib](https://github.com/JetBrains/kotlin ) from 2.1.20 to 2.1.21.
- [Release notes](https://github.com/JetBrains/kotlin/releases )
- [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md )
- [Commits](https://github.com/JetBrains/kotlin/compare/v2.1.20...v2.1.21 )
---
updated-dependencies:
- dependency-name: org.jetbrains.kotlin:kotlin-stdlib
dependency-version: 2.1.21
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-05-14 18:28:01 +03:00
dependabot[bot]
4c46d734cc
Bump io.ktor:ktor-client-core from 3.1.2 to 3.1.3
...
Bumps [io.ktor:ktor-client-core](https://github.com/ktorio/ktor ) from 3.1.2 to 3.1.3.
- [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.1.2...3.1.3 )
---
updated-dependencies:
- dependency-name: io.ktor:ktor-client-core
dependency-version: 3.1.3
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-05-14 18:27:52 +03:00
Alex Plate
e932fe2059
Add com.ugarosa.idea.edgemotion as a dependant plugin
2025-05-14 12:02:06 +03:00
Alex Plate
d3f248d2f9
Refactor reset to avoid service initialization during the dispose
2025-05-09 19:04:10 +02:00
Alex Plate
f623c1eef9
Fix(VIM-3784): Integrate a notification that will warn new GoLand users that they use IdeaVim
2025-05-09 18:39:17 +02:00
Alex Plate
f03734e235
Fix(VIM-3786): Disable IdeaVim in the AI assistant
2025-05-09 16:31:44 +02:00
Alex Plate
85acdc2e24
Fix(VIM-3881): Execute undo/redo directly for the remote dev scenarios
2025-05-09 16:20:27 +02:00
Alex Plate
afa70e20e1
Correct the rider test
2025-05-09 15:27:43 +02:00
Alex Plate
73f3d328c5
Try to wait longer till Rider will start
2025-05-09 13:51:40 +02:00
Alex Plate
df3224b02d
Start Rider with printing the logs to the output
2025-05-09 13:34:51 +02:00
Alex Plate
0e56a4e86e
Remove background Rider start to see the problem when loading
2025-05-09 13:32:22 +02:00
Alex Plate
66ce949cc5
Do not use installer for Rider tests
2025-05-09 13:00:50 +02:00
Alex Plate
ab635972cc
Remove a lot of deprecated methods in IdeaVim
2025-05-09 12:58:47 +02:00
Alex Plate
7fbf321cbd
Do not use installer for Rider tests
2025-05-09 12:17:13 +02:00
Alex Plate
d4c24fcc7f
Remove the outdated file with implemented vimscript functions
2025-05-09 12:17:12 +02:00
Matt Ellis
fd5af31247
Report cannot track intention action
...
If an alt+enter intention is invoked from Search Everywhere, IdeaVim's Track Action ID shows "Cannot detect action ID" instead of explaining that there is no action ID.
Relates to VIM-2541
2025-05-09 12:11:11 +02:00
Matt Ellis
df74b75570
Stop switching fragment editors to Insert mode
...
Fixes VIM-1217
2025-05-09 12:10:10 +02:00
Vladimir Parfinenko
c74163e917
Fix case settings in replacement string, VIM-3510
...
^VIM-3510 fixed
2025-05-09 12:08:01 +02:00
Vladimir Parfinenko
d38b2885ba
Fix missing backreferences in replacement string, VIM-3895
...
^VIM-3895 fixed
2025-05-09 12:08:01 +02:00
Vladimir Parfinenko
61666d1cfd
Always print float numbers using period as a decimal separator, VIM-3894
...
^VIM-3894 fixed
2025-05-09 12:02:56 +02:00
Alex Plate
35ddb21fe0
Fix the deprecated method use
2025-05-09 11:09:11 +02:00
Alex Plate
ccdd708907
Get rid of the old way of action execution
2025-05-08 18:22:40 +02:00
Alex Plate
73e61e0955
Get rid of hacks for Rider regarding esc and enter
2025-05-08 17:49:15 +02:00
Alex Plate
c3fa093d32
Upgrade the code to use the 2025.1 functions
2025-05-08 17:47:35 +02:00
Alex Plate
a94d509441
Remove other code deprecations
2025-05-08 17:33:41 +02:00
Alex Plate
12fd5bc79a
Remove deprecated functions
2025-05-08 17:20:58 +02:00
Alex Plate
235368c449
Remove old comments regarding vim-engine extraction
2025-05-08 17:20:00 +02:00
Alex Plate
57ecd25640
Refactor MacKeyRepeat.kt in order to remove the deprecated methods use
2025-05-08 17:18:17 +02:00
Alex Plate
09d37ebd38
Convert MacKeyRepeat to kotlin
2025-05-08 17:11:39 +02:00
Alex Plate
81bc3f1f1b
Rename .java to .kt
2025-05-08 17:11:39 +02:00
Alex Plate
9e3058dace
Code cleanup: remove some deprecations from the source code
2025-05-08 17:04:25 +02:00
Alex Plate
6819d4f96c
Add Mia Vucinic to the contributors list
2025-05-08 13:41:11 +02:00
IdeaVim Bot
222e1471b4
Add vumi19 to contributors list
2025-05-08 09:01:43 +00:00
M. V
35b9eaae3e
VIM-2263 Add a not-null assertion operator to getRegister function to since assertions won't be executed if register does not exist
2025-05-07 18:54:26 +02:00
M. V
4eee1d3192
VIM-2263 Add additional tests that check the content of the registers
2025-05-07 18:54:26 +02:00
M. V
3c2e2bfb68
VIM-3771 Add a smile command with python ascii art
2025-05-07 18:54:12 +02:00
M. V
3f75b6db6d
VIM-3771 Add a smile command with java ascii art
2025-05-07 18:54:12 +02:00
M. V
5fd318bf88
VIM-3771 Add a smile command with kotlin and default ascii art
2025-05-07 18:54:12 +02:00
M. V
6d34c70a9d
VIM-3771 Rename VirtualFile.kt to VimVirtualFile.kt and add a new property extension
2025-05-07 18:54:12 +02:00
dependabot[bot]
3ffe8b68f7
Bump io.ktor:ktor-serialization-kotlinx-json from 3.1.2 to 3.1.3
...
Bumps [io.ktor:ktor-serialization-kotlinx-json](https://github.com/ktorio/ktor ) from 3.1.2 to 3.1.3.
- [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.1.2...3.1.3 )
---
updated-dependencies:
- dependency-name: io.ktor:ktor-serialization-kotlinx-json
dependency-version: 3.1.3
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-05-07 18:30:51 +02:00
dependabot[bot]
d09fc538f7
Bump io.ktor:ktor-client-cio from 3.1.2 to 3.1.3
...
Bumps [io.ktor:ktor-client-cio](https://github.com/ktorio/ktor ) from 3.1.2 to 3.1.3.
- [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.1.2...3.1.3 )
---
updated-dependencies:
- dependency-name: io.ktor:ktor-client-cio
dependency-version: 3.1.3
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-05-07 18:30:20 +02:00
dependabot[bot]
8d4d6b0f27
Bump io.ktor:ktor-client-content-negotiation from 3.1.2 to 3.1.3
...
Bumps [io.ktor:ktor-client-content-negotiation](https://github.com/ktorio/ktor ) from 3.1.2 to 3.1.3.
- [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.1.2...3.1.3 )
---
updated-dependencies:
- dependency-name: io.ktor:ktor-client-content-negotiation
dependency-version: 3.1.3
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-05-07 18:13:19 +02:00
dependabot[bot]
f9f5f039db
Bump com.google.devtools.ksp:symbol-processing-api
...
Bumps [com.google.devtools.ksp:symbol-processing-api](https://github.com/google/ksp ) from 2.1.20-2.0.0 to 2.1.20-2.0.1.
- [Release notes](https://github.com/google/ksp/releases )
- [Commits](https://github.com/google/ksp/compare/2.1.20-2.0.0...2.1.20-2.0.1 )
---
updated-dependencies:
- dependency-name: com.google.devtools.ksp:symbol-processing-api
dependency-version: 2.1.20-2.0.1
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-05-07 17:57:47 +02:00
dependabot[bot]
cacb63a525
Bump io.ktor:ktor-client-auth from 3.1.2 to 3.1.3
...
Bumps [io.ktor:ktor-client-auth](https://github.com/ktorio/ktor ) from 3.1.2 to 3.1.3.
- [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.1.2...3.1.3 )
---
updated-dependencies:
- dependency-name: io.ktor:ktor-client-auth
dependency-version: 3.1.3
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-05-07 17:56:32 +02:00
Alex Plate
518eac1476
Fix the authors update script
2025-05-06 14:28:59 +02:00
IdeaVim Bot
ad18667520
Add Ivan Yarkov to contributors list
2025-05-06 09:01:46 +00:00
Alex Plate
5bf2b51c5d
Add a comment about the change
2025-05-05 17:00:33 +02:00
Ivan.Yarkov
5959fc2824
RIDER-123506 don't insert line break on enter in insert mode for Rider
2025-05-05 16:59:57 +02:00
Alex Plate
a9f9ae3727
Fix(VIM-3786): Make a workaround to fix shift-enter in AI chat
2025-04-29 19:36:05 +03:00
Alex Plate
8bfcd13c33
Fix(VIM-3882): Register the VimShortcutAction to the editor component instead of its wrapper
...
It turned out the editor.getComponent returns not the editorComponent, but the parent of the component. This caused no problems until the AI plugin started to register enter/esc on the editor component directly. Since an editor component is more specific than the component with vim actions, the vim shortcuts were suppressed.
In this change, we start to register shortcuts on the editor component directly, allowing them to properly work on the same level as AI shortcuts. This is also the level where the shortcuts are supposed to be registered.
2025-04-28 17:55:18 +03:00
Alex Plate
2cd5c9db72
Add Lejia Chen to the Authors list
...
Lejia was providing exceptional support for the IdeaVim project for two-plus years starting from 2023.
2025-04-28 11:45:15 +03:00
Matt Ellis
70d662fe28
Remove obsolete internal options
2025-04-22 15:48:19 +03:00
Alex Plate
2f33d41713
Update the minimal version of IJ to 251
2025-04-22 08:56:07 +03:00
Alex Plate
8247392dc3
Fix some compilation warnings
2025-04-16 22:12:36 +03:00
Alex Plate
c8504e1138
Fix warning about synchronization on primitive
2025-04-16 21:35:01 +03:00
Alex Plate
443e50b55f
Add tests for case changing
...
Mostly to highlight that commands in format `gugu` and `gUgU` don't work for the moment
2025-04-16 19:44:38 +03:00
Alex Plate
1891216182
Fix(VIM-3878): Support ROT13 command g?
2025-04-16 19:44:38 +03:00
dependabot[bot]
515f0ca568
Bump org.junit.jupiter:junit-jupiter-params from 5.12.1 to 5.12.2
...
Bumps [org.junit.jupiter:junit-jupiter-params](https://github.com/junit-team/junit5 ) from 5.12.1 to 5.12.2.
- [Release notes](https://github.com/junit-team/junit5/releases )
- [Commits](https://github.com/junit-team/junit5/compare/r5.12.1...r5.12.2 )
---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter-params
dependency-version: 5.12.2
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-04-16 19:41:45 +03:00
dependabot[bot]
2be0228c35
Bump org.junit.jupiter:junit-jupiter-api from 5.12.1 to 5.12.2
...
Bumps [org.junit.jupiter:junit-jupiter-api](https://github.com/junit-team/junit5 ) from 5.12.1 to 5.12.2.
- [Release notes](https://github.com/junit-team/junit5/releases )
- [Commits](https://github.com/junit-team/junit5/compare/r5.12.1...r5.12.2 )
---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter-api
dependency-version: 5.12.2
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-04-16 19:25:31 +03:00
dependabot[bot]
cf554e9ae2
Bump org.junit.vintage:junit-vintage-engine from 5.12.1 to 5.12.2
...
Bumps [org.junit.vintage:junit-vintage-engine](https://github.com/junit-team/junit5 ) from 5.12.1 to 5.12.2.
- [Release notes](https://github.com/junit-team/junit5/releases )
- [Commits](https://github.com/junit-team/junit5/compare/r5.12.1...r5.12.2 )
---
updated-dependencies:
- dependency-name: org.junit.vintage:junit-vintage-engine
dependency-version: 5.12.2
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-04-16 19:10:22 +03:00
dependabot[bot]
251cc638db
Bump org.junit.jupiter:junit-jupiter from 5.12.1 to 5.12.2
...
Bumps [org.junit.jupiter:junit-jupiter](https://github.com/junit-team/junit5 ) from 5.12.1 to 5.12.2.
- [Release notes](https://github.com/junit-team/junit5/releases )
- [Commits](https://github.com/junit-team/junit5/compare/r5.12.1...r5.12.2 )
---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter
dependency-version: 5.12.2
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-04-16 19:10:13 +03:00
dependabot[bot]
5700738c61
Bump org.junit.jupiter:junit-jupiter-engine from 5.12.1 to 5.12.2
...
Bumps [org.junit.jupiter:junit-jupiter-engine](https://github.com/junit-team/junit5 ) from 5.12.1 to 5.12.2.
- [Release notes](https://github.com/junit-team/junit5/releases )
- [Commits](https://github.com/junit-team/junit5/compare/r5.12.1...r5.12.2 )
---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter-engine
dependency-version: 5.12.2
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-04-16 19:09:53 +03:00
Alex Plate
916afd31b2
Fix(VIM-3870): Add missing write actions
2025-04-16 18:54:22 +03:00
Alex Plate
5d2852420a
Remove the duplication method for existing the select mode
2025-04-15 09:20:00 +03:00
Matt Ellis
a5efa5f9f2
Rename SAVE_VISUAL to SAVE_SELECTION
...
IdeaVim will still leave Visual mode, but the IDE's selection remains.
2025-04-10 19:32:29 +03:00
Matt Ellis
e86503798a
Remove special case handling for Plug mapping
...
While it might not make sense to replay an incorrect `<Plug>` or `<Action>` mapping as characters where they are likely to cause unexpected behaviour as Normal commands, this is standard Vim behaviour (at least for `<Plug>`).
Note that `<Plug>` (and `<Action>`) is a special key code that cannot be typed. In Insert mode, Vim expands it to the text "<Plug>".
2025-04-10 19:32:29 +03:00
Matt Ellis
0b6ac4a9f4
Rename variable and add comments
2025-04-10 19:32:29 +03:00
Matt Ellis
2a6f7cc907
Remove unused mappingComplete parameter
...
Also makes all KeyConsumers internal
2025-04-10 19:32:29 +03:00
Matt Ellis
9b4f114d61
Refactor MappingProcessor
...
Extract single implementation for replaying unhandled keys and update to match the longest mapping that fits in the unhandled keys.
2025-04-10 19:32:29 +03:00
Matt Ellis
3155556832
Reformat and update comments for MappingProcessor
...
Minor refactorings, should be no changes in logic
2025-04-10 19:32:29 +03:00
Matt Ellis
07190f38c9
Fix :normal command with multi-letter mapping
2025-04-10 19:32:29 +03:00
Matt Ellis
db116faa32
Fix handling of modes in NormalCommand
...
All commands are called in Normal, so there is no need to check mode at execution time. The SAVE_VISUAL flag is perhaps poorly named, as it still change to Normal mode, but will save the current selection for commands that need (usually because they interact with IDE features). The `:normal` command does not need the current selection.
2025-04-10 19:32:29 +03:00
Matt Ellis
58496fa1a1
Uncomment NormalCommandTest.kt
2025-04-10 19:32:29 +03:00
dependabot[bot]
0bd12af1f4
Bump com.google.devtools.ksp:symbol-processing-api
...
Bumps [com.google.devtools.ksp:symbol-processing-api](https://github.com/google/ksp ) from 2.1.20-1.0.32 to 2.1.20-2.0.0.
- [Release notes](https://github.com/google/ksp/releases )
- [Commits](https://github.com/google/ksp/compare/2.1.20-1.0.32...2.1.20-2.0.0 )
---
updated-dependencies:
- dependency-name: com.google.devtools.ksp:symbol-processing-api
dependency-version: 2.1.20-2.0.0
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-04-09 18:44:36 +03:00
dependabot[bot]
9f6d697e30
Bump io.ktor:ktor-client-cio from 3.1.1 to 3.1.2
...
Bumps [io.ktor:ktor-client-cio](https://github.com/ktorio/ktor ) from 3.1.1 to 3.1.2.
- [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.1.1...3.1.2 )
---
updated-dependencies:
- dependency-name: io.ktor:ktor-client-cio
dependency-version: 3.1.2
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-04-09 18:44:10 +03:00
IdeaVim Bot
8ed283f7ae
Add Max Siryk to contributors list
2025-04-07 09:02:16 +00:00
erotourtes
5a3d35f216
fix: typo & consistency
2025-04-07 10:47:41 +03:00
Alex Plate
13850f059d
Add a new plugin to the compatibility check
2025-04-04 18:43:03 +03:00
Alex Plate
3ddc75f5f0
Remove the call for the instrumentationTools as it's deprecated
2025-04-04 18:39:28 +03:00
Alex Plate
6c71698aae
Do not use the installer for some of the tests because currently it doesn't work on the installer with the new gradle plugin
...
It's unclear if this is a bug in the gradle plugin or misconfiguration
2025-04-04 18:38:29 +03:00
dependabot[bot]
664895941d
Bump io.ktor:ktor-serialization-kotlinx-json from 3.1.1 to 3.1.2
...
Bumps [io.ktor:ktor-serialization-kotlinx-json](https://github.com/ktorio/ktor ) from 3.1.1 to 3.1.2.
- [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.1.1...3.1.2 )
---
updated-dependencies:
- dependency-name: io.ktor:ktor-serialization-kotlinx-json
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-04-02 18:45:35 +03:00
dependabot[bot]
c758ac16ec
Bump io.ktor:ktor-client-core from 3.1.1 to 3.1.2
...
Bumps [io.ktor:ktor-client-core](https://github.com/ktorio/ktor ) from 3.1.1 to 3.1.2.
- [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.1.1...3.1.2 )
---
updated-dependencies:
- dependency-name: io.ktor:ktor-client-core
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-04-02 18:31:12 +03:00
dependabot[bot]
4c2b3b8011
Bump io.ktor:ktor-client-auth from 3.1.1 to 3.1.2
...
Bumps [io.ktor:ktor-client-auth](https://github.com/ktorio/ktor ) from 3.1.1 to 3.1.2.
- [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.1.1...3.1.2 )
---
updated-dependencies:
- dependency-name: io.ktor:ktor-client-auth
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-04-02 18:31:03 +03:00
dependabot[bot]
ee1c4914d4
Bump io.ktor:ktor-client-content-negotiation from 3.1.1 to 3.1.2
...
Bumps [io.ktor:ktor-client-content-negotiation](https://github.com/ktorio/ktor ) from 3.1.1 to 3.1.2.
- [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.1.1...3.1.2 )
---
updated-dependencies:
- dependency-name: io.ktor:ktor-client-content-negotiation
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-04-02 18:16:18 +03:00
dependabot[bot]
a5f225394f
Bump com.google.devtools.ksp:symbol-processing-api
...
Bumps [com.google.devtools.ksp:symbol-processing-api](https://github.com/google/ksp ) from 2.1.20-1.0.31 to 2.1.20-1.0.32.
- [Release notes](https://github.com/google/ksp/releases )
- [Commits](https://github.com/google/ksp/compare/2.1.20-1.0.31...2.1.20-1.0.32 )
---
updated-dependencies:
- dependency-name: com.google.devtools.ksp:symbol-processing-api
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-04-02 18:16:01 +03:00
Alex Plate
8af848cef6
Fix(VIM-3861): Fix the debug action execution
2025-03-31 12:33:18 +03:00
IdeaVim Bot
4c1d91cc37
Add Peter Hoburg to contributors list
2025-03-29 09:01:47 +00:00
Alex Plate
deca256e1c
Add clear conditions for property tests
2025-03-28 19:23:47 +02:00
Matt Ellis
6d3bde3ad5
Fix incorrect implementation of DoesNotMatchHandler
2025-03-28 19:07:06 +02:00
Matt Ellis
3b2b863c88
Update truthy expressions
2025-03-28 19:07:06 +02:00
Matt Ellis
a7e1c08589
Simplify unary arithmetic operators
2025-03-28 19:07:06 +02:00
Matt Ellis
5aa5e82d59
Rename some operator handlers
2025-03-28 19:07:06 +02:00
Matt Ellis
0db9ad505b
Remove unnecessary singleton classes
2025-03-28 19:07:06 +02:00
Matt Ellis
147eb99745
Simplify case sensitive binary operators
2025-03-28 19:07:06 +02:00
Matt Ellis
bb73bdfb4a
Simplify case sensitive comparisons
2025-03-28 19:07:06 +02:00
Matt Ellis
9ab1044880
Migrate various string operators to toVimString
...
Make it explicit they only work with String values
2025-03-28 19:07:06 +02:00
Matt Ellis
e2cc9c648f
Introduce toVimString to match toVimNumber
2025-03-28 19:07:06 +02:00
Matt Ellis
a322525c2a
Be more explicit with is and isnot implementation
2025-03-28 19:07:06 +02:00
Matt Ellis
51ea947ccb
Move comparison operator data rules to base class
2025-03-28 19:07:06 +02:00
Matt Ellis
f6810798ef
Move binary operator conversion rules to base class
2025-03-28 19:07:06 +02:00
Matt Ellis
2fee525998
Refactor logical operators
2025-03-28 19:07:06 +02:00
Matt Ellis
9e3ab12451
Combine logical handlers into same file
2025-03-28 19:07:06 +02:00
Matt Ellis
5f8d552e8a
Extract error message
2025-03-28 19:07:06 +02:00
Matt Ellis
4e847f8ef4
Merge arithmetic operators to same file
2025-03-28 19:07:06 +02:00
Matt Ellis
d5901fc2c9
Merge case-sensitive handlers to same file
2025-03-28 19:07:06 +02:00
Matt Ellis
3621b91321
Make operator handlers internal
2025-03-28 19:07:06 +02:00
Alex Plate
acbf1d7bd4
Update gradle wrapper
2025-03-28 19:05:55 +02:00
CCCC-L
f079edfb25
Modify CommentaryTextObject test case
2025-03-28 18:45:42 +02:00
CCCC-L
440cab1674
CommentaryTextObject no longer contains spaces to be consistent with neovim
2025-03-28 18:45:42 +02:00
Alex Plate
9322e3b81b
Update intellij gradle plugin
2025-03-28 18:40:26 +02:00
Matt Ellis
021db84a21
Expand ~ to home directory in XDG_CONFIG_HOME
...
Addresses VIM-3844, VIM-2001
2025-03-28 18:18:32 +02:00
Matt Ellis
e232cb3ceb
Support 32-bit Unicode codepoints in digraphs
...
Fixes VIM-3842
2025-03-28 18:13:14 +02:00
Peter Hoburg
174757cdb2
Removed summary from Mini.ai on the README.md
2025-03-28 18:00:26 +02:00
Peter Hoburg
ef0883bc0d
finished adding summaries.
2025-03-28 18:00:26 +02:00
Peter Hoburg
0b4ad07b32
Moved more details around,
...
added more About sections.
2025-03-28 18:00:26 +02:00
Peter Hoburg
3d1a426566
Added back in a missing </details> tag.
2025-03-28 18:00:26 +02:00
Peter Hoburg
6f4eb838c3
Started alphabetizing and adding About: sections to the IdeaVim Plugins.md
2025-03-28 18:00:26 +02:00
Peter Hoburg
bc38ddc0f8
Alphabetized the IdeaVim Plugins section of the main README.md
2025-03-28 18:00:26 +02:00
Matt Ellis
a33b3980ab
Fix unhandled key stroke after surround operation
...
Fixes VIM-3841
2025-03-28 17:51:14 +02:00
Matt Ellis
7917c83cb5
Add extra tests for line() function behaviour
...
It's not obvious that line('v') will return the opposite end of the current selection. Add some tests to highlight this.
Relates to VIM-3838
2025-03-28 17:23:41 +02:00
Matt Ellis
42229b285b
Fix typo
2025-03-28 17:23:41 +02:00
Matt Ellis
421c3bbfb8
Support <C-U> in commandToKeys
2025-03-28 17:23:41 +02:00
Matt Ellis
dbd097a91a
Fix caret position after :move command
...
Fixes VIM-3837
2025-03-28 17:23:41 +02:00
Alex Plate
30f019aa18
Fix enter for Clion Nova
2025-03-28 15:35:33 +02:00
Alex Plate
543d8dbb13
Fix(VIM-3856): Disable new way of action execution for CLion
2025-03-28 14:05:53 +02:00
Alex Plate
2800b2d5fc
Fix(VIM-3857): Fix pasting for the client
2025-03-28 13:45:13 +02:00
Alex Plate
cd27ce8004
Fix(VIM-3852): Fix incorrect cast while checking the shortcuts
2025-03-28 13:27:59 +02:00
Alex Plate
6f3cf43bae
Make a few tests for Rider
...
This should cover VIM-3826 issues
2025-03-27 17:34:24 +02:00
Alex Plate
b043296cde
Fix(VIM-3826): Fix action execution in Rider 243 and older versions
...
It still doesn't work fine when executing in format `:action ReformatCode` in 243, but with 251 format updates from Rider, it should be fine.
2025-03-27 17:20:23 +02:00
Alex Plate
9beca20037
Click Activate during testing
2025-03-27 15:17:14 +02:00
Alex Plate
b882d60416
Trying to make Rider UI tests alive
2025-03-27 15:05:38 +02:00
Alex Plate
7144d73488
Mute a slow operation related to VIM-3648
2025-03-27 14:12:55 +02:00
dependabot[bot]
ae71075134
Bump org.jetbrains.kotlin:kotlin-stdlib from 2.1.10 to 2.1.20
...
Bumps [org.jetbrains.kotlin:kotlin-stdlib](https://github.com/JetBrains/kotlin ) from 2.1.10 to 2.1.20.
- [Release notes](https://github.com/JetBrains/kotlin/releases )
- [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md )
- [Commits](https://github.com/JetBrains/kotlin/compare/v2.1.10...v2.1.20 )
---
updated-dependencies:
- dependency-name: org.jetbrains.kotlin:kotlin-stdlib
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-03-26 17:43:25 +02:00
dependabot[bot]
a5d4bf1a57
Bump org.eclipse.jgit:org.eclipse.jgit.ssh.apache
...
Bumps [org.eclipse.jgit:org.eclipse.jgit.ssh.apache](https://github.com/eclipse-jgit/jgit ) from 7.1.0.202411261347-r to 7.2.0.202503040940-r.
- [Commits](https://github.com/eclipse-jgit/jgit/compare/v7.1.0.202411261347-r...v7.2.0.202503040940-r )
---
updated-dependencies:
- dependency-name: org.eclipse.jgit:org.eclipse.jgit.ssh.apache
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-03-26 17:41:33 +02:00
dependabot[bot]
3b8a830622
Bump org.junit.jupiter:junit-jupiter-api from 5.12.0 to 5.12.1
...
Bumps [org.junit.jupiter:junit-jupiter-api](https://github.com/junit-team/junit5 ) from 5.12.0 to 5.12.1.
- [Release notes](https://github.com/junit-team/junit5/releases )
- [Commits](https://github.com/junit-team/junit5/compare/r5.12.0...r5.12.1 )
---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter-api
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-03-26 17:41:17 +02:00
dependabot[bot]
71adcef1bf
Bump com.google.devtools.ksp:symbol-processing-api
...
Bumps [com.google.devtools.ksp:symbol-processing-api](https://github.com/google/ksp ) from 2.1.10-1.0.29 to 2.1.20-1.0.31.
- [Release notes](https://github.com/google/ksp/releases )
- [Commits](https://github.com/google/ksp/compare/2.1.10-1.0.29...2.1.20-1.0.31 )
---
updated-dependencies:
- dependency-name: com.google.devtools.ksp:symbol-processing-api
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-03-26 17:40:41 +02:00
dependabot[bot]
d4d0212b04
Bump org.junit.jupiter:junit-jupiter-params from 5.12.0 to 5.12.1
...
Bumps [org.junit.jupiter:junit-jupiter-params](https://github.com/junit-team/junit5 ) from 5.12.0 to 5.12.1.
- [Release notes](https://github.com/junit-team/junit5/releases )
- [Commits](https://github.com/junit-team/junit5/compare/r5.12.0...r5.12.1 )
---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter-params
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-03-19 18:51:22 +03:00
dependabot[bot]
4b3bba6a98
Bump org.junit.vintage:junit-vintage-engine from 5.12.0 to 5.12.1
...
Bumps [org.junit.vintage:junit-vintage-engine](https://github.com/junit-team/junit5 ) from 5.12.0 to 5.12.1.
- [Release notes](https://github.com/junit-team/junit5/releases )
- [Commits](https://github.com/junit-team/junit5/compare/r5.12.0...r5.12.1 )
---
updated-dependencies:
- dependency-name: org.junit.vintage:junit-vintage-engine
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-03-19 18:34:51 +03:00
dependabot[bot]
13edc1294c
Bump org.junit.jupiter:junit-jupiter from 5.12.0 to 5.12.1
...
Bumps [org.junit.jupiter:junit-jupiter](https://github.com/junit-team/junit5 ) from 5.12.0 to 5.12.1.
- [Release notes](https://github.com/junit-team/junit5/releases )
- [Commits](https://github.com/junit-team/junit5/compare/r5.12.0...r5.12.1 )
---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-03-19 18:34:22 +03:00
dependabot[bot]
f5269a56d6
Bump org.junit.jupiter:junit-jupiter-engine from 5.12.0 to 5.12.1
...
Bumps [org.junit.jupiter:junit-jupiter-engine](https://github.com/junit-team/junit5 ) from 5.12.0 to 5.12.1.
- [Release notes](https://github.com/junit-team/junit5/releases )
- [Commits](https://github.com/junit-team/junit5/compare/r5.12.0...r5.12.1 )
---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter-engine
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-03-19 18:34:13 +03:00
Alex Plate
7c39e9e585
Fix the runForEachCaret exception
2025-03-14 17:40:19 +02:00
Alex Plate
60767fa908
Fix the path to python
2025-03-14 16:20:23 +02:00
Alex Plate
186feed8af
Try to use trial for Rider tests
2025-03-14 16:13:51 +02:00
Alex Plate
b3aaf75b48
Use different tracking marker for UI tests PyCharm
2025-03-14 16:06:18 +02:00
Alex Plate
2b1b4fc71e
Create UI test for Rider
2025-03-14 16:01:03 +02:00
Alex Plate
8a173c801c
Try not to wait till stripes to appear in UI tests for PyCharm
2025-03-14 15:38:27 +02:00
Alex Plate
38b5879d37
Use a new version of compatibility checker
2025-03-14 15:17:53 +02:00
Alex Plate
d0900fd0c5
Use a different way of waiting till the SDK is detected
2025-03-14 14:41:38 +02:00
Alex Plate
79d2040fcf
Wait longer till PyCharm will detect the SDK
2025-03-14 14:09:48 +02:00
Alex Plate
2c83403cb0
Add waiting for SDK detectors on PyCharm tests
2025-03-14 13:55:07 +02:00
Alex Plate
3f22c6f9e4
Create UI tests for Rider
2025-03-14 13:50:52 +02:00
Alex Plate
abdb6cb906
Fix(VIM-3825): Proper processing of enter for Rider & similar IDEs
2025-03-14 13:39:36 +02:00
Alex Plate
46f9aa4df2
UI Tests: Handle different name of the project tree for the different version of IJ
2025-03-14 12:47:40 +02:00
Ilya Usov
f40540d114
Fix IdeaVim state after starting the template in remdev scenario
...
Now the template is properly detected on client as well.
Related: RIDER-118965
2025-03-13 11:50:10 +02:00
dependabot[bot]
79b9dbd656
Bump org.jetbrains.intellij.platform from 2.2.2-SNAPSHOT to 2.3.0
...
Bumps org.jetbrains.intellij.platform from 2.2.2-SNAPSHOT to 2.3.0.
---
updated-dependencies:
- dependency-name: org.jetbrains.intellij.platform
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-03-12 18:06:06 +02:00
dependabot[bot]
f8592a85f7
Bump com.dorongold.task-tree from 4.0.0 to 4.0.1
...
Bumps com.dorongold.task-tree from 4.0.0 to 4.0.1.
---
updated-dependencies:
- dependency-name: com.dorongold.task-tree
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-03-12 17:47:51 +02:00
Alex Plate
5b8469c276
Use pattern matching in CI tests
2025-03-12 10:52:51 +02:00
Alex Plate
0729e9623b
Bring back the 2024.3.3 version of IdeaVim as a minimal supported version
2025-03-12 10:48:14 +02:00
Alex Plate
90b530e6db
Use a different approach for UI tests
2025-03-12 10:08:15 +02:00
Alex Plate
dcaef64494
Refactor the way of checking if copy text is presented in UI test
2025-03-11 20:19:53 +02:00
Alex Plate
b31f46d9f4
Update UI test
2025-03-11 19:06:52 +02:00
Alex Plate
bbab064281
With direct calls for the VimFindActionIdAction in UI tests, there is no need to open the GoToAction
2025-03-11 18:31:35 +02:00
Alex Plate
6f030eb8a6
Increase a timeout for waiting for Idea frame during UI tests
2025-03-11 18:05:52 +02:00
Alex Plate
d52d631799
Cleanup of the IjActionExecutor
2025-03-11 17:44:43 +02:00
Alex Plate
84b485c6bc
Use the proper context component when firing an action
2025-03-11 17:44:43 +02:00
Alex Pláte
3808bfea60
Merge pull request #1123 from citizenmatt/bugfix/dotcover-indicator
...
Move status bar widgets after dotCover indicator
2025-03-11 11:09:59 +02:00
Matt Ellis
3fa20dd417
Move status bar widgets after dotCover indicator
...
Rider's dotCover indicator is marked as "last" rather than relative to other dotnet icons. This position pushes out IdeaVim widgets, so make sure we're after "dotCoverIndicator"
See also DCVR-13021
2025-03-10 18:52:46 +00:00
Alex Plate
f76b07521e
Fix(VIM-3827): Fix an incorrect implementation of the >= operator
...
As a note: This is the first bug in IdeaVim that was fixed by AI (with manual verification, of course).
2025-03-10 10:50:26 +02:00
Alex Plate
55257e1017
Use VimTestCase in operator tests
...
Otherwise it was not possible to run just one test as the injector was not initialized
2025-03-10 10:42:08 +02:00
Alex Plate
cccf2d9d2f
The workflow file was broken
2025-03-07 19:03:29 +02:00
Alex Plate
7826de6601
Update codeql github action
...
Also, use java 21 there
2025-03-07 18:52:09 +02:00
Alex Plate
33441f9ec3
Update UI tests: the project view tree class was renamed
2025-03-07 18:38:12 +02:00
Alex Plate
7d25d6d323
Increase the timeout for waiting for the project tree
2025-03-07 18:17:06 +02:00
Alex Plate
fc93661c62
Fix an issue that the XML config can't store nulls
2025-03-07 18:09:49 +02:00
Alex Plate
098243fb12
Fix vim-engine setup if no uploadUrl provided
2025-03-07 18:02:29 +02:00
Alex Plate
09321f409c
Fix recursive runForEachCaret and a missing read action
2025-03-07 17:41:13 +02:00
Alex Plate
e899a99313
Remove the localization plugins for testing IJ
2025-03-07 17:13:49 +02:00
Alex Plate
393d2d4353
Fix the issue that backspace key was not working in the code review comments for GitHub
...
The context component should be detected automatically
2025-03-07 16:48:43 +02:00
IdeaVim Bot
e7d47fd7f3
Add Nath Tumlin to contributors list
2025-03-07 09:01:59 +00:00
Alex Plate
f17345e1ac
Use java 21 for Pull Requests verification
2025-03-07 10:05:39 +02:00
Alex Plate
9ba0f5f47a
Add information when the characterwise motion changes to the linewise
2025-03-07 10:03:59 +02:00
Alex Plate
4a31e425e0
Support per-caret selection type during yanking
2025-03-07 10:01:36 +02:00
Alex Plate
017b36673b
Remove unused range argument from yank motion
2025-03-07 09:40:27 +02:00
Nath Tumlin
156fbcd60d
Make yank motion respect exclusive-linewise
...
I used the code in VimChangeGroupBase.getDeleteRangeAndType to do the check.
For an example of what this fixes, with the document:
```
${c}Hello!
```
executing "y}llp" before this change yields
```
HelHello!
lo!
```
but doing it with this change yields
```
Hello!
Hello!
````
2025-03-07 09:07:53 +02:00
Alex Plate
cda85ae534
Fix missing offset adjusting
...
This issue was found by property test
2025-03-04 18:46:34 +02:00
Alex Plate
2c7b966ec2
Fix threading in IncrementDecrementCheck.kt property test
2025-03-04 18:16:41 +02:00
Alex Plate
cf49c0b76f
Fix threading for property tests
2025-03-04 18:06:52 +02:00
Alex Plate
ce01318032
Do not run test in nvim which executes IDE action
2025-03-04 17:40:09 +02:00
Alex Plate
c9b25cbb27
Remove experimental TC releases
2025-03-04 17:38:12 +02:00
Alex Plate
3d1b502cd0
Wait for the action to be finished before returning the result
2025-03-04 17:31:43 +02:00
Alex Plate
572af0d349
Fix issue with esc
...
Currently, esc action will return false as it have no action in the editor. However, it doesn't mean that IdeaVim goes into the error mode
2025-03-04 17:27:45 +02:00
Alex Plate
5770fbd70f
Missed one path for nvim tests
2025-03-04 16:46:58 +02:00
Alex Plate
1af8d31272
Update links to nvim on TC
2025-03-04 15:50:48 +02:00
Alex Plate
6eb9207ff6
Fix invocation for the long running test
2025-03-04 15:46:17 +02:00
Alex Plate
681cef1d69
Enable the new way of action execution by default
2025-03-04 15:37:54 +02:00
Alex Plate
f88a1cbe06
Add more wrappings for read actions
2025-03-04 15:36:18 +02:00
Alex Plate
84df5451b3
Put java 21 in TeamCity configurations
2025-02-28 20:42:49 +02:00
Alex Plate
2c1cba96d2
Update TeamCity config version
2025-02-28 20:28:28 +02:00
Alex Plate
348dfa8af8
Add info about the quality contributions to the what's new
2025-02-28 20:18:59 +02:00
Alex Plate
34c8688dcf
Use KSP2
2025-02-28 20:18:06 +02:00
Alex Plate
6f193d8026
Update kotlin API version in vim-engine
2025-02-28 20:15:09 +02:00
Alex Plate
8214202d43
Use java 21 for TeamCity tests
2025-02-28 20:10:13 +02:00
Alex Plate
830a708489
Update kotlin api to 2.0
2025-02-28 19:44:27 +02:00
Alex Plate
ee1928c836
Upgrade java version to 21
2025-02-28 19:39:48 +02:00
Alex Plate
38102afc0f
Upgrade version of kotlin to 2.0.21
2025-02-28 19:22:16 +02:00
Alex Plate
8483e23ea7
[VIM-3376] Add a new way of executing the action
2025-02-28 19:07:55 +02:00
Alex Plate
b3631b59ed
Update the logs location
2025-02-28 18:15:29 +02:00
Alex Plate
dbc626c794
Add a note about the octopus handler description
2025-02-28 17:38:20 +02:00
Alex Plate
692e4434d1
[VIM-3815]: Disable Octopus Handler for Rider and other IDEs with the new typing engine
2025-02-28 17:14:06 +02:00
Alex Plate
a836b31ebe
Remove qodana from IdeaVim
...
There are several problems with it:
- It was highly unstable, so it was constantly disabled
- Qodana baseline file is huge, it's almost the size of the whole repo
2025-02-28 17:14:06 +02:00
Alex Plate
89e530276f
Get rid of the AppCode-specific code
...
AppCode was sunset, so there is no need to support it in IdeaVim
2025-02-28 17:14:06 +02:00
dependabot[bot]
0b817ba575
Bump org.junit.jupiter:junit-jupiter-engine from 5.10.5 to 5.12.0
...
Bumps [org.junit.jupiter:junit-jupiter-engine](https://github.com/junit-team/junit5 ) from 5.10.5 to 5.12.0.
- [Release notes](https://github.com/junit-team/junit5/releases )
- [Commits](https://github.com/junit-team/junit5/compare/r5.10.5...r5.12.0 )
---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter-engine
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-02-26 18:49:11 +02:00
dependabot[bot]
c2513c8a74
Bump org.junit.jupiter:junit-jupiter-params from 5.10.5 to 5.12.0
...
Bumps [org.junit.jupiter:junit-jupiter-params](https://github.com/junit-team/junit5 ) from 5.10.5 to 5.12.0.
- [Release notes](https://github.com/junit-team/junit5/releases )
- [Commits](https://github.com/junit-team/junit5/compare/r5.10.5...r5.12.0 )
---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter-params
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-02-26 18:32:01 +02:00
dependabot[bot]
5b5ff852f1
Bump org.junit.vintage:junit-vintage-engine from 5.10.5 to 5.12.0
...
Bumps [org.junit.vintage:junit-vintage-engine](https://github.com/junit-team/junit5 ) from 5.10.5 to 5.12.0.
- [Release notes](https://github.com/junit-team/junit5/releases )
- [Commits](https://github.com/junit-team/junit5/compare/r5.10.5...r5.12.0 )
---
updated-dependencies:
- dependency-name: org.junit.vintage:junit-vintage-engine
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-02-26 18:15:11 +02:00
dependabot[bot]
7cbc799298
Bump org.junit.jupiter:junit-jupiter-api from 5.10.5 to 5.12.0
...
Bumps [org.junit.jupiter:junit-jupiter-api](https://github.com/junit-team/junit5 ) from 5.10.5 to 5.12.0.
- [Release notes](https://github.com/junit-team/junit5/releases )
- [Commits](https://github.com/junit-team/junit5/compare/r5.10.5...r5.12.0 )
---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter-api
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-02-26 18:14:48 +02:00
dependabot[bot]
14c0a6dab4
Bump org.junit.jupiter:junit-jupiter from 5.11.4 to 5.12.0
...
Bumps [org.junit.jupiter:junit-jupiter](https://github.com/junit-team/junit5 ) from 5.11.4 to 5.12.0.
- [Release notes](https://github.com/junit-team/junit5/releases )
- [Commits](https://github.com/junit-team/junit5/compare/r5.11.4...r5.12.0 )
---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-02-26 18:14:38 +02:00
dependabot[bot]
742bf173eb
Bump io.ktor:ktor-client-content-negotiation from 3.0.3 to 3.1.1
...
Bumps [io.ktor:ktor-client-content-negotiation](https://github.com/ktorio/ktor ) from 3.0.3 to 3.1.1.
- [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.0.3...3.1.1 )
---
updated-dependencies:
- dependency-name: io.ktor:ktor-client-content-negotiation
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-02-26 11:25:26 +02:00
dependabot[bot]
52e30c4b94
Bump io.ktor:ktor-serialization-kotlinx-json from 3.0.3 to 3.1.1
...
Bumps [io.ktor:ktor-serialization-kotlinx-json](https://github.com/ktorio/ktor ) from 3.0.3 to 3.1.1.
- [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.0.3...3.1.1 )
---
updated-dependencies:
- dependency-name: io.ktor:ktor-serialization-kotlinx-json
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-02-26 11:09:30 +02:00
dependabot[bot]
a185f2325d
Bump io.ktor:ktor-client-cio from 3.0.3 to 3.1.1
...
Bumps [io.ktor:ktor-client-cio](https://github.com/ktorio/ktor ) from 3.0.3 to 3.1.1.
- [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.0.3...3.1.1 )
---
updated-dependencies:
- dependency-name: io.ktor:ktor-client-cio
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-02-26 10:52:19 +02:00
dependabot[bot]
5eefa2baef
Bump io.ktor:ktor-client-auth from 3.0.3 to 3.1.1
...
Bumps [io.ktor:ktor-client-auth](https://github.com/ktorio/ktor ) from 3.0.3 to 3.1.1.
- [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.0.3...3.1.1 )
---
updated-dependencies:
- dependency-name: io.ktor:ktor-client-auth
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-02-26 10:36:09 +02:00
dependabot[bot]
e56785e94d
Bump io.ktor:ktor-client-core from 3.0.3 to 3.1.1
...
Bumps [io.ktor:ktor-client-core](https://github.com/ktorio/ktor ) from 3.0.3 to 3.1.1.
- [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.0.3...3.1.1 )
---
updated-dependencies:
- dependency-name: io.ktor:ktor-client-core
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-02-26 10:35:41 +02:00
Alex Plate
0b7c86fa7e
Use the read action to get the caret offset in EditorSelectionHandler
2025-02-26 10:13:45 +02:00
Alex Plate
a5ac2e9ca7
Switch to the newest version of the gradle plugin
2025-02-25 15:57:26 +02:00
Matt Ellis
ca4de6f317
Add missing shortcuts for WORD left/right in Select
2025-02-25 15:38:49 +02:00
Filipp Vakhitov
75dadc9610
Fix(VIM-3802): Completion should create undo checkpoint
...
Do not create checkpoints for Enter keypress
2025-02-25 15:09:41 +02:00
Filipp Vakhitov
f6146b8732
Fix(VIM-3802): Completion should create undo checkpoint
2025-02-25 14:36:46 +02:00
Alex Plate
4025619b48
Turn write action while executing the IJ action into an error
2025-02-24 14:40:42 +02:00
Alex Plate
9b1da76499
Remove unneeded write action in output panel
2025-02-24 14:39:59 +02:00
Alex Plate
4ca25eed70
Remove the use of write action in macros
2025-02-24 14:31:14 +02:00
Alex Plate
a925676d64
Fix issues with command line prompt processing
2025-02-24 13:59:31 +02:00
Alex Plate
6feb1a4525
Remove the change of ordering inside the clearPromptCharacter
2025-02-24 12:43:39 +02:00
Alex Plate
4cf7685aaf
Fix incorrect condition in getting the actual text in command line
2025-02-24 12:21:34 +02:00
Alex Plate
e257a10525
Fix an issue that the highlighting was silently missing due to an error
2025-02-24 12:13:51 +02:00
Alex Plate
2e8548cb25
Update gradle wrapper
2025-02-24 12:13:26 +02:00
Alex Plate
1d25927676
[TC] Upgrade the version of IJ for some build
2025-02-24 11:16:08 +02:00
Alex Plate
42d80f6866
Add write action in several places
2025-02-21 19:32:47 +02:00
Alex Plate
c9189ed7cb
Commands don't start the read and write actions automatically. See the explanation in the previous commit messages.
...
Related to the implementation of VIM-3376
2025-02-21 19:11:28 +02:00
Alex Plate
fedefea0aa
Remove the write action in several places
2025-02-21 18:56:52 +02:00
Alex Plate
437fa9a1a0
Remove the root write and read actions
...
Historically, IdeaVim was starting read or write action based on command type. However, this is incorrect because of several reasons:
- The command of different type may perform a write/read action
- The write lock with a lot of code inside does cause application freezes
- Since a large branching of code happens inside the write action, there is a chance of read action request, resulting in the deadlock
Also, now this prevents from implementing a proper execution of VIM-3376.
2025-02-21 18:44:51 +02:00
Alex Plate
0511ee277f
Remove the requirement for the write action in macros
...
It's not clear why the write action was needed. Probably, it was a mistake and it supposed to be a check for EDT. However, since the check for EDT exists right in the constructor of the potemkin progress, let's remove it at all.
2025-02-21 17:40:40 +02:00
Alex Plate
0b2bda529f
Upgrade the minimal supported version to 243
2025-02-21 16:59:28 +02:00
Alex Plate
fe91744356
Mention 2024.3.3 in gradle script
2025-02-21 13:40:31 +02:00
Alex Plate
45d92c1981
Use the read action for neovim tests in other place
2025-02-21 13:33:53 +02:00
Alex Plate
58de834832
Use the read action for neovim tests
2025-02-21 13:17:37 +02:00
Alex Plate
8d89847d4b
Add tests for 2024.3.3
2025-02-21 13:15:43 +02:00
Alex Plate
bf78445ac6
Add links to intellij platform community space
2025-02-21 13:11:59 +02:00
Alex Plate
3866565e51
Remove IdeaVimTestCase and replace it with VimTestCase
2025-02-21 13:03:23 +02:00
Alex Plate
564ab7d75e
Remove EDT and write action from the VimTestCase
2025-02-21 09:54:12 +02:00
Matt Ellis
24c0d31f14
Updated comment and defaults for word end action
...
The `ge` motion incorrectly had `stopAtEmptyLine` set to false, but `ge` always stops at empty lines. This option is only applicable for forward motion, so is ignored by the implementation of `findPreviousWordEndOne`.
2025-02-21 09:53:11 +02:00
Matt Ellis
43a2bd98db
Reduce multiple implementations to one
2025-02-21 09:53:11 +02:00
Matt Ellis
c4f56c40fd
Rename findWordUnderCursor to findWordObject
...
Starting to distinguish between the other findWordUnderCursor implementations!
2025-02-21 09:53:11 +02:00
Matt Ellis
1b4b66dbb1
Minor refactoring
2025-02-21 09:53:11 +02:00
Matt Ellis
4787a5e22a
Rewrite backwards search for word under cursor
2025-02-21 09:53:11 +02:00
Matt Ellis
d2b85cbb10
Merge inner and outer motion implementations
2025-02-21 09:53:11 +02:00
Matt Ellis
0428c2aeff
Rewrite inner motion to match outer motion
...
The implementations are so similar and can now be refactored/simplified
2025-02-21 09:53:11 +02:00
Matt Ellis
1a8789b50c
Rewrite next/previous word motions and objects
2025-02-21 09:53:11 +02:00
Matt Ellis
b5937e885d
Rewrite displayLocationInfo to avoid findNextWord
...
Simplifies and fixes counting words, especially when selection intersects words. Also moves implementation to engine and adds more tests.
2025-02-21 09:53:11 +02:00
Matt Ellis
8eef802ac7
Add notes on possible refactoring
2025-02-21 09:53:11 +02:00
Matt Ellis
cad6afdc9d
Rewrite word end motions and word objects
2025-02-21 09:53:11 +02:00
Matt Ellis
54ef691a98
Add tests for outer word motions and blank lines
2025-02-21 09:53:11 +02:00
Matt Ellis
426c2fd006
Handle blank and empty lines for text objects
...
Fixes VIM-1642
2025-02-21 09:53:11 +02:00
Matt Ellis
f25c56b545
Refactor checks for including following whitespace
2025-02-21 09:53:11 +02:00
Matt Ellis
960eb50d8c
Fix incorrectly selected new line char with viw
2025-02-21 09:53:11 +02:00
Matt Ellis
18b4b76ebf
Select trailing whitespace with viw
...
Inner word/WORD motions will select trailing whitespace at the end of a line without wrapping
2025-02-21 09:53:11 +02:00
Matt Ellis
d9e575d4a2
Select leading whitespace with viw
...
Inner word/WORD motions will select leading whitespace at the start of a line without wrapping
2025-02-21 09:53:11 +02:00
Matt Ellis
1769804c8a
Select leading whitespace with vaw
...
Outer word/WORD motions will select leading whitespace at the start of a line
2025-02-21 09:53:11 +02:00
Matt Ellis
81e094ac8f
Select trailing whitespace with vaw
...
Outer word/WORD motions will select trailing whitespace at the end of a line
2025-02-21 09:53:11 +02:00
Matt Ellis
4240c429ba
Select preceding whitespace if no following (vaw)
...
Outer word/WORD text objects should select following whitespace, unless there isn't any, and then it should select preceding whitespace.
2025-02-21 09:53:11 +02:00
Matt Ellis
76f7d81129
Minor code cleanup. No logic changes
2025-02-21 09:53:11 +02:00
Matt Ellis
2da77f0f11
Add tests for existing word/WORD text objects
2025-02-21 09:53:11 +02:00
Matt Ellis
580764b30c
Match empty line as word/WORD
...
Unless moving to end of word/WORD, in which case, skip all whitespace to get to end of the next set of word/WORD characters.
Fixes VIM-1650
2025-02-21 09:53:11 +02:00
Matt Ellis
afd69eef95
Fix end of file edge case deleting previous word
...
Adds extra tests to confirm that deleting previous word in Insert mode was already working as expected (relates to VIM-1650)
Also fixes an edge case for a test that was marked as behaving differently to Vim, but was actually showing buggy behaviour due to its unorthodox caret placement. It looked like the caret was placed at the end of the line, but it was actually placed _passed_ the last character in the file. Adding extra text below the caret placement would cause the action to behave as expected, and the test would then match Vim behaviour. However, it is possible to get this caret position in the editor and in Vim, with `virtualedit=onemore`, and the IdeaVim implementation was wrong. The test has been updated to provide the correct scenario, and the implementation has been fixed.
2025-02-21 09:53:11 +02:00
Matt Ellis
be1cc67566
Fix previous word end motion at start of file
2025-02-21 09:53:11 +02:00
Matt Ellis
b534708a99
Rename file to show it contains several actions
2025-02-21 09:53:11 +02:00
Matt Ellis
4bc75e0a9b
Add tests for existing word/WORD motion behaviour
2025-02-21 09:53:11 +02:00
Alex Plate
fa4c89e134
Add two more interesting facts to the IdeaVim facts about Vim
2025-02-20 19:27:32 +02:00
Matt Ellis
5740372df9
Add err_teapot function
2025-02-20 19:21:31 +02:00
Matt Ellis
06791b9378
Add float2nr function
2025-02-20 19:21:31 +02:00
Matt Ellis
91e927c913
Add fmod function
2025-02-20 19:21:31 +02:00
Matt Ellis
9a5c558060
Add float classification functions
2025-02-20 19:21:31 +02:00
Matt Ellis
d1127a5238
Add power functions
2025-02-20 19:21:31 +02:00
Matt Ellis
613a8b5792
Add exponential functions
2025-02-20 19:21:31 +02:00
Matt Ellis
6f63371e9b
Add rounding functions
2025-02-20 19:21:31 +02:00
Matt Ellis
3b96e2eacd
Add trigonometric and hyperbolic builtin functions
2025-02-20 19:21:31 +02:00
Matt Ellis
ffdd6716f5
Refactor some moved tests
2025-02-20 19:21:31 +02:00
Matt Ellis
4453862ea0
Extract function tests
2025-02-20 19:21:31 +02:00
Matt Ellis
c631d0738e
Group function handlers like in Vim help
...
See `:help function-list`
2025-02-20 19:21:31 +02:00
Matt Ellis
1bd7a7596b
Support binary numbers in vimscript
...
Also supports octal with an `0o` or `0O` prefix.
2025-02-20 19:21:31 +02:00
Matt Ellis
23329cc522
Add bitwise functions
2025-02-20 19:21:31 +02:00
Alex Plate
be86dc3c78
Rename VimNoWriteActionTestCase to IdeaVimTestCase
2025-02-20 19:15:43 +02:00
Alex Plate
d65a219194
Mark VimTestCase as deprecated
2025-02-20 19:13:39 +02:00
Alex Plate
e18035b729
Migrate java tests to VimNoWriteActionTestCase
2025-02-20 18:57:52 +02:00
Alex Plate
96a1456dcd
Remove the hack for yaml plugin
2025-02-19 16:48:12 +02:00
Alex Plate
83b92d84a6
Disable IdeaVim listeners in places where IdeaVim is disabled
...
This is needed for the new terminal. Before this change, it was impossible to put the caret at the line end, even taking the fact the IdeaVim is disabled in the new terminal.
2025-02-14 17:59:06 +02:00
Alex Plate
693bb50d5e
Do add a yaml module only for the latest snapshot
2025-02-14 17:58:01 +02:00
Alex Plate
0cef0d3d9a
Fix EAP tests for IdeaVim
2025-02-11 20:52:21 +02:00
Alex Plate
4ca187926c
Use SimpleDataContext instead of the obsolete DataContextWrapper
2025-02-11 11:53:00 +02:00
Alex Plate
7eda176162
Add one more option to adding json plugin
2025-02-11 11:53:00 +02:00
Osvaldo Cordova Aburto
491a96825f
feat: improve any brackets behavior
2025-02-07 12:56:56 +02:00
Alex Plate
ffee3ccbeb
Remove the llmInstaller dependency, which was a workaround for LLM-13649
2025-02-03 11:12:02 +02:00
Alex Plate
62ed920363
Use null instead of -1 when the version of IdeaVim is not set
2025-02-03 11:05:17 +02:00
Alex Plate
4fc2c1e04c
Text correction for the award program
2025-02-03 09:06:01 +02:00
Alex Plate
91a33e65db
Add information about the award program for the contributors
2025-01-31 14:44:34 +02:00
Osvaldo Cordova Aburto
7b16deb3e3
fix: calculation to find the closest delimited range
2025-01-30 13:40:26 +02:00
Osvaldo Cordova Aburto
01d776957a
fix: distanceTo to works with nested quotes and brackets
2025-01-30 13:40:26 +02:00
dependabot[bot]
ad49800b09
Bump org.jetbrains.kotlin:kotlin-stdlib from 2.1.0 to 2.1.10
...
Bumps [org.jetbrains.kotlin:kotlin-stdlib](https://github.com/JetBrains/kotlin ) from 2.1.0 to 2.1.10.
- [Release notes](https://github.com/JetBrains/kotlin/releases )
- [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md )
- [Commits](https://github.com/JetBrains/kotlin/compare/v2.1.0...v2.1.10 )
---
updated-dependencies:
- dependency-name: org.jetbrains.kotlin:kotlin-stdlib
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-01-29 17:29:15 +02:00
dependabot[bot]
dce01350c7
Bump com.google.devtools.ksp:symbol-processing-api
...
Bumps [com.google.devtools.ksp:symbol-processing-api](https://github.com/google/ksp ) from 2.1.0-1.0.29 to 2.1.10-1.0.29.
- [Release notes](https://github.com/google/ksp/releases )
- [Commits](https://github.com/google/ksp/compare/2.1.0-1.0.29...2.1.10-1.0.29 )
---
updated-dependencies:
- dependency-name: com.google.devtools.ksp:symbol-processing-api
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-01-29 17:28:41 +02:00
Alex Plate
96bff03d99
Refactor VimShortcutKeyAction for clarity and structure.
...
Simplify and reorganize logic in isEnabled() for improved readability and maintainability. Adjust logging messages for consistency and replace unused exception variable with underscore.
2025-01-29 10:25:20 +02:00
Alex Plate
6eeb0eb47d
Fix the issue that the shortcuts where not working in the command line
2025-01-29 10:11:23 +02:00
Alex Plate
610ef73d38
Refresh the contribution guide
2025-01-29 09:26:16 +02:00
IdeaVim Bot
7d7732be76
Add Osvaldo to contributors list
2025-01-28 09:01:54 +00:00
Osvaldo Cordova Aburto
31a6d8174a
feat: add mini-ai extension
2025-01-27 23:19:24 +02:00
Alex Plate
ee548b52db
[VIM-3784] Store the information about the first version of IdeaVim for the user.
2025-01-27 11:09:47 +02:00
Alex Plate
1d77b0b059
Fix the incorrect variable name
2025-01-27 10:46:21 +02:00
Alex Plate
304562a2db
Remove the notification about the new undo functionality
2025-01-27 10:43:18 +02:00
Alex Plate
e358dc9cee
Fix(VIM-3640): Enable IdeaVim only in the editor context component
...
As the GitHub Copilot is placed right in the editor component, the IdeaVim's actions are also collected. Action promoter promotes the IdeaVim's action and, since the data context has the editor, executes a Vim's actions like backspace.
Now we make sure that IdeaVim works only in the actual editor.
Since this change may affect some places where the IdeaVim used to work, but won't work now (this will be a surprise), a registry key is introduced to help the users that face this problem.
2025-01-24 13:34:08 +02:00
Alex Plate
7573d83898
Disable qodana inspections
2025-01-23 18:43:53 +02:00
Alex Plate
00d9ed93ec
Fix(VIM-3543): Disable IdeaVim in the new terminal
2025-01-23 12:22:22 +02:00
Alex Plate
d3864ab02b
Remove the unwanted comma from the authors list
2025-01-23 12:22:22 +02:00
dependabot[bot]
3b1e319a8e
Bump org.jetbrains:annotations from 26.0.1 to 26.0.2
...
Bumps [org.jetbrains:annotations](https://github.com/JetBrains/java-annotations ) from 26.0.1 to 26.0.2.
- [Release notes](https://github.com/JetBrains/java-annotations/releases )
- [Changelog](https://github.com/JetBrains/java-annotations/blob/master/CHANGELOG.md )
- [Commits](https://github.com/JetBrains/java-annotations/compare/26.0.1...26.0.2 )
---
updated-dependencies:
- dependency-name: org.jetbrains:annotations
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-01-22 18:08:22 +02:00
Matt Ellis
33b34b84b5
Add doc comment for inCommandLineModeWithVisual
2025-01-22 17:42:30 +02:00
Matt Ellis
308996c4c1
Remove Visual when updating incsearch for a command
2025-01-22 17:42:30 +02:00
Matt Ellis
1f68b756d5
Disable incsearch highlight in Visual mode
2025-01-22 17:42:30 +02:00
Matt Ellis
ed6789cb8b
Add tests updating Visual while editing incsearch
2025-01-22 17:42:30 +02:00
Matt Ellis
e9e86b07fb
Fix incsearch not updating empty selection
...
As a by-product, this also fixes an off-by-one error where incsearch would effectively treat all Visual searches as exclusive
2025-01-22 17:42:30 +02:00
Matt Ellis
a969b93ba6
Add tests for updating Visual selection with search
2025-01-22 17:42:30 +02:00
Matt Ellis
970cfadaec
Extract search highlighting related tests
2025-01-22 17:42:30 +02:00
Matt Ellis
12ed60d88e
Remove tests using obsolete newregex option
2025-01-22 17:42:30 +02:00
IdeaVim Bot
e0e7817b8b
Add Sebastian Dörner to contributors list
2025-01-22 09:01:58 +00:00
Sebastian Doerner
cb218697fa
[VIM-3731] Add support for "jump to previous/next lowercase mark".
...
Fixes VIM-3731
2025-01-21 22:48:12 +02:00
Alex Plate
3c167f35d4
Fix the incorrect note about the author.
2025-01-21 11:16:48 +02:00
Alex Plate
8a2736e0b7
Add a post about Vim facts
2025-01-20 19:29:49 +02:00
Alex Plate
26edccd85f
Add a link to the collection of Vim easter eggs
2025-01-20 16:26:44 +02:00
Alex Plate
91e6ed545e
Use the correct output directory for UI tests
2025-01-20 09:19:11 +02:00
Alex Plate
c252aeec70
Add a timeout to wait till the popup appears
2025-01-20 09:01:11 +02:00
Alex Plate
2ce3b09650
Remove UI test that doesn't work in new IJ UI
2025-01-20 08:40:25 +02:00
Matt Ellis
7548b160ae
Fix race condition resetting editor on focus gain
...
Fixes VIM-3773
2025-01-14 17:21:53 +01:00
Alex Plate
1105f61988
[VIM-3620] Use shortened links instead of plain ones
2025-01-14 17:35:09 +02:00
Alex Plate
54b49d3322
[VIM-3620] Do not show the uninstall feedback when updating the plugin
2025-01-14 17:17:15 +02:00
Alex Plate
6ab0add430
Update the twitter icon to X
2025-01-14 13:37:39 +02:00
Matt Ellis
296288f428
Ensure correct caret position when exiting Select
...
Fixes VIM-3042
2025-01-13 18:10:01 +01:00
Matt Ellis
1d5fc01d65
Fix Del and BS not working in Select mode
...
Fixes VIM-3618
2025-01-13 18:10:01 +01:00
Alex Plate
f30e376e11
Fix property tests for random actions
2025-01-10 13:46:55 +03:00
Alex Plate
8ba02a77f1
Enable dependency on llmInstaller to fix the tests for the latest EAP.
...
LLM-13649
2025-01-10 13:28:49 +03:00
Alex Plate
7cf3b959dd
Remove call for the instrumentationTools
...
Call for this function is not needed anymore
2025-01-10 13:28:48 +03:00
Alex Plate
ad584d553c
Reformat code
2025-01-10 13:28:48 +03:00
Alex Plate
36556d559f
Optimize imports
2025-01-10 13:28:47 +03:00
Alex Plate
378611fe8f
Remove outdated documentation
2025-01-10 13:28:47 +03:00
Alex Plate
35c890416d
Perform a qodana check every day
2025-01-10 13:28:47 +03:00
Alex Plate
ef16181ba2
Clean up code
2025-01-10 13:28:46 +03:00
Alex Plate
aaba0a09c2
Remove deprecated function
2025-01-10 13:28:46 +03:00
IdeaVim Bot
a7a1c626b6
Add Vladimir Parfinenko to contributors list
2025-01-10 09:01:53 +00:00
Matt Ellis
0b308769b1
Move select toggle implementation
2025-01-10 11:29:44 +03:00
Matt Ellis
eb19d9fb11
Refactor improper usages of toggleVisual
2025-01-10 11:29:44 +03:00
Matt Ellis
bfa271b089
Reorder functions in file. No code changes
2025-01-10 11:29:44 +03:00
Matt Ellis
e299b27a5c
Update docs and remove unnecessary null parameter
2025-01-10 11:29:44 +03:00
Matt Ellis
9306d93cbf
Remove unnecessary pushVisualMode helper function
2025-01-10 11:29:44 +03:00
Matt Ellis
a28416dd9f
Update mode widget text for Select pending
2025-01-10 11:29:44 +03:00
Matt Ellis
63b3af3f65
Implement v_CTRL-O
...
From Select mode, enters Visual for a single command
2025-01-10 11:29:44 +03:00
Matt Ellis
fcc234c4fe
Rename submode to selectionType
2025-01-10 11:29:44 +03:00
Matt Ellis
2e0ef7e0b0
Enter Insert Visual/Select mode with shifted key
2025-01-10 11:29:44 +03:00
Matt Ellis
da99e1f1c3
Return to Insert when leaving Insert Normal
2025-01-10 11:29:44 +03:00
Matt Ellis
5827ad1581
Only show mode widget popup on left mouse click
2025-01-10 11:29:44 +03:00
Matt Ellis
0e587211d9
Improve isEndAllowed
2025-01-10 11:29:44 +03:00
Matt Ellis
8b8ef80a5e
Reinstate showmode tests
2025-01-10 11:29:44 +03:00
Matt Ellis
dc5ef487d2
Show additional Insert modes in showmode widget
2025-01-10 11:29:44 +03:00
Matt Ellis
eaad93903b
Simplify Mode hierarchy
...
Wanting to add `ReturnTo.SELECT` would be very tricky, as we would have to recreate the mode, but have no details about the selection type.
2025-01-10 11:29:44 +03:00
Matt Ellis
a6b2bf1c55
Remove ReturnableFromCmd marker interface
2025-01-10 11:29:44 +03:00
dependabot[bot]
ae57fb9de0
Bump org.junit.jupiter:junit-jupiter from 5.11.3 to 5.11.4
...
Bumps [org.junit.jupiter:junit-jupiter](https://github.com/junit-team/junit5 ) from 5.11.3 to 5.11.4.
- [Release notes](https://github.com/junit-team/junit5/releases )
- [Commits](https://github.com/junit-team/junit5/compare/r5.11.3...r5.11.4 )
---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-01-10 10:29:17 +03:00
Alex Plate
f4f0f7c3ed
Apply patch for the release
2025-01-10 10:05:39 +03:00
Alex Plate
7b183f0876
Build searchable options during release.
2025-01-10 10:05:39 +03:00
Matt Ellis
e3a07b6c89
Add support for CTRL-J
...
Supported in Normal, Visual, Select and Operator-pending. Also adds support for CTRL-M in Select mode.
Fixes VIM-3740
2025-01-10 10:00:28 +03:00
aleksei.plate@jetbrains.com
0e8aecf84b
TeamCity change in 'Ideavim / IdeaVim releases' project: general settings of 'Publish minor release' build configuration were updated
2025-01-10 06:50:40 +00:00
Alex Plate
2f99d215d6
Do not build searchable options during release.
...
They're broken at the moment
2025-01-09 17:44:40 +03:00
Vladimir Parfinenko
9cb37de5ea
README: fix broken links to wiki
2025-01-09 17:24:47 +03:00
dependabot[bot]
1b030a6fb3
Bump io.ktor:ktor-client-core from 3.0.2 to 3.0.3
...
Bumps [io.ktor:ktor-client-core](https://github.com/ktorio/ktor ) from 3.0.2 to 3.0.3.
- [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.0.2...3.0.3 )
---
updated-dependencies:
- dependency-name: io.ktor:ktor-client-core
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-01-01 17:08:09 +01:00
dependabot[bot]
1f8cbe4b1d
Bump io.ktor:ktor-serialization-kotlinx-json from 3.0.2 to 3.0.3
...
Bumps [io.ktor:ktor-serialization-kotlinx-json](https://github.com/ktorio/ktor ) from 3.0.2 to 3.0.3.
- [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.0.2...3.0.3 )
---
updated-dependencies:
- dependency-name: io.ktor:ktor-serialization-kotlinx-json
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-01-01 17:07:57 +01:00
dependabot[bot]
438c6f23c8
Bump io.ktor:ktor-client-auth from 3.0.2 to 3.0.3
...
Bumps [io.ktor:ktor-client-auth](https://github.com/ktorio/ktor ) from 3.0.2 to 3.0.3.
- [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.0.2...3.0.3 )
---
updated-dependencies:
- dependency-name: io.ktor:ktor-client-auth
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-12-25 17:38:38 +01:00
dependabot[bot]
59c1efecb6
Bump io.ktor:ktor-client-content-negotiation from 3.0.2 to 3.0.3
...
Bumps [io.ktor:ktor-client-content-negotiation](https://github.com/ktorio/ktor ) from 3.0.2 to 3.0.3.
- [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.0.2...3.0.3 )
---
updated-dependencies:
- dependency-name: io.ktor:ktor-client-content-negotiation
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-12-25 17:23:15 +01:00
dependabot[bot]
d7e4164a46
Bump io.ktor:ktor-client-cio from 3.0.2 to 3.0.3
...
Bumps [io.ktor:ktor-client-cio](https://github.com/ktorio/ktor ) from 3.0.2 to 3.0.3.
- [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.0.2...3.0.3 )
---
updated-dependencies:
- dependency-name: io.ktor:ktor-client-cio
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-12-25 17:07:42 +01:00
IdeaVim Bot
5023f60315
Add Xinhe Wang to contributors list
2024-12-22 09:01:46 +00:00
Xinhe Wang
bde4fcdd47
Fix test failure introduced in 5e60ea7
2024-12-21 20:29:18 +02:00
Alex Plate
69811c864e
Add checks to avoid incorrect creation of the visual position
...
Related to VIM-3755
2024-12-18 16:33:18 +02:00
Alex Plate
c225452432
[VIM-3577] Store the information if the editor was initialized in insert mode
2024-12-18 13:19:20 +02:00
Filipp Vakhitov
5e60ea7f4c
Fix(VIM-3754): set clipboard+=unnamed stopped working in IdeVIM 2.18
...
I did remove `exclude:cons\\|linux` from the overriden value
2024-12-18 13:11:26 +02:00
Alex Plate
5995a48d7b
[VIM-3577] Replace weak reference to focused editor to needed information
...
The `editorInFocus` used the weak reference in order to avoid editor leaks. However, if the user is unlucky, the GC may be called in between the console closing and switching focus to the new editor. In this case, the logic breaks and the Editor remains in the insert mode.
Now, we store only the required information about the last used editor.
2024-12-17 20:36:51 +02:00
Alex Plate
4614e2ad54
[VIM-3617] Remove the forgotten recursion call
2024-12-17 10:06:48 +02:00
Alex Plate
077de91e01
[VIM-3617] Set a recursion guard for obtaining the editor
...
Function `selectedTextEditor` in some cases may create a new editor, what causes the recursion and IDE freeze. The guard should protect from it.
2024-12-17 10:02:34 +02:00
Alex Plate
1ce7a97f2a
Fix(VIM-3747): There is no need to remove the visual mode if there is still a selection
2024-12-16 13:38:29 +02:00
Alex Plate
02a42843a6
Update gradle wrapper
2024-12-16 09:39:22 +02:00
dependabot[bot]
eb72762073
Bump org.jetbrains.intellij.platform from 2.1.0 to 2.2.0
...
Bumps org.jetbrains.intellij.platform from 2.1.0 to 2.2.0.
---
updated-dependencies:
- dependency-name: org.jetbrains.intellij.platform
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-12-11 17:44:09 +02:00
dependabot[bot]
43a94b3d71
Bump io.ktor:ktor-client-auth from 3.0.1 to 3.0.2
...
Bumps [io.ktor:ktor-client-auth](https://github.com/ktorio/ktor ) from 3.0.1 to 3.0.2.
- [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.0.1...3.0.2 )
---
updated-dependencies:
- dependency-name: io.ktor:ktor-client-auth
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-12-11 17:42:42 +02:00
dependabot[bot]
1984873b1c
Bump org.eclipse.jgit:org.eclipse.jgit.ssh.apache
...
Bumps [org.eclipse.jgit:org.eclipse.jgit.ssh.apache](https://github.com/eclipse-jgit/jgit ) from 6.10.0.202406032230-r to 7.1.0.202411261347-r.
- [Commits](https://github.com/eclipse-jgit/jgit/compare/v6.10.0.202406032230-r...v7.1.0.202411261347-r )
---
updated-dependencies:
- dependency-name: org.eclipse.jgit:org.eclipse.jgit.ssh.apache
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-12-11 17:42:28 +02:00
Julien Phalip
4962baabad
Add support for hlsearch variable
2024-12-06 17:21:33 +02:00
Julien Phalip
2e550a0960
Add support for escape() vim function
2024-12-06 17:09:59 +02:00
IdeaVim Bot
bc48a45cd1
Add Justas Trimailovas, Justas Trimailovas to contributors list
2024-12-05 09:02:20 +00:00
Matt Ellis
a005eb0612
Fix repeating change action with count
...
Fixes VIM-3729
2024-12-04 18:23:16 +02:00
Justas Trimailovas
63297e685c
Correctly change surround if it's empty or only spaces
...
This commit fixes 2 bugs at once:
1. Correctly trim surround with closing brackets motion, e.g.: `cs()`.
It should trim all surrounding white space or leave things unchanged if
there's no space.
For example cases like these:
"( ${c}foo )" // single spaces
"( ${c}foo )" // multiple spaces
"( ${c}foo)" // assymetric spaces
"(${c} )" // single space without text
"(${c} )" // multiple spaces without text
Should trim white spaces into these results accordingly:
"${c}(foo)"
"${c}(foo)"
"${c}(foo)"
"${c}()"
"${c}()"
In case of no spaces - they should be left unchanged, e.g.:
"(${c}foo)" // no spaces around the word
"(${c})" // empty parenthesis
2. Leave empty parenthesis unchanged. IdeaVim now deleted them instead.
2024-12-04 18:07:02 +02:00
Justas Trimailovas
6c9a5e1f2d
[VIM-1824] surround - remove whitespace with closing bracket
...
**Context**:
In vim surround extendsion closing brackets (`}, ], )`) should remove
whitespace when using `cs` movement.
Example:
- Before: `{ example }`
- Movement: `cs{}`
- After: `{example}`
This was because were replaced with a string from `SURROUND_PAIRS` map,
which does not have any context about removing characters.
**Solution**:
Inspired from VSCode's VIM plugin[^1], I have introduced new class
`SurroundPair` that will carry this context about need to trim
characters.
**Disclaimer**:
I have never written in `Kotlin` so solution may be not use best
practices, though at least this PR seems to fix the problem and tests
are passing.
**Ticket**:
- https://youtrack.jetbrains.com/issue/VIM-1824/Vim-Surround-Does-not-remove-whitespace-with-the-closing-bracket
[^1]: 04fe42aa81/src/actions/plugins/surround.ts (L455)
2024-12-04 18:07:02 +02:00
dependabot[bot]
34a5ba0ba7
Bump io.ktor:ktor-client-cio from 3.0.1 to 3.0.2
...
Bumps [io.ktor:ktor-client-cio](https://github.com/ktorio/ktor ) from 3.0.1 to 3.0.2.
- [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.0.1...3.0.2 )
---
updated-dependencies:
- dependency-name: io.ktor:ktor-client-cio
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-12-04 17:59:34 +02:00
dependabot[bot]
2354dc9af9
Bump io.ktor:ktor-client-content-negotiation from 3.0.1 to 3.0.2
...
Bumps [io.ktor:ktor-client-content-negotiation](https://github.com/ktorio/ktor ) from 3.0.1 to 3.0.2.
- [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.0.1...3.0.2 )
---
updated-dependencies:
- dependency-name: io.ktor:ktor-client-content-negotiation
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-12-04 17:45:34 +02:00
dependabot[bot]
be31963a4f
Bump io.ktor:ktor-serialization-kotlinx-json from 3.0.1 to 3.0.2
...
Bumps [io.ktor:ktor-serialization-kotlinx-json](https://github.com/ktorio/ktor ) from 3.0.1 to 3.0.2.
- [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.0.1...3.0.2 )
---
updated-dependencies:
- dependency-name: io.ktor:ktor-serialization-kotlinx-json
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-12-04 17:32:02 +02:00
dependabot[bot]
277c5ae7a5
Bump io.ktor:ktor-client-core from 3.0.1 to 3.0.2
...
Bumps [io.ktor:ktor-client-core](https://github.com/ktorio/ktor ) from 3.0.1 to 3.0.2.
- [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.0.1...3.0.2 )
---
updated-dependencies:
- dependency-name: io.ktor:ktor-client-core
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-12-04 17:31:51 +02:00
dependabot[bot]
49d03cf7f1
Bump com.google.devtools.ksp:symbol-processing-api
...
Bumps [com.google.devtools.ksp:symbol-processing-api](https://github.com/google/ksp ) from 2.0.0-1.0.24 to 2.1.0-1.0.29.
- [Release notes](https://github.com/google/ksp/releases )
- [Commits](https://github.com/google/ksp/compare/2.0.0-1.0.24...2.1.0-1.0.29 )
---
updated-dependencies:
- dependency-name: com.google.devtools.ksp:symbol-processing-api
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-12-04 17:31:33 +02:00
Alex Plate
f5e7459b37
[IJPL-165238] It seems the issue was fixed
2024-12-03 15:18:20 +02:00
Alex Plate
df8144fc00
Temporally bring back first and last checks
2024-12-03 15:03:09 +02:00
dependabot[bot]
05f1d7abd7
Bump org.jetbrains.kotlin:kotlin-stdlib from 1.9.25 to 2.1.0
...
Bumps [org.jetbrains.kotlin:kotlin-stdlib](https://github.com/JetBrains/kotlin ) from 1.9.25 to 2.1.0.
- [Release notes](https://github.com/JetBrains/kotlin/releases )
- [Changelog](https://github.com/JetBrains/kotlin/blob/v2.1.0/ChangeLog.md )
- [Commits](https://github.com/JetBrains/kotlin/compare/v1.9.25...v2.1.0 )
---
updated-dependencies:
- dependency-name: org.jetbrains.kotlin:kotlin-stdlib
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-11-27 17:44:55 +02:00
Alex Pláte
6ca17ae09d
Update codeql-analysis.yml
2024-11-26 14:53:10 +02:00
Alex Pláte
f9d8b3a59e
Update syncDoc.yml
2024-11-26 14:50:29 +02:00
Alex Pláte
3279325694
Update closeYoutrackOnCommit.yml
2024-11-26 14:46:54 +02:00
Julien Phalip
b2a6d0d5c7
Add switch and functiontextobj to list of plugins
2024-11-26 14:15:38 +02:00
Julien Phalip
e32fa6dd11
Change Variable to an interface
2024-11-26 10:32:11 +02:00
Julien Phalip
ec3db81c6d
Move register variable to its own separate class
2024-11-26 10:32:11 +02:00
Julien Phalip
7062dc4860
Add support for the v:register variable
2024-11-26 10:32:11 +02:00
Alex Plate
46619040b1
Add new plugins for checking
...
From here: https://github.com/JetBrains/ideavim/discussions/1047
2024-11-25 15:32:22 +02:00
Alex Plate
035804860c
Fix incorrect configuration in gradle
2024-11-25 15:32:01 +02:00
Alex Plate
0f1a4d523f
Move the docs to the init method of VimExtension
2024-11-25 14:01:23 +02:00
Alex Plate
5f5a97a7e1
Lazily load the logger to avoid injector initialization problems
2024-11-25 13:39:24 +02:00
IdeaVim Bot
03996dce59
Add Julien Phalip to contributors list
2024-11-23 09:03:04 +00:00
filipp
0dd63c7b57
Fix nullable editor in tests
2024-11-22 17:15:07 +02:00
filipp
94d7902ef2
Remove more deprecated methods
2024-11-22 17:15:07 +02:00
filipp
3d08170d54
Post-rebase fixes
2024-11-22 17:15:07 +02:00
filipp
cccb23d9ee
Specify which commands perform mode change
...
We need this for undo subsystem. Mode change is not something that we want to be a separate entity in the undo log
P.S. It's not a full list of such commands, e.g. <ESC> for leaving insert mode is missing. It is because <ESC> may insert some text after visual block mode, I'll figure out a solution for this later
2024-11-22 17:15:07 +02:00
Filipp Vakhitov
eae3fb3ebe
Introduce VimKeyBasedUndoService and VimTimestampBasedUndoService
...
Undo is managed differently in Fleet and IJ Platform, so now we have two different interfaces that are aware of that
2024-11-22 17:15:07 +02:00
Filipp Vakhitov
7f5dce4051
Stop using some deprecated methods
2024-11-22 17:15:07 +02:00
Filipp Vakhitov
25e3988dcf
Introduce VimCopiedText class
...
I don't really like that we have `transferableData: List<Any>`
2024-11-22 17:15:07 +02:00
Filipp Vakhitov
36589c5250
Add context argument in clipboard methods
...
Alas, adding in just to clipboard was not possible, as there are a lot of depending on methods
2024-11-22 17:15:07 +02:00
Filipp Vakhitov
f1f86b5cd2
Simplify Register class
...
1. `rawText` vs `text` is confusing and `rawText` was misused, we do not need this field in IdeaVim at all
2. `rawText` and `keys` are the same thing, just parsed. And for some reason, rawText was a nullable field
3. Register is an immutable class now
4. Working with Register class is easier and more compact now
2024-11-22 17:15:07 +02:00
Filipp Vakhitov
628b3ca89f
Fix <CR> parsing
...
It's ^M, not ^J
2024-11-22 17:15:07 +02:00
Filipp Vakhitov
d2b929ddd0
Fix parsing for clipboard option
...
When I added the selection clipboard, it was confusing to explain to people how this option works and why they should prepend, because the parsing was broken
I've also removed "exclude" part, because it doesn't work in IdeaVim and can confuse people
2024-11-22 17:15:07 +02:00
filipp
43d770ff5a
Simplify getTransferableData method signature
2024-11-22 17:15:07 +02:00
Filipp Vakhitov
cde9bc94e6
Fix select mode for immutable caret
...
Due to implementation details, caret cannot be moved after setting selection
2024-11-22 17:15:07 +02:00
Filipp Vakhitov
63f6e73223
Fix select mode for immutable caret
2024-11-22 17:15:07 +02:00
Filipp Vakhitov
ad28e09fec
Move caret when deleting a char
...
In Fleet deleting text does not move caret, so we add caret moving logic
2024-11-22 17:15:07 +02:00
Filipp Vakhitov
f616f2c3c1
Fix gv in Fleet
...
Moving caret after setting selection removes the selection
2024-11-22 17:15:07 +02:00
Filipp Vakhitov
66aec26091
Move ColLineFunctionHandler.kt to vim-engine
2024-11-22 17:15:07 +02:00
Filipp Vakhitov
1d59c49b95
Move more logic to vim-engine
2024-11-22 17:15:07 +02:00
Matt Ellis
8da15b8c08
Manually track last selected editor
...
This is important for initialising options. We can't rely on FileEditorManager.selectedTextEditor, as 2024.2 changed behaviour to reset to null during creation of a new editor. This fixes tests (and option initialisation) for 242.
2024-11-22 17:01:38 +02:00
Matt Ellis
e22c2b6473
Improve updating fallback window option values
...
The assumption for selection change events is no longer valid in 242, so switch approach to checking when editors are released
2024-11-22 17:01:38 +02:00
Matt Ellis
e293c1b786
Add tests for updating the fallback window
2024-11-22 17:01:38 +02:00
Matt Ellis
468ca840ed
Update options tests
...
Expanded to assert changes on all open windows, and formatted to make it a little easier to read/comprehend what's being tested
2024-11-22 17:01:38 +02:00
Julien Phalip
c75e6756c0
Add some tests for the getcmdtype() function
2024-11-22 16:49:04 +02:00
Julien Phalip
52737c60cf
Add JSON entry for getcmdtype function
2024-11-22 16:49:04 +02:00
Julien Phalip
e99c191d49
Add partial support for getcmdtype() function
...
Tests not included
2024-11-22 16:49:04 +02:00
Julien Phalip
5db2984fdd
Add ability to set the highlightedyank foreground color
2024-11-22 15:48:22 +02:00
Alex Plate
365b58eb56
Update build.gradle checker
2024-11-15 20:54:07 +02:00
Alex Plate
b026144254
Add RWLock label to selectionStart & selectionEnd
2024-11-15 20:53:54 +02:00
Alex Plate
0e3cda827c
Fix(VIM-3695): Wrap getting a vimLeadSelectionOffset with a read action
2024-11-15 20:44:00 +02:00
Alex Plate
ed2fe3dcf0
Fix(VIM-3696): Get the state of the selection in read action
2024-11-15 20:34:41 +02:00
Alex Plate
791edbd29b
Restore compatibility with peekaboo plugin
...
https://plugins.jetbrains.com/plugin/25776-vim-peekaboo
2024-11-13 19:39:24 +02:00
Matt Ellis
4f9d76ef66
Fix memory leak with non-disposed listeners
...
Fixes VIM-3319
2024-11-13 18:00:47 +02:00
Matt Ellis
4b7381901d
Fix bug removing map that is also a prefix
2024-11-13 17:57:31 +02:00
Matt Ellis
6e2cb9ba11
Reorder functions. No logic changes
2024-11-13 17:57:31 +02:00
Matt Ellis
91cd4ab01f
Add sequences to iterate keystroke trie
...
Allows iterating the trie entries without having to create a list or create a list for each entry's keystrokes.
2024-11-13 17:57:31 +02:00
Matt Ellis
34d23180bd
Avoid wrapping the keys list for each map attempt
2024-11-13 17:57:31 +02:00
Matt Ellis
fc5aaa50d8
Remove unnecessary hasmapfrom function
2024-11-13 17:57:31 +02:00
Matt Ellis
c7bbfdcaf5
Remove some test only functions
2024-11-13 17:57:31 +02:00
Matt Ellis
562906fe6d
Filter map output by prefix
...
Fixes VIM-2981
2024-11-13 17:57:31 +02:00
Matt Ellis
976771d11a
Implement smap and snoremap
...
Support for sunmap and smapclear already exists, and vmap would introduce a Select mode map.
Fixes VIM-2260
2024-11-13 17:57:31 +02:00
Matt Ellis
5fc4462b03
Support map! to map insert and cmdline modes
...
Also supports `mapclear!` and `unmap!`
Moves parsing of the bang modifier to the parser so we can tell the difference between `map! foo bar` and `map ! foo bar`
2024-11-13 17:57:31 +02:00
Matt Ellis
5f263e7014
Fix output of maps with same keys in multiple modes
...
E.g. `map foo bar` and `vmap foo baz` would only output one map for `foo` when calling `:map`. Now it will output all maps that match the ex command's modes. This change also improves the marker characters in the first column of map output.
2024-11-13 17:57:31 +02:00
Matt Ellis
4c899fcc93
Simplify test code
2024-11-13 17:57:31 +02:00
Matt Ellis
2f8fe392af
Use KeyStrokeTrie for maps
2024-11-13 17:57:31 +02:00
Matt Ellis
84c7e1159b
Introduce KeyStrokeTrie to find commands
...
Should also restore compatibility with idea-which-key
2024-11-13 17:57:31 +02:00
Matt Ellis
18d6f79796
Add missing C-PageUp/Down shortcuts to switch tab
...
Fixes VIM-2044
2024-11-13 17:52:28 +02:00
Matt Ellis
a745da9761
Add Shift+Enter mapping to scroll page forward
...
Fixes VIM-2752
2024-11-13 17:52:28 +02:00
Matt Ellis
5eb36ce428
Remove unneeded extended special name parsing
...
This was needed when action keys were registered in a comma separated list in a single XML attribute string. Additional encoding was needed for angle brackets and commas. Registration has changed, and this is no longer needed
2024-11-13 17:52:28 +02:00
Alex Plate
b0951f4a38
Add information about the Vim-Peekaboo plugin
2024-11-08 11:06:32 +02:00
dependabot[bot]
bcf519027e
Bump io.ktor:ktor-client-content-negotiation from 2.3.10 to 3.0.1
...
Bumps [io.ktor:ktor-client-content-negotiation](https://github.com/ktorio/ktor ) from 2.3.10 to 3.0.1.
- [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/2.3.10...3.0.1 )
---
updated-dependencies:
- dependency-name: io.ktor:ktor-client-content-negotiation
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-11-06 17:51:11 +02:00
dependabot[bot]
9aece44a00
Bump io.ktor:ktor-client-cio from 3.0.0 to 3.0.1
...
Bumps [io.ktor:ktor-client-cio](https://github.com/ktorio/ktor ) from 3.0.0 to 3.0.1.
- [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.0.0...3.0.1 )
---
updated-dependencies:
- dependency-name: io.ktor:ktor-client-cio
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-11-06 17:37:07 +02:00
dependabot[bot]
61912e2c9b
Bump io.ktor:ktor-serialization-kotlinx-json from 2.3.12 to 3.0.1
...
Bumps [io.ktor:ktor-serialization-kotlinx-json](https://github.com/ktorio/ktor ) from 2.3.12 to 3.0.1.
- [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/2.3.12...3.0.1 )
---
updated-dependencies:
- dependency-name: io.ktor:ktor-serialization-kotlinx-json
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-11-06 17:21:37 +02:00
Matt Ellis
92ee271f1e
Add fallback if ve guicursor option not specified
2024-11-05 12:29:13 +02:00
Matt Ellis
babc5daf3b
Use Visual-exclusive caret shape from guicursor
2024-11-05 12:29:13 +02:00
Alex Plate
c0a10c65e1
Upgrade TC agents
2024-11-05 11:56:20 +02:00
Alex Plate
5145bb4193
Mute some NeoVim tests
2024-11-05 11:50:44 +02:00
Alex Plate
8825f790d4
Fix the problem with the JSON in tests
...
In 2025.1 the JSON plugin is extracted from the platform. See IJPL-159354
2024-11-05 11:45:32 +02:00
Alex Plate
a0f0f71b6a
Revert "Fix deprecated API usage"
...
This reverts commit b0dd75f77c .
Because of some reason, this place fails on TC. Let's deal with this later
2024-11-05 05:43:14 +02:00
Alex Plate
6a73f9e65a
Bump TC configurations to use 2024.2.1
2024-11-05 05:09:19 +02:00
Alex Plate
4ee858877d
Revert "Remove pre-242 workaround"
...
This reverts commit 727cfb36ba .
2024-11-05 04:16:32 +02:00
Matt Ellis
82d18cfbb9
Remove unused imports
2024-11-05 04:14:12 +02:00
Matt Ellis
b0dd75f77c
Fix deprecated API usage
2024-11-05 04:14:12 +02:00
Matt Ellis
727cfb36ba
Remove pre-242 workaround
2024-11-05 04:14:12 +02:00
Matt Ellis
a7d5c5f2d4
Remove custom version for split mode
...
Split mode run task will use the same version as runIde
2024-11-05 04:14:12 +02:00
Matt Ellis
1e02848a66
Update target IDEA version to 242
...
Note that this uses 2024.2.1 as the minimum version because 2024.2.0 is no longer available.
2024-11-05 04:14:12 +02:00
Alex Plate
9d8afc5fcb
TC: Use the idea version from the gradle configuration to run github tests
2024-11-05 03:46:32 +02:00
dependabot[bot]
15b2a17ae6
Bump org.junit.jupiter:junit-jupiter-engine from 5.10.3 to 5.10.5
...
Bumps [org.junit.jupiter:junit-jupiter-engine](https://github.com/junit-team/junit5 ) from 5.10.3 to 5.10.5.
- [Release notes](https://github.com/junit-team/junit5/releases )
- [Commits](https://github.com/junit-team/junit5/compare/r5.10.3...r5.10.5 )
---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter-engine
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-10-30 18:10:50 +02:00
dependabot[bot]
39a2cdcf50
Bump io.ktor:ktor-client-auth from 2.3.12 to 3.0.1
...
Bumps [io.ktor:ktor-client-auth](https://github.com/ktorio/ktor ) from 2.3.12 to 3.0.1.
- [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/2.3.12...3.0.1 )
---
updated-dependencies:
- dependency-name: io.ktor:ktor-client-auth
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-10-30 18:09:09 +02:00
dependabot[bot]
2fd488531b
Bump org.junit.vintage:junit-vintage-engine from 5.10.3 to 5.10.5
...
Bumps [org.junit.vintage:junit-vintage-engine](https://github.com/junit-team/junit5 ) from 5.10.3 to 5.10.5.
- [Release notes](https://github.com/junit-team/junit5/releases )
- [Commits](https://github.com/junit-team/junit5/compare/r5.10.3...r5.10.5 )
---
updated-dependencies:
- dependency-name: org.junit.vintage:junit-vintage-engine
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-10-30 17:55:56 +02:00
dependabot[bot]
e69b30796c
Bump org.junit.jupiter:junit-jupiter-api from 5.10.3 to 5.10.5
...
Bumps [org.junit.jupiter:junit-jupiter-api](https://github.com/junit-team/junit5 ) from 5.10.3 to 5.10.5.
- [Release notes](https://github.com/junit-team/junit5/releases )
- [Commits](https://github.com/junit-team/junit5/compare/r5.10.3...r5.10.5 )
---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter-api
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-10-30 17:54:34 +02:00
dependabot[bot]
790a0afdf3
Bump io.ktor:ktor-client-core from 2.3.12 to 3.0.1
...
Bumps [io.ktor:ktor-client-core](https://github.com/ktorio/ktor ) from 2.3.12 to 3.0.1.
- [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/2.3.12...3.0.1 )
---
updated-dependencies:
- dependency-name: io.ktor:ktor-client-core
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-10-30 17:54:12 +02:00
IdeaVim Bot
66b01b0b0d
Add Greg Shrago to contributors list
2024-10-26 09:02:33 +00:00
Alex Plate
71ea6184a0
Add Greg Shrago to the contributors list
2024-10-25 18:18:12 +03:00
Greg Shrago
0b1c79d961
Disable some IJ additional checks
2024-10-25 18:14:37 +03:00
Alex Plate
6b751fae6e
Disable some IJ additional checks
2024-10-25 17:29:07 +03:00
Alex Plate
152066b73c
Apply TeamCity patches
2024-10-25 17:00:44 +03:00
aleksei.plate@jetbrains.com
dfe645c4eb
TeamCity change in 'Ideavim' project: general settings of 'Tests for IntelliJ 2024.2' build configuration were updated
2024-10-25 13:52:21 +00:00
Alex Plate
5024fd94da
There are fails in the configuration, let's revert part of it
2024-10-25 16:47:57 +03:00
Alex Plate
4d3a231a35
Add java and other tests to artifacts
2024-10-25 16:27:53 +03:00
Alex Plate
e1a803d310
Disable one more test that doesn't work on 242
2024-10-25 15:59:05 +03:00
Alex Plate
96b224c0d8
Fix compilation issues
2024-10-25 14:47:54 +03:00
Alex Plate
8b6de3f5c6
Fix split window tests for 242
...
The window splitting was refactored to initialize the editor async. So, we have to wait till the editor will become available.
This can't be done while holding the EDT, so we start this bunch of tests from the non-EDT thread.
2024-10-25 14:35:55 +03:00
Alex Plate
9014d99cde
Add a note that PluginStartup code should be updated and migrated to a different approach
2024-10-25 14:35:55 +03:00
Alex Plate
8dfd41a891
Refactoring: Move VimDocumentListener from multicaster to plugin.xml registration
...
The problem happens in tests: after the refactorings in 242, the `EditorListenerTracker` may be called before the initialization of the IdeaVim. In this case, it'll report the VimDocumentListener as a leaked listener, however, it's incorrect.
Generally, I think that this situation with the listener tracker is a bug.
There should be no changes in IdeaVim behaviour as the multicaster does the same thing: subscribes every editor on this listener. However, the multicaster does this in the "registerEditor" stage. However, I don't think this is a problem.
2024-10-25 14:35:55 +03:00
Alex Plate
7e62e816a5
Refactoring: Move FocusChangeListener from multicaster to per-editor subscription
...
The problem happens in tests: after the refactorings in 242, the `EditorListenerTracker` may be called before the initialization of the IdeaVim. In this case, it'll report the FocusChangeListener as a leaked listener, however, it's incorrect.
Generally, I think that this situation with the listener tracker is a bug.
There should be no changes in IdeaVim behaviour as the multicaster does the same thing: subscribes every editor on this listener. However, the multicaster does this in the "registerEditor" stage. However, I don't think this is a problem.
2024-10-25 14:35:55 +03:00
dependabot[bot]
9c4965581a
Bump org.junit.jupiter:junit-jupiter from 5.11.0 to 5.11.3
...
Bumps [org.junit.jupiter:junit-jupiter](https://github.com/junit-team/junit5 ) from 5.11.0 to 5.11.3.
- [Release notes](https://github.com/junit-team/junit5/releases )
- [Commits](https://github.com/junit-team/junit5/compare/r5.11.0...r5.11.3 )
---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-10-23 19:04:24 +03:00
dependabot[bot]
d1abc0c9f9
Bump io.ktor:ktor-client-cio from 2.3.10 to 3.0.0
...
Bumps [io.ktor:ktor-client-cio](https://github.com/ktorio/ktor ) from 2.3.10 to 3.0.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/2.3.10...3.0.0 )
---
updated-dependencies:
- dependency-name: io.ktor:ktor-client-cio
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-10-23 18:51:08 +03:00
dependabot[bot]
43555ad581
Bump org.jetbrains:annotations from 24.1.0 to 26.0.1
...
Bumps [org.jetbrains:annotations](https://github.com/JetBrains/java-annotations ) from 24.1.0 to 26.0.1.
- [Release notes](https://github.com/JetBrains/java-annotations/releases )
- [Changelog](https://github.com/JetBrains/java-annotations/blob/master/CHANGELOG.md )
- [Commits](https://github.com/JetBrains/java-annotations/compare/24.1.0...26.0.1 )
---
updated-dependencies:
- dependency-name: org.jetbrains:annotations
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-10-23 18:50:30 +03:00
dependabot[bot]
640e5ac552
Bump org.jetbrains.intellij.platform from 2.0.0-rc2 to 2.1.0
...
Bumps org.jetbrains.intellij.platform from 2.0.0-rc2 to 2.1.0.
---
updated-dependencies:
- dependency-name: org.jetbrains.intellij.platform
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-10-23 18:49:52 +03:00
dependabot[bot]
40b706bcf4
Bump org.junit.jupiter:junit-jupiter-params from 5.10.3 to 5.10.5
...
Bumps [org.junit.jupiter:junit-jupiter-params](https://github.com/junit-team/junit5 ) from 5.10.3 to 5.10.5.
- [Release notes](https://github.com/junit-team/junit5/releases )
- [Commits](https://github.com/junit-team/junit5/compare/r5.10.3...r5.10.5 )
---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter-params
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-10-23 18:49:36 +03:00
Alex Plate
5b355a8e95
TC: Remove old tests configurations
...
There was not a single case when these tests were needed
2024-10-23 13:31:33 +03:00
IdeaVim Bot
8ed53284e4
Add Kirill Karnaukhov, SanderHestvik to contributors list
2024-10-22 09:01:48 +00:00
Alex Plate
1f6e124f9d
Fix(VIM-3676): Allow to set the handle for shortcuts with arrows
...
With the AI functionality, the shortcut ctrl-right got more important. However, previously it was defined as VIM_ONLY shortcut. However, taking the fact that IJ defines several actions for such shortcuts, it's not clear why we prohibit the users from using these shortcuts with the IDE actions.
Taking the fact, that we default shortcuts to VIM, I expect no changes in the behaviour.
However, just arrows are still hidden from setting the IDE handler. I think, it reduces the cognitive load for the user, especially taking the fact that arrows work almost equally in vim and IJ.
2024-10-21 17:56:44 +03:00
Kirill Karnaukhov
5198864f34
[ai-completion] LLM-11886: make AI completion invoke on Enter when IdeaVim is turned on
2024-10-21 17:02:36 +03:00
Alex Plate
ecfff61aad
Fix the issue in the replacement script
2024-10-21 16:17:49 +03:00
Alex Plate
26909af5de
Update the doc sync script to remove the .md from the links.
2024-10-21 16:16:17 +03:00
Alex Plate
ad762379fb
Update IdeaVim Plugins.md
2024-10-21 16:12:11 +03:00
SanderHestvik
dd4f2de368
Fix links in doc/Home.md
...
Currently these links give a 404
2024-10-21 16:11:29 +03:00
Matt Ellis
879d191800
Scroll caret into view after undo/redo
...
This is to ensure that 'scrolloff' is applied. Relates to VIM-3671
2024-10-21 15:50:58 +03:00
Matt Ellis
9d9e38843d
Invoke undo/redo on correct editor
...
Fixes VIM-3671
2024-10-21 15:50:58 +03:00
Matt Ellis
f7aded99e8
Only perform incsearch in current project
...
Fixes VIM-3682
2024-10-21 15:50:58 +03:00
Igor Babko
4e1de61d77
Update support-guide.md
2024-10-21 14:13:31 +03:00
Matt Ellis
34fe09c8f9
Use full width of output panel for text
2024-09-05 19:22:04 +03:00
Matt Ellis
10283ce2f8
Add support for custom digraphs
2024-09-05 19:22:04 +03:00
Matt Ellis
cc53b59658
Add digraph headers
2024-09-05 19:22:04 +03:00
Matt Ellis
c758a79f79
Minor refactor outputting digraphs
2024-09-05 19:22:04 +03:00
Matt Ellis
01d00d45d8
Add a default size for the digraph string builder
2024-09-05 19:22:04 +03:00
Matt Ellis
5c7edc498f
Rename getDigraph - it gets a char from a digraph
2024-09-05 19:22:04 +03:00
Matt Ellis
9c403d2862
Simplify creating string digraph key
2024-09-05 19:22:04 +03:00
Matt Ellis
ebbd733bba
Update default digraphs to match current Vim
...
List is based on Vim's documentation, although not all digraphs are documented. Additional digraphs are added based on the output of `:digraphs`. These additional digraphs include some digraphs that produce the same character, so the code is updated to handle duplicates, with the same ordering/priority as Vim.
Extra digraphs include the Euro symbol (`=e` and `Eu`), quadruple prime (`4'`) and bullet (`oo`), amongst others.
Also removes a number of non-standard digraphs. The symbols generated don't match the descriptions. The code appears to be private use, so are not reliable. Once custom digraphs are implemented, they can be easily added back in `~/.ideavimrc`
2024-09-05 19:22:04 +03:00
Matt Ellis
88d1e1d24a
Suppress language download inspection
2024-09-05 19:22:04 +03:00
Matt Ellis
c19f2aeee4
Update comments for default digraphs
2024-09-05 19:22:04 +03:00
Matt Ellis
86202c846a
Remove unused commented digraph data
2024-09-05 19:22:04 +03:00
Matt Ellis
9a7ff442f3
Correctly format RTL and combining digraph chars
2024-09-05 19:22:04 +03:00
Matt Ellis
3752a97d74
Output digraph character codes in decimal, like Vim
...
Not sure why IdeaVim has used hex. Vim appears to have used decimal for at least 20 years.
2024-09-05 19:22:04 +03:00
Matt Ellis
5572dfc80d
Update digraph formatting to match Vim
...
Vim only use the `~` prefix if the encoding is "latin1". We can just treat it as though the encoding is Unicode, and match the other places we format printable characters. Note that for Vim, if `'display'` contains "uhex", then all unprintable characters are shown in hex, including control characters (`^C`, etc.). IdeaVim does not support the `'display'` option.
2024-09-05 19:22:04 +03:00
Matt Ellis
100f420d46
Strip trailing spaces
2024-09-05 19:22:04 +03:00
Matt Ellis
3fcc4746d8
Migrate digraph output to engine
2024-09-05 19:22:04 +03:00
Matt Ellis
5c5ac192da
Add tests for digraph output
2024-09-05 19:22:04 +03:00
Alex Plate
a0a2163ba0
Disable some action tests because they're broken in 242
...
Related: VIM-3376
2024-09-05 18:58:20 +03:00
Alex Plate
02724cadce
Fix the leaking timer in tests
2024-09-05 18:57:43 +03:00
Alex Plate
b205f87902
Disable tests for options for split window
...
The behaviour of FileEditorManagerEx.split has been changed, causing the tests to fail. This should be fixed in a separate commit
2024-09-05 18:57:12 +03:00
Alex Plate
314304246a
Fix the LATEST-EAP-SNAPSHOT tests
2024-09-05 17:10:14 +03:00
Alex Plate
785688b1ca
Fix compatibility in tests with 2024.2
2024-09-05 16:42:16 +03:00
IdeaVim Bot
4c09ab4766
Add Felix Wiemuth to contributors list
2024-08-31 09:01:59 +00:00
Alex Plate
ee447bce07
Add a note to replace the raw string after the changes will be available
...
https://github.com/JetBrains/intellij-community/pull/2825
2024-08-30 18:57:00 +03:00
Alex Plate
5fb4c10f88
Add 2024.2 IJ for testing on TC
2024-08-30 18:42:02 +03:00
Alex Plate
ed2fcb08b0
[VIM-3620] Add a link to the usage survey
2024-08-30 18:34:10 +03:00
dedd90ce13
Fix(VIM-3615): Escape closes dialog while waiting for more keys
2024-08-30 16:46:53 +03:00
Alex Plate
73326e623e
Use the behavior form in docs
2024-08-30 16:42:03 +03:00
Alex Plate
a2bc34d6ec
[VIM-3620] Show the uninstall survey only when uninstalling IdeaVim
2024-08-30 16:41:36 +03:00
Felix Wiemuth
b652c7726a
Fix typo
2024-08-30 16:41:05 +03:00
Matt Ellis
fb7a2de07b
Encapsulate the command builder's state flag
...
This also gets rid of BAD_COMMAND, which was set but never checked - the function that set the flag would immediately reset the command builder
2024-08-30 16:36:24 +03:00
Matt Ellis
def9ca479b
Ensure builder resets to a root command trie node
...
Also refactors command nodes a bit for better debug/trace output
2024-08-30 16:36:24 +03:00
Matt Ellis
0936e0761f
Reorder CommandBuilder methods
...
Try to keep related functions together: awaiting arguments, count, registers, adding action/argument, processing keystrokes, build, reset.
2024-08-30 16:36:24 +03:00
Matt Ellis
09a335bcfe
Start to encapsulate setting command builder state
...
Also rename `pushCommandPart` and `completeCommandPart`
2024-08-30 16:36:24 +03:00
Matt Ellis
37b8d69bac
Remove unused EMPTY_COMMAND
2024-08-30 16:36:24 +03:00
Matt Ellis
13308050a8
Remove unnecessary OperatorArguments parameters
2024-08-30 16:36:24 +03:00
Matt Ellis
a1a553ebc9
Deprecate OperatorArguments.mode
2024-08-30 16:36:24 +03:00
Matt Ellis
5bb0c4f7cb
Use editor.mode instead of OperatorArguments.mode
...
`OperatorArguments.mode` is the mode *before* the command was completed, rather than the current mode, which is non-obvious. E.g. for a command in Insert mode, it will still be Insert, and for a (simple) command in Normal, it will still be Normal. The only difference is that a command such as `dw` would be in Operator-pending before the command is completed. That logic is not required for this method, so it's safe to use the current mode.
This allows us to start to deprecate `OperatorArguments.mode`.
2024-08-30 16:36:24 +03:00
Matt Ellis
da6736f24a
Simplify the logic when yanking during delete
2024-08-30 16:36:24 +03:00
Matt Ellis
4df1ce2ae8
Remove OperatorArguments.mode usage in block insert
...
`OperatorArguments.mode` is the mode *before* the command is completed, so might be Visual, Operator-pending, Insert, etc. It's not immediately obvious this is the case, so we're going to deprecate `OperatorArguments.mode` to avoid confusion with `editor.mode`.
It's not required for this method because it's only called for Visual-block mode.
2024-08-30 16:36:24 +03:00
Matt Ellis
00fd4cd491
Handle op-pending for space and backspace
2024-08-30 16:36:24 +03:00
Matt Ellis
d185672e2f
Deprecate OperatorArguments.isOperatorPending
...
Register specific handlers for Operator-pending mode instead of relying on a runtime flag for behaviour. Also refactors and renames some arrow motion handlers.
2024-08-30 16:36:24 +03:00
Matt Ellis
55fef03a4a
Add 'whichwrap' to dictionary
2024-08-30 16:36:24 +03:00
Matt Ellis
69b3e4f782
Start to refactor OperatorArguments
2024-08-30 16:36:24 +03:00
Matt Ellis
6be29b0378
Remove KeyHandler.isOperatorPending
...
It's easier to just look at mode. We don't need the additional check on command builder, because we can't be in OP_PENDING without pushing an operator action to the command builder
2024-08-30 16:36:24 +03:00
Matt Ellis
9965c863a6
Encapsulate command node state in builder
2024-08-30 16:36:24 +03:00
Matt Ellis
3f11ae512c
Move register pending state to command builder
2024-08-30 16:36:24 +03:00
Matt Ellis
1c842eb3d8
Avoid exposing misleading count on command builder
2024-08-30 16:36:24 +03:00
Matt Ellis
c7fbce675b
Update comment
2024-08-30 16:36:24 +03:00
Matt Ellis
d7e68488c8
Make Command.rawCount immutable
2024-08-30 16:36:24 +03:00
Matt Ellis
69d13a74e6
Remove unnecessary copy method
2024-08-30 16:36:24 +03:00
Matt Ellis
5a83df34a7
Replace var properties with read only
2024-08-30 16:36:24 +03:00
Matt Ellis
0a18c388e0
Simplify CommandBuilder
...
Fixes selecting last register if multiple registers are used in a command
2024-08-30 16:36:24 +03:00
Matt Ellis
1a3409e7df
Remove count from motion argument
...
Only Command has a count. The motion argument is now a sealed class hierarchy, and consists only of the motion action and optional argument. This is to reduce confusion over which count to use, and potential incorrect calculation of the count
2024-08-30 16:36:24 +03:00
Matt Ellis
e93db961a0
Wrap offsets argument as an external action
2024-08-30 16:36:24 +03:00
Matt Ellis
8fd76bd08f
Refactor properties for sealed Argument classes
2024-08-30 16:36:24 +03:00
Matt Ellis
0eea4a5b2c
Introduce sealed classes to represent an argument
2024-08-30 16:36:24 +03:00
Matt Ellis
18a0c533e2
Remove unused OperatedRange type
2024-08-30 16:36:24 +03:00
Matt Ellis
0bd8d8f4d2
Remove unused digraph command flag
2024-08-30 16:36:24 +03:00
Alex Plate
64a89c8863
[VIM-3620] Add the uninstall survey
...
We're actively working on understanding the users and what we can improve in the plugin
2024-08-28 18:57:29 +03:00
Filipp Vakhitov
5b17d7740e
Update generated files after merging PRs
2024-08-25 21:51:14 +03:00
IdeaVim Bot
e406885ec6
Add Igor Babko to contributors list
2024-08-24 09:01:39 +00:00
filipp
9bbeab8062
VIM-2074 Backspace behaviour is incorrect in Replace mode
2024-08-23 14:22:48 +03:00
filipp
373bfc4eab
Add endOffset to LiveRange
2024-08-23 14:22:48 +03:00
filipp
050f2f7b97
Respect emojis and don't assume that every character is a single offset
2024-08-23 14:18:03 +03:00
Filipp Vakhitov
e30bc14843
Make closing command line safer
2024-08-23 14:18:03 +03:00
Filipp Vakhitov
76d590be11
Support more flexible command line restrictions for Fleet
2024-08-23 14:18:03 +03:00
Filipp Vakhitov
b005328b4a
Exclude generated files from .gitignore
...
I've also added sorting to be more confident that the generated file will be persistent across different machines
2024-08-23 14:18:03 +03:00
Filipp Vakhitov
ad20021cee
Remove currentAction and some unused code
2024-08-23 14:18:03 +03:00
Filipp Vakhitov
126de5c218
Remove package-info.java
2024-08-23 14:18:03 +03:00
Filipp Vakhitov
0f7aef3f15
Fix tests
2024-08-23 14:18:03 +03:00
Filipp Vakhitov
f352b84922
Move some Executor logic to its base class
2024-08-23 14:18:03 +03:00
Filipp Vakhitov
789faa7cb2
Add entry to history on <Esc> in COMMAND mode
2024-08-23 14:18:03 +03:00
Filipp Vakhitov
a338f5768a
Better reset
2024-08-23 14:18:03 +03:00
Filipp Vakhitov
8205c74571
Remove some old bindings
2024-08-23 14:18:03 +03:00
Filipp Vakhitov
def40eb409
Save last entry on every command line text update
2024-08-23 14:18:03 +03:00
Filipp Vakhitov
010e8a7541
Support <C-U> in command mode
2024-08-23 14:18:03 +03:00
Filipp Vakhitov
46c6778b3a
Support <Down>, <S-Down>, <C-N>, <PageDown> in command mode
2024-08-23 14:18:03 +03:00
Filipp Vakhitov
0977bd4400
Support <Up>, <S-Up>, <C-P>, <PageUp> in command mode
2024-08-23 14:18:03 +03:00
Filipp Vakhitov
db092e9b0a
Support history in VimCommandLine
2024-08-23 14:18:03 +03:00
Filipp Vakhitov
5cfb98e188
Remove some old bindings
2024-08-23 14:18:03 +03:00
Filipp Vakhitov
3a95b62885
Support <Insert> in command mode
2024-08-23 14:18:03 +03:00
Filipp Vakhitov
93e6adf5a9
Support <C-W> in command mode
2024-08-23 14:18:03 +03:00
Filipp Vakhitov
37204398ff
Support <C-Right>, <S-Right> in command mode
2024-08-23 14:18:03 +03:00
Filipp Vakhitov
b2f450d14d
Support <C-Left>, <S-Left> in command mode
2024-08-23 14:18:03 +03:00
Filipp Vakhitov
61da888571
Fix failing tests
2024-08-23 14:18:03 +03:00
Filipp Vakhitov
fcda97cfb8
Update methods to support searching in any text, not just Editor content
2024-08-23 14:18:03 +03:00
Filipp Vakhitov
1dc7ea6363
Register all shortcuts without references on ExKeyBindings
...
All the shortcuts will be removed from ExKeyBindings, but they still need to be registered
2024-08-23 14:18:03 +03:00
Filipp Vakhitov
bb507db884
Remove swing bindings that are already implemented
2024-08-23 14:18:03 +03:00
Filipp Vakhitov
7b0482ed94
Fix unwanted beep when can't perform an action
2024-08-23 14:18:03 +03:00
Filipp Vakhitov
1c79b0d59a
Support <Right> in command mode
2024-08-23 14:18:03 +03:00
Filipp Vakhitov
ff4eb31418
Support <Left> in command mode
2024-08-23 14:18:03 +03:00
Filipp Vakhitov
cb1078cf70
Support <C-H> in command mode
2024-08-23 14:18:03 +03:00
Filipp Vakhitov
da3e40eaf6
Support <C-E>, <End> in command mode
2024-08-23 14:18:03 +03:00
Filipp Vakhitov
17f77a9639
Support <C-B>, <Home> in command mode
2024-08-23 14:18:03 +03:00
Filipp Vakhitov
3d03494354
Support <DEL> in command mode
2024-08-23 14:18:03 +03:00
Filipp Vakhitov
642caddda7
Support <BS> in command mode
2024-08-23 14:18:03 +03:00
Filipp Vakhitov
1d97c43e30
Make ExEntryAction public
...
Fleet registers commands manually, so commands must be accessible
2024-08-23 14:18:03 +03:00
Igor Babko
7ed3e3b53c
Update support-guide.md
2024-08-23 12:14:41 +03:00
IdeaVim Bot
aa39ca2006
Add shaun to contributors list
2024-08-19 09:01:43 +00:00
shaun
bb122903de
remove Latest Fixes link
2024-08-19 10:23:23 +03:00
shaun
c84a3cf64d
[changelog] add YouTrack link for version fixes
2024-08-19 10:23:23 +03:00
IdeaVim Bot
f4c9464b8a
Add The1xDeveloper to contributors list
2024-08-17 09:01:38 +00:00
The1xDeveloper
3ba14d05b4
VIM-566: Add za motion support for toggling folds
2024-08-16 12:28:18 +03:00
Filipp Vakhitov
2189b70b87
Fix(VIM-3601): The escape characters in IdeaVim's configuration file are invalid
2024-08-14 18:18:55 +03:00
dependabot[bot]
ea2222f9d5
Bump org.junit.jupiter:junit-jupiter from 5.10.3 to 5.11.0
...
Bumps [org.junit.jupiter:junit-jupiter](https://github.com/junit-team/junit5 ) from 5.10.3 to 5.11.0.
- [Release notes](https://github.com/junit-team/junit5/releases )
- [Commits](https://github.com/junit-team/junit5/compare/r5.10.3...r5.11.0 )
---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-08-14 18:53:54 +03:00
Filipp Vakhitov
7d68d41888
Fix(VIM-3580): New terminal switches editor to insert mode
2024-08-12 13:44:24 +03:00
Alex Pláte
44749b6d8c
Update IdeaVim Plugins.md
2024-08-12 12:16:19 +03:00
Alex Pláte
1ce4dbc569
Update Home.md
2024-08-12 12:14:44 +03:00
Alex Pláte
db59513505
Update Home.md
2024-08-12 12:13:36 +03:00
Filipp Vakhitov
8c9ff9465f
Fix(VIM-3584): com.maddyhome.idea.vim.KeyHandler requests com.maddyhome.idea.vim.api.VimKeyGroup instance. Class initialization must not depend on services
2024-08-11 01:12:59 +03:00
Filipp Vakhitov
1a2322ddec
OutputPanel no longer ignores key events
2024-08-10 23:55:57 +03:00
dependabot[bot]
fbbd1ebc0d
Bump org.antlr:antlr4 from 4.13.1 to 4.13.2
...
Bumps [org.antlr:antlr4](https://github.com/antlr/antlr4 ) from 4.13.1 to 4.13.2.
- [Release notes](https://github.com/antlr/antlr4/releases )
- [Changelog](https://github.com/antlr/antlr4/blob/dev/CHANGES.txt )
- [Commits](https://github.com/antlr/antlr4/compare/4.13.1...4.13.2 )
---
updated-dependencies:
- dependency-name: org.antlr:antlr4
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-08-07 18:46:09 +03:00
Alex Plate
8d5df11372
Add a warning when the action is executed from the write action
...
Related: VIM-3376
2024-08-06 11:11:40 +03:00
Matt Ellis
dfebe542d8
Fix incsearch highlight in multiple Rider instances
...
Unlike other IDEs, Rider has multiple client sessions. The IDE itself is the "local" session, while the external ReSharper process is treated as a "frontend" process. The code to get local editors was erroneously getting `ALL` sessions, rather than just `LOCAL` sessions, and assuming that the first was the local session. In Rider, opening three instances would add three additional clients, and that would change the order.
I don't know why I changed `LOCAL` to `ALL` when previously changing this bit of code. AIUI, using `LOCAL` should work fine. If it turns out that CWM or remote dev require `ALL`, please document why.
Fixes VIM-3549
2024-08-05 18:58:45 +03:00
Matt Ellis
7fde47c08b
Update README.md
...
Added links to POSIX spec
2024-08-01 14:04:58 +03:00
dependabot[bot]
629919f634
Bump org.jetbrains.intellij.platform from 2.0.0-rc1 to 2.0.0-rc2
...
Bumps org.jetbrains.intellij.platform from 2.0.0-rc1 to 2.0.0-rc2.
---
updated-dependencies:
- dependency-name: org.jetbrains.intellij.platform
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-07-31 17:27:09 +02:00
dependabot[bot]
43fff1c73e
Bump com.google.devtools.ksp:symbol-processing-api
...
Bumps [com.google.devtools.ksp:symbol-processing-api](https://github.com/google/ksp ) from 2.0.0-1.0.23 to 2.0.0-1.0.24.
- [Release notes](https://github.com/google/ksp/releases )
- [Commits](https://github.com/google/ksp/compare/2.0.0-1.0.23...2.0.0-1.0.24 )
---
updated-dependencies:
- dependency-name: com.google.devtools.ksp:symbol-processing-api
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-07-31 17:26:53 +02:00
Alex Plate
d02f0e17ca
Revert "Fix(VIM-3376): Refactor the way IdeaVim executes actions"
...
This reverts commit 24514039
2024-07-31 13:14:25 +03:00
Filipp Vakhitov
5dc860f61e
Fix(VIM-3569): Pipe-symbol can no longer be used in remaps
2024-07-30 18:02:12 +03:00
Alex Plate
956e726c31
Add test
2024-07-29 17:48:07 +02:00
Alex Plate
446067e2fe
Update formatting
2024-07-29 16:57:29 +02:00
Alex Plate
bd53a895c0
Return nullability of editor in action
2024-07-29 16:54:02 +02:00
Alex Plate
e61fed2467
Revert "Use installer in case of the snapshot dependency"
...
This reverts commit f5e125759f .
2024-07-29 16:51:25 +02:00
Alex Plate
f5e125759f
Use installer in case of the snapshot dependency
2024-07-29 16:47:31 +02:00
Alex Plate
622eb887c8
Make style refactoring
2024-07-29 16:37:57 +02:00
Alex Plate
9fb614e16c
Pass editor to the "execute" method of the NativeAction
2024-07-29 16:36:01 +02:00
Alex Plate
1e0fa07768
Fix problem with unsatisfied condition
2024-07-29 16:15:58 +02:00
Alex Plate
bfb1d5b7f5
Remove accidential return
2024-07-29 14:08:15 +02:00
Alex Plate
2fad8790a9
Reset key handler in property tests
2024-07-29 13:57:32 +02:00
Alex Plate
9719106a14
Fix incorrect assertions after migration to the new version of gradle plugin
2024-07-29 13:52:14 +02:00
Alex Plate
870a0da2a2
Update UI tests without octopus handler
2024-07-29 13:41:24 +02:00
Alex Plate
d3c315d299
Update logs location in UI tests
2024-07-29 13:39:53 +02:00
Alex Plate
2583b6e792
Print the list of available keys for debugging
2024-07-29 13:27:15 +02:00
Alex Plate
89417eb4f6
Comment out compatibility check for copilot because it's broken for the moment
2024-07-29 13:16:50 +02:00
Alex Plate
560700c9aa
Pass editor to the execution of the action
...
Related: VIM-3376
2024-07-29 12:49:16 +02:00
Alex Plate
24514039e1
Fix(VIM-3376): Refactor the way IdeaVim executes actions
...
Now instead of a few hacks, we use a special function from the platform
2024-07-29 12:49:16 +02:00
Alex Plate
ff44596c1a
Migrate to gradle plugin 2.0.0-rc1
2024-07-26 19:00:31 +03:00
Filipp Vakhitov
b001d63fd9
Do not fire VimInsertListener on every mode change
2024-07-26 17:30:08 +03:00
Filipp Vakhitov
5db96bef28
Fix compilation with IdeaVimExtension
2024-07-26 17:30:08 +03:00
Filipp Vakhitov
39c615cddd
Do not cast VimStateMachine classes in vim-engine
...
It will break if we change implementation in Fleet
2024-07-26 17:30:08 +03:00
Filipp Vakhitov
961173a93b
Fix tests
2024-07-26 17:30:08 +03:00
Filipp Vakhitov
92741c6356
Fix compilation
2024-07-26 17:30:08 +03:00
Filipp Vakhitov
643eb2a85f
Add context to MappingProcessor
2024-07-26 17:30:08 +03:00
filipp
883744e4ee
Move blockInsert to vim-engine
2024-07-26 17:30:08 +03:00
filipp
66173e03be
Move reformatCodeRange to vim-engine
2024-07-26 17:30:08 +03:00
filipp
e455722758
Move more methods to vim-engine
2024-07-26 17:30:08 +03:00
filipp
823bdc1561
Replace VimYankGroup with implementation that works with VimListenersNotifier
2024-07-26 17:30:08 +03:00
filipp
f91fda2ca5
Remove VimInsertListener
...
It can be replaced by ModeChangeListener
2024-07-26 17:30:08 +03:00
filipp
92abd76615
Move more methods to engine
2024-07-26 17:30:08 +03:00
filipp
57c45ca153
Move more methods to engine
2024-07-26 17:30:08 +03:00
filipp
7c623ae4b5
Move case change methods to engine
2024-07-26 17:30:08 +03:00
filipp
f2ef92cdef
Remove unused method
2024-07-26 17:30:08 +03:00
Filipp Vakhitov
e8e6eabe97
Fix tests
...
See https://youtrack.jetbrains.com/issue/VIM-3566/Unit-Tests-Test-UI-Caret-Attributes for more details.
2024-07-26 16:31:47 +03:00
Filipp Vakhitov
ef1c915264
Fix visual mode not being removed.
...
Steps to reproduce:
1. Select some text inside diff editor
2. Open 'Find in Files' window and search for file
3. Open the found file
Result: current mode is VISUAL
2024-07-26 14:24:01 +03:00
Filipp Vakhitov
a5e2168f7f
Fix(VIM-3540): Caret icon is stuck in incorrect mode when having two or more simultaneous instances running
...
Some of the text input fields where Vim should not work at all had block carets.
It did not happen before, because previously we had a unique VimStateMachine for each editor and for newly created editors it was in INSERT mode. And we did call the updateSecondaryCaretsVisualAttributes method for editors that have nothing to do with Vim, but because of the INSERT mode it was looking OK.
However, now the VimStateMachine is global, and we can't rely on local INSERT anymore.
This commit forbids updating caret visual attributes for editors that do not support Vim.
NOTE: `isIdeaVimDisabledHere` is broken during editor creation handling, it always returns true. However, we do not trigger carets redraws on editor creation and do it on focus events, so it should work.
2024-07-26 00:44:35 +03:00
Filipp Vakhitov
83e5470b3a
Fix(VIM-3563): Can't exit insert mode in Readonly File
2024-07-25 22:54:39 +03:00
dependabot[bot]
c446de8979
Bump org.jetbrains.kotlin:kotlin-stdlib from 1.9.24 to 1.9.25
...
Bumps [org.jetbrains.kotlin:kotlin-stdlib](https://github.com/JetBrains/kotlin ) from 1.9.24 to 1.9.25.
- [Release notes](https://github.com/JetBrains/kotlin/releases )
- [Changelog](https://github.com/JetBrains/kotlin/blob/v1.9.25/ChangeLog.md )
- [Commits](https://github.com/JetBrains/kotlin/compare/v1.9.24...v1.9.25 )
---
updated-dependencies:
- dependency-name: org.jetbrains.kotlin:kotlin-stdlib
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-07-24 19:02:14 +03:00
Matt Ellis
13426915f4
Remove special case handling for macro recording
2024-07-23 23:08:24 +03:00
Matt Ellis
d766c3b8ee
Add test for nested insert literal action
2024-07-23 23:08:24 +03:00
Matt Ellis
844bc01537
Make functions protected
2024-07-23 23:08:24 +03:00
Matt Ellis
3d2d32b022
Move special case code to actions
2024-07-23 23:08:24 +03:00
Matt Ellis
a8677d3dd7
Refactor expected argument type
...
We no longer need to track a previous fallback argument type, since we don't support nested commands inside a command builder. We can just return the current argument type, or its fallback
2024-07-23 23:08:24 +03:00
Matt Ellis
7217fdf734
Remove unused special case check
...
This was to handle nested commands, e.g. inserting a digraph inside a search `d/foo<C-K>OK<CR>`. The command line now has its own command builder, so this check is no longer needed
2024-07-23 23:08:24 +03:00
Matt Ellis
0c867b3869
Make some CommandBuilder properties immutable
2024-07-23 23:08:24 +03:00
Matt Ellis
b3bcab4336
Refactor DigraphResult to sealed classes
2024-07-23 23:08:24 +03:00
Matt Ellis
fe1b48a9b3
Refactor digraph prompt handling
2024-07-23 23:08:24 +03:00
Matt Ellis
b5a0862520
The last command part is the current one
2024-07-23 23:08:24 +03:00
Matt Ellis
babc1f54e5
Return the last valid register if it exists
...
The last command part is not guaranteed to be a "select register" part. The user might have selected a register then typed an operator, and we might be waiting for a motion.
2024-07-23 23:08:24 +03:00
Matt Ellis
32b910a65b
Remove unused functions and properties
2024-07-23 23:08:24 +03:00
Filipp Vakhitov
2aa71a0008
Add "Dracula" theme to mode widget
2024-07-23 19:36:07 +03:00
Filipp Vakhitov
c2c0c2aba2
Fix(VIM-3552): Undo undoes paste and insert in one keypress
2024-07-22 23:08:56 +03:00
Alex Plate
6a10cf5e0d
Update the configuration for PY UI tests
2024-07-22 10:08:56 +03:00
Alex Plate
90474a3a4f
Fix the mouse button issue
2024-07-19 20:25:45 +03:00
Alex Plate
be43f74bc6
Get rid of deprecated execute method in UI tests
2024-07-19 19:36:11 +03:00
Alex Plate
5916c42cd1
Disable cache for gradle UI tests
2024-07-19 18:52:58 +03:00
Alex Plate
a43c7ece32
Remove deprecated execute function in UI tests
2024-07-19 18:37:14 +03:00
Alex Plate
40c1070b1a
Update path to logs in UI tests one more time
2024-07-19 17:52:54 +03:00
Alex Plate
75ccdb2a4d
Update qodana after moving the vimscript to the engine
2024-07-19 17:47:49 +03:00
Alex Plate
3de7b0ca78
Disable configuration cache for gradle release task
2024-07-19 17:43:26 +03:00
Alex Plate
448e32a6cc
Update AceJump dependency to the latest one
2024-07-19 17:27:02 +03:00
Alex Plate
4a85058ba2
Start using kotlin 2.0
...
Originally this is needed to update the dependency on AceJump, which uses the kotlin 2.0 compiler, and its classes are not compatible with the old compiler
2024-07-19 17:13:59 +03:00
filipp
7e28deb328
Better logic
...
In case that user will unsubscribe via setting UI and won't call IdeaVim's action
2024-07-19 16:29:15 +03:00
filipp
f3767b53b7
Subscribe IDE EAP users to IdeaVim EAP
2024-07-19 16:12:33 +03:00
Alex Plate
1026e27e64
Bring back the old version of AceJump dependency because the new one breaks the compilation
2024-07-19 14:58:20 +03:00
Alex Plate
18d653a9ae
Update AceJump dependency to the latest one
2024-07-19 14:32:11 +03:00
Alex Plate
fcf4b44443
Save the whole sandbox after the UI test
2024-07-19 09:35:39 +03:00
Alex Plate
907e44b1d7
Change the gradle task for the UI tests
2024-07-19 09:05:11 +03:00
Alex Plate
6c9b39a623
Update gradle plugin and remote robot versions
2024-07-18 17:08:16 +03:00
dependabot[bot]
a3cb093b42
Bump org.jetbrains.intellij.platform from 2.0.0-beta8 to 2.0.0-beta9
...
Bumps org.jetbrains.intellij.platform from 2.0.0-beta8 to 2.0.0-beta9.
---
updated-dependencies:
- dependency-name: org.jetbrains.intellij.platform
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-07-17 15:50:17 +00:00
dependabot[bot]
524e854c61
Bump com.google.devtools.ksp:symbol-processing-api
...
Bumps [com.google.devtools.ksp:symbol-processing-api](https://github.com/google/ksp ) from 2.0.0-1.0.22 to 2.0.0-1.0.23.
- [Release notes](https://github.com/google/ksp/releases )
- [Commits](https://github.com/google/ksp/compare/2.0.0-1.0.22...2.0.0-1.0.23 )
---
updated-dependencies:
- dependency-name: com.google.devtools.ksp:symbol-processing-api
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-07-17 18:49:49 +03:00
Filipp Vakhitov
5588c27037
Attempt to fix VIM-3540
...
I'm not sure what causes the issue, but everything was working when we were updating visual attributes per each caret and... let update them per each caret
2024-07-17 14:45:50 +03:00
Filipp Vakhitov
90d36eea98
Make myInputInterceptor private
2024-07-17 13:30:54 +03:00
Filipp Vakhitov
f4414de86c
Safer getCurrentModalInput()
2024-07-17 13:30:54 +03:00
Filipp Vakhitov
d46102ccaf
Remove deprecated method from vim-engine
2024-07-17 13:30:54 +03:00
Filipp Vakhitov
82347f5f0d
Fix surround
2024-07-17 13:30:54 +03:00
Filipp Vakhitov
c594f28acb
Fix compilation
2024-07-17 13:30:54 +03:00
Filipp Vakhitov
bf6517e58f
Add comment
2024-07-17 13:30:54 +03:00
Filipp Vakhitov
aec2f4c435
Remove isCancel argument
...
It was not used anywhere
2024-07-17 13:30:54 +03:00
Filipp Vakhitov
8f905758d5
Remove typing in ModalInput
...
Typing is more suitable for command lines than a modal input, and most likely it should be used instead
It is still possible to support typing by properly implementing the handleKey method
2024-07-17 13:30:54 +03:00
Filipp Vakhitov
80cc236f48
Remove modal input on click
2024-07-17 13:30:54 +03:00
Filipp Vakhitov
e432a02a45
Remove confirmChoice method
...
It used secondary loop
2024-07-17 13:30:54 +03:00
Filipp Vakhitov
d7894fa7f4
ProcessSubstituteCommand refactoring part 9
...
Finally, moved confirmation dialog to modal input
2024-07-17 13:30:54 +03:00
Filipp Vakhitov
853d7032f0
ProcessSubstituteCommand refactoring part 8
2024-07-17 13:30:54 +03:00
Filipp Vakhitov
5f9f57e1c0
ProcessSubstituteCommand refactoring part 7
2024-07-17 13:30:54 +03:00
Filipp Vakhitov
f4381c8216
ProcessSubstituteCommand refactoring part 6
2024-07-17 13:30:54 +03:00
Filipp Vakhitov
20eee7cae7
ProcessSubstituteCommand refactoring part 5
2024-07-17 13:30:54 +03:00
Filipp Vakhitov
33392c2148
ProcessSubstituteCommand refactoring part 4
2024-07-17 13:30:54 +03:00
Filipp Vakhitov
bb67564fbe
ProcessSubstituteCommand refactoring part 3
2024-07-17 13:30:54 +03:00
Filipp Vakhitov
61ccbcd788
ProcessSubstituteCommand refactoring part 2
...
We do not need the `doAll` condition (because the next code block with `doAll` adjusts line and column for the next match to be correct),
And the line2 can't be >= editor.lineCount()
2024-07-17 13:30:54 +03:00
Filipp Vakhitov
1dbaa3be6d
ProcessSubstituteCommand refactoring part 1
2024-07-17 13:30:54 +03:00
Filipp Vakhitov
872bc22830
Remove shouldRecord from KeyConsumer
...
shouldRecord value was only updated in ModeInputConsumer when the key was not handled. But when the key is not handled, it is not passed to finishedCommandPreparation and the shouldRecord value is not used
2024-07-17 13:30:54 +03:00
Filipp Vakhitov
ce23ed814c
Move command line key handling logic to KeyConsumer
2024-07-17 13:30:54 +03:00
Filipp Vakhitov
82cd534756
Remove startExEntry method
...
We may create a command line via the VimCommandLineService and forget (or do not know) about calling startExEntry necessary. So we move its logic inside the creation of the command line
2024-07-17 13:30:54 +03:00
Filipp Vakhitov
673809d6b9
Move lastCommand to CmdFilterCommand
2024-07-17 13:30:54 +03:00
Filipp Vakhitov
cdbaf73b1e
Remove unused fields from VimProcessGroup
2024-07-17 13:30:54 +03:00
Filipp Vakhitov
7f911b7e72
Fix VisualAreaMatcher
...
It looks for the last selection info in all conditions, not the ones that were specified
2024-07-17 13:30:54 +03:00
Filipp Vakhitov
c03a2dfe7e
Add support for finishOn in readInputAndProcess
2024-07-17 13:30:54 +03:00
Filipp Vakhitov
75935ce4d1
Add readInputAndProcess to replace inputString and save us from using secondary loop
2024-07-17 13:30:54 +03:00
Filipp Vakhitov
f0b203409e
Replace cancelExEntry with close method in VimCommandLine
2024-07-17 13:30:54 +03:00
Filipp Vakhitov
b3b369eb59
Remove unnecessary write action
...
`insertRegister` is self synchronized
2024-07-17 13:30:54 +03:00
Filipp Vakhitov
96072982cf
Replace deprecated inputString() with ModalInput
2024-07-17 13:30:54 +03:00
Filipp Vakhitov
de016fc445
Always register shortcuts
...
No matter what kind of panel we have, we want VimShortcutKeyAction to be triggered and pass the shortcut keys (e.g. CTRL-C to close panel)
2024-07-17 13:30:54 +03:00
Filipp Vakhitov
554d9b5f7b
Create a Wrapper for ExEntryPanel
...
ExEntryPanel already extends JPanel, so we need a wrapper to make it extend VimModalInputBase
2024-07-17 13:30:54 +03:00
Filipp Vakhitov
149edefad5
Delegate handling closing keystrokes to implementations
...
Sometimes it may mean aborting interception (CTRL-C), sometimes finishing it (CR)
2024-07-17 13:30:54 +03:00
Filipp Vakhitov
52d3840c83
Rename argument
2024-07-17 13:30:54 +03:00
Filipp Vakhitov
793677d4fd
Add typeText() method to VimModalInput
2024-07-17 13:30:54 +03:00
Filipp Vakhitov
2376ee4877
Fix tests
2024-07-17 13:30:54 +03:00
Filipp Vakhitov
68dcab6262
Introduce ModalInput to get rid of Swing's secondary loop
2024-07-17 13:30:54 +03:00
Filipp Vakhitov
f38fd3512c
Fix passing key to editor when the output panel is scrolled to its end
2024-07-17 13:30:54 +03:00
Filipp Vakhitov
e515278ba3
Add label field to VimOutputPanel
2024-07-17 13:30:54 +03:00
Filipp Vakhitov
9cc69e41ee
Add KeyHandling logic to VimOutputPanel
2024-07-17 13:30:54 +03:00
Filipp Vakhitov
2109ff235c
Fix tests
2024-07-16 20:32:11 +03:00
Filipp Vakhitov
d6910aa81d
Fix(VIM-3538): Can't select a block in {} when the cursor is on commented Line
2024-07-16 19:23:43 +03:00
Filipp Vakhitov
8369391902
Fix(VIM-3530): "Yank inner block"/"Change inner block" uses wrong block
2024-07-16 18:47:58 +03:00
Alex Plate
f336807498
Bring back IU for copilot compatibility testing
2024-07-16 09:09:35 +03:00
Alex Plate
14ba5d7126
Convert Troubleshooter field to function to avoid early initialization
2024-07-15 13:54:20 +03:00
Alex Plate
288394d25f
Update the notification text for undo
2024-07-15 13:19:03 +03:00
Alex Plate
fb08b5fd65
Prepare to changing the default value of the undo
...
A notification added to give the information about what happened
Related: VIM-547
2024-07-15 13:16:01 +03:00
Alex Plate
3465e11c3a
Initialize the injector in multiple entry points of IntelliJ
...
Initially, injector was initialized in VimPlugin, assuming that almost every interaction with the plugin goes through it. However, with the plugin evolution, this class starts to be less used.
As IJ doesn't have any single entry point for the plugins, we initialize it in multiple places.
However, the architecture where the plugin might be not initizlied is considered as a bad acrhitecture and should be reviewed.
Related ticket: VIM-3369
2024-07-12 15:09:18 +03:00
Matt Ellis
e07a16863e
Show possible IDs based on the action's shortcuts
...
Fixes VIM-3499
2024-07-12 15:09:02 +03:00
kun-codes
64f7532510
added rename functionality
2024-07-12 09:53:07 +03:00
kun-codes
dd892e77fb
added paste functionality
2024-07-12 09:53:07 +03:00
kun-codes
65aeeba521
added copy functionality
2024-07-12 09:53:07 +03:00
dependabot[bot]
ca3e56d0d6
Bump org.mockito.kotlin:mockito-kotlin from 5.3.1 to 5.4.0
...
Bumps [org.mockito.kotlin:mockito-kotlin](https://github.com/mockito/mockito-kotlin ) from 5.3.1 to 5.4.0.
- [Release notes](https://github.com/mockito/mockito-kotlin/releases )
- [Commits](https://github.com/mockito/mockito-kotlin/compare/5.3.1...5.4.0 )
---
updated-dependencies:
- dependency-name: org.mockito.kotlin:mockito-kotlin
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-07-10 18:21:34 +03:00
dependabot[bot]
bcbfb0dc32
Bump org.jetbrains.changelog from 2.2.0 to 2.2.1
...
Bumps org.jetbrains.changelog from 2.2.0 to 2.2.1.
---
updated-dependencies:
- dependency-name: org.jetbrains.changelog
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-07-10 18:21:20 +03:00
Alex Plate
46a4a10e63
Reformat code in tests
2024-07-10 10:06:27 +03:00
Alex Plate
d5bddd077f
Disable Gradle configuration cache in CI tests
...
With gradle plugin 2.0 this cache fails on GitHub Actions. This solution is temporlly and generally the `integrationsTest` should be migrated from `doLast` to some other task approach
2024-07-10 09:02:26 +03:00
Alex Plate
e22fd263cc
Test compatibility of copilot on PyCharm
...
The current execution reports the absence of python plugin. Probably there is a dependency on PyCharm there
2024-07-09 16:35:32 +03:00
Alex Plate
f3902d0ae0
Convert property to function to avoid extra service creation
2024-07-09 16:07:57 +03:00
Alex Plate
f9213ee45d
Mute some tests that depend on oldundo option
2024-07-09 15:46:41 +03:00
Alex Plate
281bc2573e
Bring back some methods to preserve the compatibility with other plugins
2024-07-09 15:38:50 +03:00
Alex Plate
ae8c7f6bfa
Revert "Remove old compatibility layers"
...
This reverts commit 6cee04a4be .
2024-07-09 15:32:39 +03:00
filipp
c0419d6018
Fix project leak
2024-07-08 13:09:08 +03:00
filipp
ea98e50f65
Sometimes safety is a bad thing
2024-07-08 13:09:08 +03:00
filipp
168174e383
Add missing resetOpPending to KeyHandler.reset
2024-07-08 13:09:08 +03:00
filipp
53cd4e1b88
Remove KeyHandlerStateResetter
...
It's an oneliner that we can live without
2024-07-08 13:09:08 +03:00
filipp
27e3561bb8
Safer VimListenersNotifier
2024-07-08 13:09:08 +03:00
filipp
9bb9cb13e3
Fix possible bug in the ExOutputModel.show() method and add documentation
2024-07-08 13:09:08 +03:00
filipp
16455f7241
Remove the update() method from VimOutputPanel
2024-07-08 13:09:08 +03:00
filipp
82225aa519
Use new interface instead of the old one
2024-07-08 13:09:08 +03:00
Filipp Vakhitov
5f2baefc6c
Introduce new interface for VimOutputPanel to support the output panel in Fleet
...
Why is the old interface bad?
- it is not obvious. You cannot create a new panel or check if it is already created. Only "getOrCreate" it
- output panel is bound to editor while in Vim it is global
- we have the `isActive` field and the `clear()` method at the same time, because interface implies that you store the same instance of the panel and reactivate it for each output and I don't like it. We also can forget to call `clear()` after reusing panel
- we cannot "build" output before showing to make the panel more efficient. With multiple carets we can only cal `output(oldText + newText)` for each caret, and it is bad. (imagine we have global command with a lot of matches and for each time we will need to call the `output(oldText + newText)`)
- the `output()` method shows panel, activates it and updates it
- there are more things that I do not like, but the points above should be already enough
2024-07-08 13:09:08 +03:00
Filipp Vakhitov
cedcf39723
Fix(VIM-3461): Focus regression
2024-07-08 13:09:08 +03:00
Filipp Vakhitov
4925d9aada
Remove ideaglobalmode option
...
Mode is global now
2024-07-08 13:09:08 +03:00
Filipp Vakhitov
f3e6df32d0
Fix(VIM-3462): IdeaVim not responsive occasionally
...
This bug was caused by two reasons:
1. KeyHandler state is not longer per-editor and we can't reset it on editor creation
2. We do not need to do such things on editor creation. What actually matters is focusing the editor
2024-07-08 13:09:08 +03:00
Filipp Vakhitov
5aaa8752af
Move to new API from deprecated one
2024-07-08 13:09:08 +03:00
Filipp Vakhitov
a1d214316c
Make VimStateMachine global
...
It is global in Vim
2024-07-08 13:09:08 +03:00
filipp
8a1e3eb066
Move toggleInsertOverwrite() to VimEditor
...
If we execute it from VimStateMachine directly, then mode change listeners are not notified
2024-07-08 13:09:08 +03:00
Alex Plate
75a417773f
[VIM-547]: Turn off new undo for the next release as well
2024-07-05 12:14:10 +03:00
IdeaVim Bot
b3b3ee4f21
Add Jake to contributors list
2024-07-04 09:01:54 +00:00
Filipp Vakhitov
07b1db4b28
Fix(VIM-3518): line numbers in :g/ not displayed
2024-07-04 01:50:33 +06:00
Filipp Vakhitov
dc775a0f22
Move number option to vim-engine
2024-07-04 00:11:36 +06:00
Filipp Vakhitov
10228f953e
Fix(VIM-3517): Add support for global find & replace Vim-ism — :g/pattern/s//replacement/g
2024-07-03 22:34:42 +06:00
Matt Ellis
afceecadbe
Disable the configuration cache for GitHub actions
...
These tasks should be rewritten to work nicely with Gradle's configuration cache. In the meantime, this allows them to still run as actions.
2024-07-03 19:39:55 +03:00
Matt Ellis
b2a4e59571
Update gradle plugin to beta 8
...
Fixes an issue with resetting the sandbox after killing the IDE instead of quitting gracefully
2024-07-03 19:39:55 +03:00
Alex Plate
b0b944bbf3
Temporally get rid of the configuration cache
2024-07-03 19:39:31 +03:00
Alex Plate
89a3d74b93
Try not to use the configuration cache in gradle automations at the moment
...
This is done because the current implementation of the gradle commands is not correct and the cache fails on GitHub actions.
2024-07-03 19:32:10 +03:00
Alex Plate
f4eef04750
Do not bundle kotlin-stdlib and kotlin-reflection to the plugin distribution
...
IJ has it's own kotlin libs, as well as fleet. So, let's use kotlin reflection library only to compile the project without bundling these jars into the resulting plugin
2024-07-03 19:32:10 +03:00
dependabot[bot]
e62c86b99f
Bump org.junit.jupiter:junit-jupiter-api from 5.10.2 to 5.10.3
...
Bumps [org.junit.jupiter:junit-jupiter-api](https://github.com/junit-team/junit5 ) from 5.10.2 to 5.10.3.
- [Release notes](https://github.com/junit-team/junit5/releases )
- [Commits](https://github.com/junit-team/junit5/compare/r5.10.2...r5.10.3 )
---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter-api
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-07-03 19:13:37 +03:00
dependabot[bot]
82bd792da5
Bump org.junit.jupiter:junit-jupiter-engine from 5.10.2 to 5.10.3
...
Bumps [org.junit.jupiter:junit-jupiter-engine](https://github.com/junit-team/junit5 ) from 5.10.2 to 5.10.3.
- [Release notes](https://github.com/junit-team/junit5/releases )
- [Commits](https://github.com/junit-team/junit5/compare/r5.10.2...r5.10.3 )
---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter-engine
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-07-03 18:56:45 +03:00
dependabot[bot]
a58c9065e6
Bump org.junit.jupiter:junit-jupiter from 5.10.2 to 5.10.3
...
Bumps [org.junit.jupiter:junit-jupiter](https://github.com/junit-team/junit5 ) from 5.10.2 to 5.10.3.
- [Release notes](https://github.com/junit-team/junit5/releases )
- [Commits](https://github.com/junit-team/junit5/compare/r5.10.2...r5.10.3 )
---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-07-03 18:39:47 +03:00
dependabot[bot]
e8bf984b76
Bump org.junit.jupiter:junit-jupiter-params from 5.10.2 to 5.10.3
...
Bumps [org.junit.jupiter:junit-jupiter-params](https://github.com/junit-team/junit5 ) from 5.10.2 to 5.10.3.
- [Release notes](https://github.com/junit-team/junit5/releases )
- [Commits](https://github.com/junit-team/junit5/compare/r5.10.2...r5.10.3 )
---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter-params
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-07-03 18:39:37 +03:00
Alex Plate
23e1a3499f
Do not update the YouTrack tickets in case of patch release
...
This is usually not needed. Also, if we create a new EAP for the next version, this task will close these tickets on patch release, what is incorrect.
2024-07-03 11:49:14 +03:00
Matt Ellis
6b4e4bacd7
Fix null reference initialising output panel fonts
...
Fixes VIM-3515
2024-07-03 09:43:48 +03:00
Alex Plate
a84c04ca08
Revert "Temporally comment out release branch reset"
...
This reverts commit e67c71e440 .
2024-07-02 10:38:15 +03:00
Alex Plate
e67c71e440
Temporally comment out release branch reset
2024-07-02 10:05:23 +03:00
Alex Plate
5078ff9c7a
Disable check size for releases
2024-07-02 10:04:49 +03:00
Alex Plate
647510de5d
Optimize imports for the project
2024-06-28 17:30:17 +03:00
Alex Plate
84e11e4236
Add useful .idea files to git
...
.name will show the correct name "IdeaVim" in IJ
`misc.xml` contains information about the annotations that should be considered as "EntryPoints" for the function. With this, they'll not be marked as unused
2024-06-28 17:25:56 +03:00
Alex Plate
9538714af1
Remove explicit API mode to enhance coding efficiency and maintain Kotlin's conciseness
...
Explicit API mode has been removed due to several reasons impacting developer productivity and the natural coding style in Kotlin.
Firstly, the mode was found to be more irritating than beneficial, as it forced unnecessary verbosity without enhancing thoughtfulness in coding. It often prompted automatic 'public' insertion reactions to red-highlighted code, which did not genuinely encourage more deliberate coding decisions.
Secondly, our aim is to form a robust API primarily through interfaces, which inherently define public scope and duty, rendering explicit API mode somewhat redundant.
Lastly, the additional verbosity caused by explicit API mode expanded code lines affecting code readability.
The compatibility with the existing plugins is verified via the compatibility checker, so no JetBrains plugins will be affected
2024-06-28 17:11:16 +03:00
Alex Plate
ffd832d990
Get rid of RegExp class
2024-06-28 17:01:30 +03:00
filipp
8de2b8976b
Avoid using deprecated RegExp in VimRegexService
2024-06-28 16:58:13 +03:00
filipp
a6aa26b5d9
Remove deprecated methods
2024-06-28 16:58:13 +03:00
filipp
2505651c68
Deprecate methods in VimStateMachine that duplicate KeyHandler functionality
2024-06-28 16:58:13 +03:00
filipp
e67c7b23ff
Remove deprecated code from VimStateMachine
2024-06-28 16:58:13 +03:00
filipp
453cca3b0c
Remove resetState() from editor
...
It mostly resets KeyHandler, so it's more a KeyHandler responsibility. It also utilises deprecated API.
2024-06-28 16:58:13 +03:00
filipp
6cee04a4be
Remove old compatibility layers
...
It is necessary to remove deprecated code from VimStateMachine in future commits
2024-06-28 16:58:13 +03:00
filipp
ae8b9b4773
Mark isOperatorPending as deprecated
...
It calls the same method in KeyHandler. We do not need it in VimStateMachine
2024-06-28 16:58:12 +03:00
Matt Ellis
e748b7b265
Fix soft wrap inconsistency in run console
...
IntelliJ has multiple soft wrap options. One for main editors, another for consoles and a third for previews. This can lead to inconsistencies if initialising a console based on a main editor when both have default values, versus the same scenario when the main editor has an explicit value. Furthermore, the run console's soft-wraps toggle button uses the global value, so can get out of sync if the local value is initialised to an explicit value. This change will only copy the soft wrap value over during initialisation for similar editors (main editor, preview, diff) and not for different editors (console).
Fixes VIM-3450
2024-06-28 16:50:25 +03:00
Matt Ellis
c2401ec013
Protect against recursion when opening editors
...
Fixes VIM-3066
2024-06-28 16:50:25 +03:00
Matt Ellis
8073d7ecd0
Fix copying 'fileencoding' during window opening
...
The option should be "local-noglobal", and reset to default. Copying the value could cause the file to be converted immediately, possibly with a warning dialog
Fixes VIM-3467
2024-06-28 16:50:25 +03:00
Matt Ellis
64f7859ba7
Fix switching to insert for non-file backed diff
...
Fixes VIM-3442
2024-06-28 16:50:25 +03:00
Matt Ellis
f1b94d7026
Fix regression ignoring case in global command
...
Regression in new regex engine
2024-06-28 16:50:25 +03:00
Matt Ellis
79653b6048
Update ex output asserts to remove trailing newline
...
The trailing newline was never necessary. The text field always stripped it, but the test code didn't. The previous commit pulled this behaviour out of the UI code, so the test code behaves the same as the UI.
This commit fixes all of the tests that were broken by that change. No other logic has been changed.
2024-06-28 16:50:25 +03:00
Matt Ellis
b0e6b72281
Fix regression missing newlines in :print output
2024-06-28 16:50:25 +03:00
Matt Ellis
e6220e5e53
Fix regression clearing output instead of closing
2024-06-28 16:50:25 +03:00
Matt Ellis
3c064845b1
Fix ex text field handling of zoom and font size
...
The ex text field and output pane will correctly resize and reposition if visible when the IDE zoom value changes. If the editor's font size is zoomed with the mouse wheel, the panels are hidden, so they do not obscure the font zoom indicator widget
Fixes VIM-3417
2024-06-28 16:50:25 +03:00
Alex Plate
736cb219ca
Remove the use of RegExp from ExEntryPanel
2024-06-28 16:47:32 +03:00
Alex Plate
fb30e4e387
Adapt the code to the new search helper functions
2024-06-28 16:17:45 +03:00
Alex Plate
74550ffa16
Refactor countWords function
2024-06-28 16:17:45 +03:00
Alex Plate
d0a0672282
Rename .java to .kt
2024-06-28 16:17:45 +03:00
Alex Plate
16e92ddf60
Move SearchHelper classes to kotlin file
2024-06-28 16:17:45 +03:00
Alex Plate
4d8e68d800
Get rid of many unused search functions
2024-06-28 16:17:45 +03:00
Alex Plate
bbebfaf32a
Remove some obsolete and deprecated code
2024-06-28 16:17:44 +03:00
filipp
7e56331e47
Fix failing test
2024-06-28 15:47:19 +03:00
Matt Ellis
750db8e71c
Fix 'incsearch'+'wrapscan' at bottom of file
...
If all results are before the caret, make sure it's still possible to highlight the closest match if 'wrapscan' is enabled
Fixes VIM-3505
2024-06-28 13:55:57 +03:00
filipp
4255ef68a3
Post review improvements
...
Add explanatory comment
2024-06-28 13:55:06 +03:00
Filipp Vakhitov
3313464214
Fix(VIM-3501): Global commands applied to the following lines if matches > 1
2024-06-28 13:55:06 +03:00
Filipp Vakhitov
683ba32a15
Fix test compilation
2024-06-28 13:55:06 +03:00
Filipp Vakhitov
90a60155e5
Move VimscriptParser to vim-engine
2024-06-28 13:55:06 +03:00
Filipp Vakhitov
b25d06ed9e
Move Vimscript visitors to vim-engine
2024-06-28 13:55:06 +03:00
Filipp Vakhitov
706ae3dd91
Move GlobalCommand to vim-engine
2024-06-28 13:55:06 +03:00
Filipp Vakhitov
9b15ed8181
Add VimRangeMarker
2024-06-28 13:55:06 +03:00
Filipp Vakhitov
f355bef36b
Remove deprecated SearchGroup.java
2024-06-28 13:55:06 +03:00
Filipp Vakhitov
4391e69c48
Move DocumentSearchListener to IjVimSearchGroup
2024-06-28 13:55:06 +03:00
Filipp Vakhitov
0710d80391
Remove SearchGroup from GlobalCommand
2024-06-28 13:55:06 +03:00
filipp
cf41a3a76c
Fix(VIM-3507): Mapping exits early on double backslash
2024-06-28 13:46:06 +03:00
jake.peters
31b2cd872f
Use when expression instead of convoluted nested if else
2024-06-28 12:39:58 +03:00
jake.peters
2b6945cbb2
Add ability to iterate over all states for unassigned handlers
...
This is still a WIP
2024-06-28 12:39:58 +03:00
jake.peters
ae5f43918f
Use BGT instead of EDT
2024-06-28 12:39:58 +03:00
jake.peters
6b6bc2752e
Rename method to be more reflective of its toggle functionality.
2024-06-28 12:39:58 +03:00
jake.peters
4556adae3c
Add ability to change all handlers to use either Vim or IDE shortcuts.
2024-06-28 12:39:58 +03:00
Filipp Vakhitov
1b0886041b
Fix(VIM-3506): in command mode no longer change cursor to "
2024-06-27 15:46:22 +05:00
dependabot[bot]
16e18f3ca7
Bump io.ktor:ktor-client-core from 2.3.11 to 2.3.12
...
Bumps [io.ktor:ktor-client-core](https://github.com/ktorio/ktor ) from 2.3.11 to 2.3.12.
- [Release notes](https://github.com/ktorio/ktor/releases )
- [Changelog](https://github.com/ktorio/ktor/blob/2.3.12/CHANGELOG.md )
- [Commits](https://github.com/ktorio/ktor/compare/2.3.11...2.3.12 )
---
updated-dependencies:
- dependency-name: io.ktor:ktor-client-core
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-06-26 19:05:22 +03:00
dependabot[bot]
ee0d67fbbb
Bump io.ktor:ktor-client-auth from 2.3.11 to 2.3.12
...
Bumps [io.ktor:ktor-client-auth](https://github.com/ktorio/ktor ) from 2.3.11 to 2.3.12.
- [Release notes](https://github.com/ktorio/ktor/releases )
- [Changelog](https://github.com/ktorio/ktor/blob/2.3.12/CHANGELOG.md )
- [Commits](https://github.com/ktorio/ktor/compare/2.3.11...2.3.12 )
---
updated-dependencies:
- dependency-name: io.ktor:ktor-client-auth
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-06-26 19:05:12 +03:00
dependabot[bot]
450527f172
Bump io.ktor:ktor-serialization-kotlinx-json from 2.3.11 to 2.3.12
...
Bumps [io.ktor:ktor-serialization-kotlinx-json](https://github.com/ktorio/ktor ) from 2.3.11 to 2.3.12.
- [Release notes](https://github.com/ktorio/ktor/releases )
- [Changelog](https://github.com/ktorio/ktor/blob/2.3.12/CHANGELOG.md )
- [Commits](https://github.com/ktorio/ktor/compare/2.3.11...2.3.12 )
---
updated-dependencies:
- dependency-name: io.ktor:ktor-serialization-kotlinx-json
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-06-26 18:47:59 +03:00
Matt Ellis
135518ee39
Enable Gradle caching
...
Without this, running tests could take up to 1 minute, mostly spent configuring Gradle. It appears that the extractor transformer would extract the IDE on each run.
2024-06-26 17:52:50 +03:00
Matt Ellis
58715ecb5f
Remove obsolete build feature
...
Binary releases can be used again now that the latest builds of 241 (2024.1.4) and 242 (EAP) include updates to the Plugin DevKit plugin that can download sources for binary releases. (Binary releases mean the referenced IDE is extracted and run from the same binaries as consumer releases).
This fixes verifyPlugin, which didn't support binary releases being disabled.
2024-06-26 17:52:50 +03:00
IdeaVim Bot
75e26b101d
Add Bishwa Saha, Alex Fu to contributors list
2024-06-24 09:55:59 +00:00
Alex Plate
6421a6face
Update java version to 17 on github actions
2024-06-24 12:53:55 +03:00
filipp
948520f90a
Fix(VIM-3485): Stay in the same split when using (Back) or (Forward)
2024-06-21 17:44:44 +03:00
Matt Ellis
0765118ce2
Stop mapping negative 'scrolljump' to IntelliJ setting
2024-06-21 17:22:36 +03:00
Matt Ellis
efd4c7b617
Fix incorrect scrolling due to 'scrolloff' mapping
...
If IntelliJ's vertical scroll offset is set to the value of the 'scrolloff' option, IntelliJ's own implementation kicks in. This implementation includes virtual space at the bottom of the file in its calculation, scrolling to a different offset to IdeaVim's. In some circumstances, IdeaVim no longer scrolls, so the last line would no longer stick to the bottom of the screen after `G`. In other circumstances, the scroll would correctly reset, but there would be a visible flash as the editor scrolls to the wrong offset and then back, especially when using backspace at the bottom of the file.
Fixes VIM-3474
2024-06-21 17:22:36 +03:00
Alex Plate
c5346fbece
Update NERDTree documentation with newly added commands
2024-06-21 16:56:04 +03:00
Alex Pláte
fe8e8ccc3e
Merge pull request #912 from kun-codes/create-files-and-directories
...
add NERDTree action to create new files and directories
2024-06-21 16:53:01 +03:00
Alex Pláte
eae111bc2c
Merge branch 'master' into create-files-and-directories
2024-06-21 16:52:46 +03:00
kun-codes
6a6c1dc6b4
add NERDTree action to delete files and directories
2024-06-21 16:52:01 +03:00
Alex Pláte
86bbb282ab
Merge pull request #879 from citizenmatt/feature/gradle-intellij-plugin-v2
...
Migrate to IntelliJ Platform Gradle Plugin 2.0
2024-06-21 16:31:56 +03:00
Alex Pláte
28aa156cb7
Merge branch 'master' into feature/gradle-intellij-plugin-v2
2024-06-21 16:30:25 +03:00
Matt Ellis
a7814e69de
Fix incorrect double registration when opening editors
...
Ensures that the editor listeners are only registered once when the editor is created. IdeaVim uses two different events to track editor creation, to try to understand how the editor is being created (new window, split, preview, etc.) and this can lead to calling the `EditorListeners.add` method twice. This would create a second `Disposable` and cause handlers to leak. This is most visible when creating the first window and then disabling IdeaVim. This window would still handle drag events like IdeaVim, even changing the caret back to block after the drag finishes.
2024-06-21 13:13:15 +03:00
Alex Fu
1452c116cf
Update to include other default key binds
2024-06-21 13:04:36 +03:00
Alex Fu
23dfc4b339
Update docs for multiple-cursors plugin
2024-06-21 13:04:36 +03:00
kun-codes
931d4be972
add NERDTree action to create new files and directories
2024-06-20 17:51:15 +05:30
dependabot[bot]
7dceda587b
Bump org.jetbrains.intellij from 1.17.3 to 1.17.4
...
Bumps org.jetbrains.intellij from 1.17.3 to 1.17.4.
---
updated-dependencies:
- dependency-name: org.jetbrains.intellij
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-06-19 18:22:11 +03:00
dependabot[bot]
52a969074d
Bump org.eclipse.jgit:org.eclipse.jgit.ssh.apache
...
Bumps org.eclipse.jgit:org.eclipse.jgit.ssh.apache from 6.9.0.202403050737-r to 6.10.0.202406032230-r.
---
updated-dependencies:
- dependency-name: org.eclipse.jgit:org.eclipse.jgit.ssh.apache
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-06-19 18:22:01 +03:00
lippfi
e7b87d31cf
Merge pull request #904 from citizenmatt/bugfix/jumplist
...
Fix jumplist no longer updated from IDE actions
2024-06-17 17:45:25 +05:00
Matt Ellis
5eb0fae08f
Remove explicit since-build from plugin.xml
...
Let the Gradle plugin manage since-build, based on our target compile version. We leave until-build open ended
2024-06-17 11:18:50 +01:00
Matt Ellis
798d805a0f
Provide hint for the CodeQL autobuilder GH action
...
The autobuilder action can't resolve the 'by project' property to know what our source compatibility is, so we need to give it a hint. If we don't, it will assume the lowest version compatible with the current version of Gradle, which right now is 11.
This value doesn't have to match the `javaVersion` property, but has to allow us to resolve dependencies. Currently, we require at least version 17.
2024-06-17 11:18:50 +01:00
Matt Ellis
0d4ba06e57
Add task to run IDE in split mode
2024-06-17 11:18:43 +01:00
Matt Ellis
4913b13a2d
Migrate to IntelliJ Platform Gradle Plugin 2.0
...
Also updates the GitHub workflows to use the new name for the testIdeUi task, and the TeamCity files to use the new name for the VerifyPlugin task
2024-06-17 11:03:17 +01:00
Matt Ellis
b0bab992db
Convert settings.gradle to Kotlin
2024-06-17 10:05:45 +01:00
Matt Ellis
af5f4227b7
Rename settings.gradle to settings.gradle.kts
2024-06-17 10:05:44 +01:00
Matt Ellis
fa6a694ea4
Move some Gradle config blocks around
2024-06-17 10:05:43 +01:00
Filipp Vakhitov
1da7ffc052
Add more logging to spot bug in CommandConsumer
2024-06-15 22:36:28 +02:00
Matt Ellis
c673f5818c
Make jumplist project ID key unique
...
Fixes an issue if multiple projects with the same name are open at the same time
2024-06-14 14:35:48 +01:00
Matt Ellis
ec78a87644
Fix recent places adding to jump list
...
Fixes VIM-3424
2024-06-14 14:29:12 +01:00
Matt Ellis
69d14ddcf5
Implement clearjumps command
2024-06-14 14:29:12 +01:00
Matt Ellis
f62819df00
Add generated parser files to gitignore
2024-06-14 14:29:11 +01:00
Filipp Vakhitov
39a85b6bc2
Add more logging
2024-06-13 20:58:07 +02:00
dependabot[bot]
f76ae3e867
Bump com.dorongold.task-tree from 3.0.0 to 4.0.0
...
Bumps com.dorongold.task-tree from 3.0.0 to 4.0.0.
---
updated-dependencies:
- dependency-name: com.dorongold.task-tree
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-06-12 18:15:21 +03:00
dependabot[bot]
3651e5f2f0
Bump com.google.devtools.ksp:symbol-processing-api
...
Bumps [com.google.devtools.ksp:symbol-processing-api](https://github.com/google/ksp ) from 1.9.24-1.0.20 to 2.0.0-1.0.22.
- [Release notes](https://github.com/google/ksp/releases )
- [Commits](https://github.com/google/ksp/compare/1.9.24-1.0.20...2.0.0-1.0.22 )
---
updated-dependencies:
- dependency-name: com.google.devtools.ksp:symbol-processing-api
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-06-12 18:15:16 +03:00
Filipp Vakhitov
89e016ef6c
Fix infinite loop stuck because of a confirmation dialog appearing over and over
2024-06-12 10:57:45 +03:00
Filipp Vakhitov
e4996f4c4d
Reduce distribution size
2024-06-11 01:41:24 +03:00
Filipp Vakhitov
c44ed58142
Make text deletion in change actions a part of insert sequence
2024-06-09 00:33:07 +03:00
Filipp Vakhitov
0091af2a41
Fix(VIM-547): Undo splits Insert mode edits into separate undo chunks
...
Add tests
2024-06-07 23:03:53 +03:00
Filipp Vakhitov
d1eea68719
Support i_CTRL-G_U
2024-06-07 21:38:11 +03:00
Filipp Vakhitov
133aff7fd8
Add a return type to getInsertSequence method
2024-06-07 21:29:44 +03:00
Filipp Vakhitov
efde94db7a
Fix recursive forEachCaretInvocation
2024-06-07 18:05:02 +03:00
Filipp Vakhitov
6ec072b34e
End inputSequence on motion in insert mode
2024-06-07 17:12:11 +03:00
Filipp Vakhitov
4027a21514
Support most* cases for starting / ending inputSequence
...
* - Ending inputSequence on motion in insert mode is not supported in this commit
2024-06-07 16:55:22 +03:00
Filipp Vakhitov
3665b1ab00
Improve UndoRedoHelper to split insert input into multiple undo sequences
2024-06-07 16:27:58 +03:00
Filipp Vakhitov
cf6b292f0c
Add methods to work with InsertSequence
2024-06-07 16:24:37 +03:00
Filipp Vakhitov
507e4173d3
Introduce InsertSequence class
2024-06-07 16:09:25 +03:00
Filipp Vakhitov
abc3575d3e
Fix command registration order
...
We should prioritize ij commands over the engine ones
2024-06-07 16:03:27 +03:00
Filipp Vakhitov
2c0ff587e3
Post-review improvements
2024-06-05 11:35:58 +03:00
Filipp Vakhitov
26c87535d6
Fix focus
2024-06-05 11:35:58 +03:00
Filipp Vakhitov
6ac8e672be
Fix compilation
2024-06-05 11:35:58 +03:00
Filipp Vakhitov
04ee2dd1e7
Post-rebase fixes
2024-06-05 11:35:58 +03:00
Filipp Vakhitov
3106a98aee
Make IjVimSearchGroup a PersistentStateComponent instead of deprecated SearchGroup
2024-06-05 11:35:58 +03:00
Filipp Vakhitov
73769a3472
Move one method to VimProcessGroupBase
2024-06-05 11:35:58 +03:00
Filipp Vakhitov
085e253d77
Fix possible bug in Fleet
...
Previously, we executed processings first and updated the state afterward. This approach could be problematic for asynchronous key processing, as Fleet might access the current state, which, in the context of async key processing, is a snapshot before execution and does not reflect the actual current KeyHandlerState
2024-06-05 11:35:58 +03:00
Filipp Vakhitov
b2af8f153e
Add VimScriptFunctionServiceBase
2024-06-05 11:35:58 +03:00
Filipp Vakhitov
37fb41fca8
Remove exCommandAnnotation option
2024-06-05 11:35:58 +03:00
Filipp Vakhitov
e2b05ab639
Move Vimscript grammar to engine
2024-06-05 11:35:58 +03:00
Filipp Vakhitov
354fd8fef0
Remove EditorHolderService.kt
2024-06-05 11:35:58 +03:00
Filipp Vakhitov
9b97867be1
Support replace mode in command line
2024-06-05 11:35:58 +03:00
Filipp Vakhitov
06685d1721
Move more logic to VimCommandLine interface
2024-06-05 11:35:58 +03:00
Filipp Vakhitov
ae4b88a06b
Remove ExEntryPanel and move its method to VimCommandLine
2024-06-05 11:35:58 +03:00
Filipp Vakhitov
c83ecc46ed
Rename method
2024-06-05 11:35:58 +03:00
Filipp Vakhitov
c32050a208
Introduce actualText and visibleText for command line
2024-06-05 11:35:58 +03:00
Filipp Vakhitov
4a8c7227e6
Remove default value
2024-06-05 11:35:58 +03:00
Filipp Vakhitov
55e61a7094
Remove count for command line
...
It was not used anywhere
2024-06-05 11:35:58 +03:00
Filipp Vakhitov
60977d05b6
Deprecate ExEntryPanel
2024-06-05 11:35:58 +03:00
Filipp Vakhitov
601747f720
Changes to replace ExEntryPanel with interface and move more code to engine
2024-06-05 11:35:58 +03:00
Filipp Vakhitov
0c91bc3207
Changes to replace ExEntryPanel with interface and move more code to engine
2024-06-05 11:35:58 +03:00
Filipp Vakhitov
f5cd2c173f
Changes to replace ExEntryPanel with interface and move more code to engine
2024-06-05 11:35:58 +03:00
Matt Ellis
d00bd8bb25
Fix incsearch highlights with operator count
...
E.g. `2"a3"b4"c5d6/foo` will now highlight the current match correctly
2024-06-03 11:54:48 +03:00
Matt Ellis
a66e44d835
Fix [count]: initial range text in ex field
...
Fixes regression from changes in ex field handling
2024-06-03 11:54:48 +03:00
Matt Ellis
ce05317634
Maintain Visual when cancelling search entry
2024-06-03 11:54:48 +03:00
Matt Ellis
33d88d55c9
Remove unused branch in SortCommand
...
Commands are executed in Normal mode, although there may be multiple carets
2024-06-03 11:54:48 +03:00
Matt Ellis
a31a4a8ca7
Share ex entry set up with filter commands
2024-06-03 11:54:48 +03:00
Matt Ellis
c34d000b91
Reintroduce ProcessGroup.startExEntry
...
We need to share the implementation between starting an Ex command, and starting a filter command, which is just an Ex command with initial text
2024-06-03 11:54:48 +03:00
Matt Ellis
a2bfe950fa
Fix move command moving to current line
...
Removes a workaround that would break moving a range to the current line because it would always move the caret to the start of the range. Now positions the caret to the start of the selection if there is one. This also means we can remove the SAVE_VISUAL flag from JoinLinesCommand
Fixes VIM-2936
2024-06-03 11:54:48 +03:00
Matt Ellis
b44f40acd6
Fix incorrect output for line() in Normal mode
2024-06-03 11:54:48 +03:00
Matt Ellis
5169093bbf
Clear ex output after assert and fix tests
...
This ensures that a failing action doesn't pass due to previous state
2024-06-03 11:54:48 +03:00
Matt Ellis
b15b1cd3f8
Fix range with missing last address
...
Fixes VIM-992
2024-06-03 11:54:48 +03:00
Matt Ellis
f7b6a97435
Support 0 as part of a range address
...
Fixes VIM-1137
2024-06-03 11:54:48 +03:00
Matt Ellis
f64c99c406
Support incsearch highlighting for global command
...
Fixes VIM-2891
2024-06-03 11:54:48 +03:00
Matt Ellis
f552e43c5b
Refactor handling of default range
...
Specify a default range instead of default line for count.
2024-06-03 11:54:48 +03:00
Matt Ellis
4798198e41
Minor refactorings
2024-06-03 11:54:48 +03:00
Matt Ellis
a59de4ce05
Add tests and fixes for yank command
...
Handles validation for count and ensures correct behaviour for registers.
2024-06-03 11:54:48 +03:00
Matt Ellis
2dea525665
Add tests and fixes for join command
...
Handles validation for count and positions caret in the correct place. Also handles join with visual multicaret scenarios.
2024-06-03 11:54:48 +03:00
Matt Ellis
8ecb1f7296
Add tests and fixes for print command
...
Handles validation of count and correctly moves caret to end of range after execution. Also fix issue where the results of :print are accumulated and not cleared.
Fixes VIM-2570
2024-06-03 11:54:48 +03:00
Matt Ellis
9ca9530061
Add tests and fixes for shift commands
...
Shift left and right now work with counts, validate the counts and move the caret to the correct end position
2024-06-03 11:54:48 +03:00
Matt Ellis
54e27afc3f
Simplify getCount functions
...
Made it explicit to get the count from argument and/or range. Default count is not passed, because it was never used. Added some tests where possible, but hard to test select file and friends
2024-06-03 11:54:48 +03:00
Matt Ellis
5e67032655
Add tests and fixes for delete lines command
...
Validates register before use and correctly uses register and count
2024-06-03 11:54:48 +03:00
Matt Ellis
cb37f6df63
Add tests and fixes for goto line command
...
Correctly handles some validation, and also allows going to line zero
2024-06-03 11:54:48 +03:00
Matt Ellis
ca3a18cf37
Add tests for goto character command
...
Also start to refactor handling of count
2024-06-03 11:54:48 +03:00
Matt Ellis
cac36627aa
Support 0 in copy command to copy to top of file
2024-06-03 11:54:48 +03:00
Matt Ellis
6404e1127e
Remove incorrect VimBehaviourDiffers annotation
2024-06-03 11:54:48 +03:00
Matt Ellis
e762a3093b
Range is already normalised
2024-06-03 11:54:48 +03:00
Matt Ellis
739ac2ae5e
Simplify getting address from argument
2024-06-03 11:54:48 +03:00
Matt Ellis
77c364a2d0
Move count handling out of range into command
2024-06-03 11:54:48 +03:00
Matt Ellis
103cd9f5ce
Fix off-by-one error in count
...
Count needs to be one-based, lines must be zero-based. So store addresses as one-based until processed
2024-06-03 11:54:48 +03:00
Matt Ellis
99859fe857
Rename test classes
...
Also ensure that test derives from VimTestCase so that injector is correctly initialised
2024-06-03 11:54:48 +03:00
Matt Ellis
4778995f3b
Remove unnecessary getFirstLine function
2024-06-03 11:54:48 +03:00
Matt Ellis
0a14150840
Extract TextRange from Ex range class
2024-06-03 11:54:48 +03:00
Matt Ellis
e8ffc0313f
Remove Range overloads that don't require a caret
...
Provide caret when calling from Command
2024-06-03 11:54:48 +03:00
Matt Ellis
7dbd3886b1
Introduce addresses for current line and last line
...
Remove mutation from LineAddress
2024-06-03 11:54:48 +03:00
Matt Ellis
8c83164d76
Remove mutable state from Range
...
Sometimes we cache things, and other times it's relative to a passed caret. Let's always calculate it
2024-06-03 11:54:48 +03:00
Matt Ellis
076aab1ccf
Rename Ranges, and ExRanges.kt
2024-06-03 11:54:48 +03:00
Matt Ellis
751f51c88f
Rename Range and related classes to Address
...
An address evaluates to a line, and a range is a collection of addresses
2024-06-03 11:54:48 +03:00
Filipp Vakhitov
ab7359ffd3
Fix options test for Windows
...
Thanks @citizenmatt for this patch
2024-05-29 18:48:05 +03:00
Alex Plate
d795d70041
Disable some tests due to VIM-3376
2024-05-29 18:33:31 +03:00
aleksei.plate@jetbrains.com
1320034e7e
TeamCity change in 'Ideavim / IdeaVim releases' project: VCS roots of 'EXP: Publish EAP Build from branch' build configuration were updated
2024-05-29 12:45:26 +00:00
Alex Plate
79a216043f
Use a ReleasesVcsRoot for the ReleaseEapFromBranch configuration
2024-05-29 15:42:24 +03:00
Alex Plate
c508a3cc32
Add a build configuration that creates a EAP release from the release branch
2024-05-29 15:40:25 +03:00
Alex Plate
d40d8f34c5
Apply patches for TeamCity configs
2024-05-29 15:18:15 +03:00
Alex Pláte
b561a13e7c
Merge pull request #893 from JetBrains/fleet
...
Moving away from Swing TextAction to KeyHandler
2024-05-29 14:16:44 +03:00
aleksei.plate@jetbrains.com
71bcee2a07
TeamCity change in 'Ideavim / IdeaVim releases' project: VCS roots of 'EXP: Print release branch' build configuration were updated
2024-05-28 20:40:30 +00:00
aleksei.plate@jetbrains.com
6c490b1baa
TeamCity change in 'Ideavim / IdeaVim releases' project: VCS roots of 'EXP: Print release branch' build configuration were updated
2024-05-28 20:40:09 +00:00
aleksei.plate@jetbrains.com
4ab6a36aca
TeamCity change in 'Ideavim / IdeaVim releases' project: VCS roots of 'EXP: Print release branch' build configuration were updated
2024-05-28 20:39:01 +00:00
aleksei.plate@jetbrains.com
c4355841ad
TeamCity change in 'Ideavim / IdeaVim releases' project: VCS roots of 'EXP: Print release branch' build configuration were updated
2024-05-28 20:38:13 +00:00
aleksei.plate@jetbrains.com
f163946e38
TeamCity change in 'Ideavim / IdeaVim releases' project: VCS roots of 'EXP: Print release branch' build configuration were updated
2024-05-28 20:37:43 +00:00
Filipp Vakhitov
7abb1fd630
Finalizing merge
2024-05-28 23:35:31 +03:00
aleksei.plate@jetbrains.com
f78d3387a5
TeamCity change in 'Ideavim / IdeaVim releases' project: VCS roots of 'EXP: Print release branch' build configuration were updated
2024-05-28 20:35:10 +00:00
aleksei.plate@jetbrains.com
69e2e3c047
TeamCity change in 'Ideavim' project: 'IdeaVim Releases' VCS root was updated
2024-05-28 20:34:19 +00:00
aleksei.plate@jetbrains.com
52832cbe22
TeamCity change in 'Ideavim' project: 'IdeaVim Releases' VCS root was updated
2024-05-28 20:32:36 +00:00
aleksei.plate@jetbrains.com
82ca2be51c
TeamCity change in 'Ideavim' project: 'IdeaVim Releases' VCS root was updated
2024-05-28 20:30:53 +00:00
aleksei.plate@jetbrains.com
8552bb8a17
TeamCity change in 'Ideavim' project: 'IdeaVim Releases' VCS root was updated
2024-05-28 20:30:05 +00:00
Alex Plate
b49a38b6d0
Rename ReleasesVcsRoot
2024-05-28 23:24:03 +03:00
Alex Plate
ad0751677a
Add a special VCS root for releases
2024-05-28 23:18:45 +03:00
aleksei.plate@jetbrains.com
dd8bb20ba9
TeamCity change in 'Ideavim / IdeaVim releases' project: VCS roots of 'EXP: Print release branch' build configuration were updated
2024-05-28 20:13:24 +00:00
Alex Plate
03f5f27901
Experiment: print release branch in TC
2024-05-28 23:08:02 +03:00
Filipp Vakhitov
9e3ca56afd
Merge branch 'refs/heads/master' into fleet
...
# Conflicts:
# src/main/java/com/maddyhome/idea/vim/ui/ex/ExEntryPanel.java
# vim-engine/src/main/kotlin/com/maddyhome/idea/vim/action/ex/LeaveCommandLineAction.kt
# vim-engine/src/main/kotlin/com/maddyhome/idea/vim/action/motion/search/SearchEntryFwdAction.kt
# vim-engine/src/main/kotlin/com/maddyhome/idea/vim/action/motion/search/SearchEntryRevAction.kt
# vim-engine/src/main/kotlin/com/maddyhome/idea/vim/key/consumers/CommandConsumer.kt
2024-05-28 22:19:17 +03:00
Filipp Vakhitov
5379528e3e
Minor post-review PR improvements
2024-05-28 21:52:43 +03:00
Filipp Vakhitov
12201359bc
Fix unwanted triggering of IDE actions instead of Vim ones
...
https://github.com/JetBrains/ideavim/pull/893#pullrequestreview-2082768468
2024-05-28 21:39:14 +03:00
Alex Plate
ba50fcf85e
Add ssh agent for the configuration
2024-05-28 19:19:06 +03:00
Alex Plate
24c0db563c
Use releases prefix instead of release
2024-05-28 19:10:40 +03:00
Alex Plate
33c4905dcb
Add testing TC job for calculating new version of the release
2024-05-28 19:05:37 +03:00
Alex Plate
9296c3f9a0
Bring back tests before the release
2024-05-28 14:50:11 +03:00
Alex Plate
7ecc566169
Temporally skip tests for this release
...
As this is considered as a VERY bad practice, it makes sense in this particular case. Generally, we need an updated release process so such things don’t happen
2024-05-28 14:31:46 +03:00
Alex Plate
a918da36d3
Bring back the old value of the release constant
2024-05-28 14:27:29 +03:00
Alex Plate
91ff5fdb02
Temporally change the release constant to make the last release based on 2023.3.2
2024-05-28 14:15:49 +03:00
Alex Plate
4481631547
Disable RedrawListener if the plugin is not enabled
2024-05-28 13:55:47 +03:00
Matt Ellis
7865388086
Fix regression when sub string ends with backslash
...
Fixes VIM-3428
2024-05-28 13:53:13 +03:00
Matt Ellis
26297bc5a9
Fix last line sometimes obscured by scrollbar
...
Fixes VIM-3028
2024-05-28 13:53:13 +03:00
Matt Ellis
9db5cdd8e3
Fix last line sometimes obscured by ex entry prompt
...
When performing a substitute command with confirmation, the height of the editor content pane should be reduced by the height of the ex entry panel. IdeaVim would do this correctly when moving a search result to the bottom of the file, but not when the result was on the last line of the file. Because the wrong height was used, IdeaVim would decide that no scrolling was necessary and the result in the last line would be obscured.
Fixes VIM-1560
2024-05-28 13:53:13 +03:00
Matt Ellis
2b17534a08
Fix infinite loop while highlighting in old regex
...
Fixes VIM-2510
2024-05-28 13:53:13 +03:00
Matt Ellis
4e2db68acf
Update selection when searching in Visual mode
2024-05-28 13:53:13 +03:00
Matt Ellis
ddabf8df5e
Fix regression finding endpos in new regex engine
...
Fixes VIM-3344
2024-05-28 13:53:13 +03:00
Matt Ellis
3f28e197ca
Clear status bar on scrolling, add/remove lines, etc.
...
Also implements <C-L> to "redraw" screen and clear status line
2024-05-28 13:53:13 +03:00
Matt Ellis
3a67524e8a
Show status bar message when search wraps
...
Fixes VIM-1043
2024-05-28 13:53:13 +03:00
Matt Ellis
33312d95b0
Remove wrapscan flag for substitute
...
Substitute always works on a known range
2024-05-28 13:53:13 +03:00
Matt Ellis
f554b21cd9
Support count for search
...
Fixes VIM-2836
2024-05-28 13:53:13 +03:00
Matt Ellis
d9fa4e4648
Fix end of file atom for old regex engine
...
Fixes VIM-2888
2024-05-28 13:53:13 +03:00
Matt Ellis
e98a284d40
Fix multiline regex substitution
...
Fixes VIM-2141
2024-05-28 13:53:13 +03:00
Matt Ellis
38ef8c1053
Fix removing search highlight that crosses newline
2024-05-28 13:53:13 +03:00
Matt Ellis
d3f560a31c
Add special case to match newline with end of file
2024-05-28 13:53:13 +03:00
Matt Ellis
e2cb3ff284
Stop subst skipping too far with multiline pattern
...
Fixes VIM-698
2024-05-28 13:53:13 +03:00
Matt Ellis
0f5a3953e1
Don't break ex field with exceptions from incsearch
2024-05-28 13:53:13 +03:00
Matt Ellis
633667ed7f
Fix regression with global not saving used patterns
...
This is a messy quick fix, as the search group needs a lot of tidying up right now. Perhaps a better implementation would be to move the implementation of the global command into the search group - processGlobalCommand, like we already have processSearchCommand and processSubstituteCommand
Fixes VIM-3348
2024-05-28 13:53:13 +03:00
Matt Ellis
656e975562
Fix reset of last substitution string on use
...
Fixes VIM-3354
2024-05-28 13:53:13 +03:00
Matt Ellis
f7fbe89de4
Use EnumSet instead of list of enums
2024-05-28 13:53:13 +03:00
Matt Ellis
509829b052
Fix force ignorecase atom in search highlights
...
Fixes VIM-3391
2024-05-28 13:53:13 +03:00
Matt Ellis
efd61e17f2
Reset CMD_LINE mode when losing focus
...
Fixes VIM-3293
2024-05-28 13:53:13 +03:00
Matt Ellis
cf2b021d02
Fix search for last search pattern with new offset
...
Fixes VIM-2356
2024-05-28 13:53:13 +03:00
Matt Ellis
67f10aece5
Fix search motion type when providing offset
...
Search motion type should be linewise if there's a line offset, or inclusive if the `e` flag is provided. Otherwise, it's exclusive.
Fixes VIM-1940
2024-05-28 13:53:13 +03:00
Matt Ellis
9b5c777fcf
Update highlights when editor scheme changes
2024-05-28 13:53:13 +03:00
Matt Ellis
c65e5f8341
Fix highlighting for 'incsearch' and 'nohlsearch'
...
Setting 'incsearch' and 'nohlsearch' should highlight only the current match in the current editor
2024-05-28 13:53:13 +03:00
Matt Ellis
053bb603cd
Fix errors with incsearch and substitute command
...
Fixes VIM-3325
2024-05-28 13:53:13 +03:00
Matt Ellis
93b07bbb90
Update comments and fix warnings
2024-05-28 13:53:13 +03:00
Matt Ellis
764a115601
Show search highlights in all visible editors
...
Fixes VIM-2174
2024-05-28 13:53:13 +03:00
Matt Ellis
1adfe53f29
Fix wrong offset returned for current search result
...
Fixes VIM-2779
2024-05-28 13:53:13 +03:00
Matt Ellis
bfe0f51cb1
Restore current match highlighting for :s command
...
Regression while migrating to the new regex engine removed the highlights shown when confirming each change
2024-05-28 13:53:13 +03:00
Matt Ellis
ffce61906a
Restore search highlights when setting 'hlsearch'
...
Fixes VIM-3257
2024-05-28 13:53:13 +03:00
Filipp Vakhitov
3843a193cb
Deprecate classes related to Swing TextActions
2024-05-26 23:56:27 +03:00
IdeaVim Bot
b2410dab0b
Add Egor Nikolaevsky to contributors list
2024-05-25 09:01:49 +00:00
Matt Ellis
f382544101
Fix clearing highlighted yank in modal dialogs
...
Also fixes a memory leak registering a disposable for each yank, allows config variables to be numbers rather than strings and removes highlights when IdeaVim is disabled
Fixes VIM-2236
2024-05-24 18:05:51 +03:00
Filipp Vakhitov
a81d54eb90
Remove VimCommandLineHelper
2024-05-24 17:18:24 +03:00
Filipp Vakhitov
23519bbdae
Refactoring to use interfaces from vim-engine
2024-05-24 16:51:38 +03:00
Alex Plate
73fd25773a
Add test for VimIndentObject
...
For PR https://github.com/JetBrains/ideavim/pull/884
2024-05-24 16:20:36 +03:00
Egor Nikolaevsky
746d483179
Fix indent size calculation
2024-05-24 16:19:50 +03:00
Alex Plate
1a7e90c7d7
Bump the minimal version of IJ to 241
...
There are a lot of incompatibilities with IdeaVim on 241 if it's built on 233
Also, this time the special branch for the IJ version won't be created. Previously on bumping the version of IJ, we've created the branch to keep the reference to the moment when it happened. However, IJ version bumps are easy to trace anyway by git.
2024-05-24 15:37:05 +03:00
Filipp Vakhitov
8e2fd44f55
Remove unnecessary methods from ProcessGroup
2024-05-24 14:25:51 +03:00
Filipp Vakhitov
1c84917b29
Move LeaveCommandLineAction to its own class
2024-05-24 12:58:04 +03:00
Filipp Vakhitov
c5522ed19d
Move ExEntryAction to vim-engine
2024-05-24 12:56:52 +03:00
IdeaVim Bot
33a5480456
Add Eduardo Haesbaert to contributors list
2024-05-24 09:01:57 +00:00
Alex Plate
16cd05fc76
Fix incorrect use of visual position instead of buffer position
...
We should calculate the line above based on logical position rather than visual position.
This issue was detected thanks to newly introduced soft wraps and proprty tests
2024-05-24 11:39:45 +03:00
Eduardo Haesbaert
4788dacc86
Fix wording
...
There is one additional `the` before the preview gif, and also, changing the wording from "to" to " for".
2024-05-24 10:10:46 +03:00
Filipp Vakhitov
91e54c8b0d
Replace c_CTRL-R swing TextAction implementation with proper Vim engine implementation
2024-05-23 17:31:18 +03:00
Filipp Vakhitov
15ccebfe11
Cleanup
2024-05-23 15:27:18 +03:00
Filipp Vakhitov
5c849c9105
Fix ExEntryAction
2024-05-23 02:24:34 +03:00
Filipp Vakhitov
9e99506223
Move some logic to engine
2024-05-23 01:32:48 +03:00
Filipp Vakhitov
53ea90379f
Moved some search related logic to commands to simplify KeyHandler and ProcessGroup
2024-05-23 00:15:46 +03:00
Filipp Vakhitov
2619d7ebb4
Moved some classes to the same file in vim-engine
...
They will share some logic in future commits
2024-05-22 22:14:54 +03:00
Filipp Vakhitov
8c8a7aceca
Moved some classes to the same file in vim-engine
...
They will share some logic in future commits
2024-05-22 22:12:34 +03:00
Filipp Vakhitov
726b885b60
More obvious processing of ex-commands.
...
1. Now we have two parallel commandBuilders: for the editor and for the command prompt. It's done for sequence of keys like `d/foo<C-R>"<CR>` where we have two different commands that are built at the same time.
2. We simplified the CommandConsumer and made the logic more straightforward. `/`, `?` and `:` enter the command mode, while pressing final `<CR>` fires the command execution.
2024-05-22 22:04:32 +03:00
Filipp Vakhitov
a6994a09c3
Add support for commands that can be executed either once or for each caret depending on some circumstances
...
In a future commit, I'm going to make ProcessExEntryAction responsible for processing both search and ex commands. Search commands are motions that are executed for each caret, while ex-commands are executed once. The per-caret code is held internally by the ex commands themselves.
The current solution is definitely not the right one, and the whole ex command subsystem needs to be reviewed and refactored:
1. Some commands can be motions, which is currently not supported.
2. We need to figure out a gentle way of handling multiple carets.
2024-05-22 15:44:12 +03:00
Alex Plate
1616aff5a1
Update version of TC config
2024-05-10 16:06:28 +03:00
Alex Plate
5a82f05be8
Update version of IJ in TC tests
2024-05-10 15:46:31 +03:00
Alex Plate
3020504cdc
Rename kotlin TC config to avoid compilation issues
2024-05-10 15:36:41 +03:00
Matt Ellis
d00e802674
Update options documentation
2024-05-10 15:27:24 +03:00
Matt Ellis
c46008dddc
Update Vim option even when IdeaVim is disabled
2024-05-10 15:27:24 +03:00
Matt Ellis
755000c376
Reset Vim options when IDE setting changes
...
Options are not reset if they've been explicitly set by the user (e.g. `:set list` or _View | Active Editor | Show Whitespaces_). They are reset if they were explicitly set in `~/.ideavimrc`.
Also bumps the IDE build number to 233.11799.241 in order to use EditorSettingsExternalizable.PropNames
2024-05-10 15:27:24 +03:00
Matt Ellis
1e4a60bfe6
Fix nullability warning
2024-05-10 15:27:24 +03:00
Matt Ellis
c9ee685956
Codify assumption re global-local external setting
2024-05-10 15:27:24 +03:00
Matt Ellis
c2b1083836
Updated descriptions as per review comments
2024-05-10 15:27:24 +03:00
Matt Ellis
3518528f22
Prevent resetting options when plugin re-enabled
2024-05-10 15:27:24 +03:00
Matt Ellis
9bed8fec79
Map 'scrolloff' and 'sidescrolloff' options
...
Fixes VIM-3110
2024-05-10 15:27:24 +03:00
Matt Ellis
3ffbea7d42
Match Vim's behaviour for :set[local] {option}<
...
String and number/toggle options have different and opposite behaviour for `:set {option}<` and `:setlocal {option}<`. This change matches Vim's behaviour.
2024-05-10 15:27:24 +03:00
Matt Ellis
39b42193cb
Map 'scrolljump' and 'sidescroll' options
...
Fixes VIM-3110
2024-05-10 15:27:24 +03:00
Matt Ellis
c69e080b05
Add 'fileencoding' option
...
No tests, as I don't know how to test interaction with saving to disk
2024-05-10 15:27:24 +03:00
Matt Ellis
50b42036d1
Add 'bomb' option
...
No tests, as I don't know how to test interaction with saving to disk
2024-05-10 15:27:24 +03:00
Matt Ellis
340c40ceff
Add 'fileformat' option
...
No tests, as I don't know how to test interaction with saving to disk
2024-05-10 15:27:24 +03:00
Matt Ellis
6aeffe71de
Map 'number' and 'relativenumber' options
2024-05-10 15:27:24 +03:00
Matt Ellis
04c33d719e
Improve relative line converter for soft wraps
...
It now shows visual lines relative to the caret's visual line, rather than relative to the caret's logical line. This still isn't correct, and we should be showing the relative count of Vim logical lines (buffer lines + fold lines) but this matches movement so is more helpful
2024-05-10 15:27:24 +03:00
Matt Ellis
07f1d1e8e6
Move number/relativenumber options out of engine
...
While they are core Vim options, they are implemented by the host, not by the engine. If another host wants to support these options, they can add them in their implementation layer.
2024-05-10 15:27:24 +03:00
Matt Ellis
6c61254c50
Add 'colorcolumn' option to show visual guides
...
IntelliJ ties the hard wrap right margin guide with the other visual guides, and it's not possible to show one without the other. In Vim, you can show the hard wrap margin by adding "+0" to 'colorcolumn', so in IdeaVim, we automatically add this.
2024-05-10 15:27:24 +03:00
Matt Ellis
c6efea8c34
Add 'textwidth' option
...
Also supports overriding local-to-buffer options with IDE values, ensuring that changes to the option/IDE value are applied to all editors for the buffer.
Fixes VIM-1310
2024-05-10 15:27:24 +03:00
Matt Ellis
80f43a7c66
Add 'cursorline' option
2024-05-10 15:27:24 +03:00
Matt Ellis
9f5d3a9a28
Add 'list' option to show whitespace
...
Fixes VIM-267
2024-05-10 15:27:24 +03:00
Matt Ellis
8800a4f70b
Add 'breakindent' option
...
Fixes VIM-2748
2024-05-10 15:27:24 +03:00
Matt Ellis
990254dcac
Sort ideavim.dic to make it easier to modify
2024-05-10 15:27:24 +03:00
Matt Ellis
73a1118e78
Extract base implementation for IDE backed options
2024-05-10 15:27:24 +03:00
Matt Ellis
d3bedf26cf
Treat IDE value as default for 'wrap' option
2024-05-10 15:27:24 +03:00
Matt Ellis
25b29f429a
Track how option value is set
2024-05-10 15:27:24 +03:00
Matt Ellis
363f821962
Introduce 'wrap' option based on IntelliJ setting
...
Fixes VIM-1265
2024-05-10 15:27:24 +03:00
Alex Plate
8d873c0bf1
Fix(VIM-3418): Restore mappings after plugin disable/enable
...
There is no need to clean up the requiredShortcuts after turning off the plugin. Also, previously this set was not populated properly and keys that were added by ideavimrc or by user were not restored
2024-05-09 08:57:12 +03:00
Alex Plate
955676ed9e
Add comments about structures for testing
...
Also, there is no need to clear these structures during plugin disabling
2024-05-09 08:30:47 +03:00
Alex Plate
a2439a37e4
Make RequiredShortcut as a data class
...
This will simplify reading the data during the debug
2024-05-09 08:21:26 +03:00
dependabot[bot]
7b6daa8e4e
Bump io.ktor:ktor-serialization-kotlinx-json from 2.3.10 to 2.3.11
...
Bumps [io.ktor:ktor-serialization-kotlinx-json](https://github.com/ktorio/ktor ) from 2.3.10 to 2.3.11.
- [Release notes](https://github.com/ktorio/ktor/releases )
- [Changelog](https://github.com/ktorio/ktor/blob/main/CHANGELOG.md )
- [Commits](https://github.com/ktorio/ktor/commits )
---
updated-dependencies:
- dependency-name: io.ktor:ktor-serialization-kotlinx-json
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-05-08 19:15:51 +03:00
dependabot[bot]
fcf782296a
Bump org.jetbrains.kotlin:kotlin-stdlib from 1.9.23 to 1.9.24
...
Bumps [org.jetbrains.kotlin:kotlin-stdlib](https://github.com/JetBrains/kotlin ) from 1.9.23 to 1.9.24.
- [Release notes](https://github.com/JetBrains/kotlin/releases )
- [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md )
- [Commits](https://github.com/JetBrains/kotlin/compare/v1.9.23...v1.9.24 )
---
updated-dependencies:
- dependency-name: org.jetbrains.kotlin:kotlin-stdlib
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-05-08 19:15:37 +03:00
dependabot[bot]
44889b635c
Bump com.google.devtools.ksp:symbol-processing-api
...
Bumps [com.google.devtools.ksp:symbol-processing-api](https://github.com/google/ksp ) from 1.9.23-1.0.20 to 1.9.24-1.0.20.
- [Release notes](https://github.com/google/ksp/releases )
- [Commits](https://github.com/google/ksp/compare/1.9.23-1.0.20...1.9.24-1.0.20 )
---
updated-dependencies:
- dependency-name: com.google.devtools.ksp:symbol-processing-api
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-05-08 19:03:20 +03:00
dependabot[bot]
bc12ba11cd
Bump io.ktor:ktor-client-core from 2.3.10 to 2.3.11
...
Bumps [io.ktor:ktor-client-core](https://github.com/ktorio/ktor ) from 2.3.10 to 2.3.11.
- [Release notes](https://github.com/ktorio/ktor/releases )
- [Changelog](https://github.com/ktorio/ktor/blob/main/CHANGELOG.md )
- [Commits](https://github.com/ktorio/ktor/commits )
---
updated-dependencies:
- dependency-name: io.ktor:ktor-client-core
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-05-08 19:01:14 +03:00
dependabot[bot]
9b08db75e3
Bump io.ktor:ktor-client-auth from 2.3.10 to 2.3.11
...
Bumps [io.ktor:ktor-client-auth](https://github.com/ktorio/ktor ) from 2.3.10 to 2.3.11.
- [Release notes](https://github.com/ktorio/ktor/releases )
- [Changelog](https://github.com/ktorio/ktor/blob/main/CHANGELOG.md )
- [Commits](https://github.com/ktorio/ktor/commits )
---
updated-dependencies:
- dependency-name: io.ktor:ktor-client-auth
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-05-08 19:00:51 +03:00
4c3ad3f263
Add NERDTree action to toggle excluded files
2024-05-08 10:02:10 +03:00
Alex Plate
598bcc7edd
Do not notify slack about the new release
2024-05-07 14:18:31 +03:00
Alex Plate
b86ec03dc4
Update UI tests for python. Open tool window by calling API
2024-04-26 19:13:53 +03:00
Alex Plate
ae75498f8a
Update the UI test to search for the new name of the copy dialog
2024-04-26 18:44:31 +03:00
Alex Plate
9d0b68b0f8
Use the correct context after executing the ex command
...
With the incorrect context the action EditorSelectWord didn't make any effect because it worked on the ex-entry panel editor
2024-04-26 18:22:53 +03:00
Alex Plate
eeb5939e59
Use brew to install ffmpeg on GitHub actions
...
After GitHub updated macos from version 12 to version 14, the existing action stopped working
2024-04-26 17:37:21 +03:00
Alex Plate
ef235a47bf
Try to install ffmpeg on GitHub actions using homebrew
...
After GitHub updated macos from version 12 to version 14, the existing action stopped working
2024-04-26 17:25:54 +03:00
Alex Plate
b66da76880
VIM-3376: Remove usages of the EditorDataContext
...
EditorDataContext cannot be used because the platform cannot convert it to the async data context. Taking the fact that it's not clear why this custom context exists, I decided to get rid of it at all.
```
Cannot convert to AsyncDataContext at 'keyboard shortcut' DataContextWrapper(CaretSpecificDataContext(com.maddyhome.idea.vim.helper.EditorDataContext)). Please use CustomizedDataContext or its inheritors like SimpleDataContext
```
Class EditorDataContext cannot be removed because it's used in github.zgqq.intellij-enhance plugin
2024-04-26 14:52:47 +03:00
Alex Plate
54d6119784
VIM-3376: Working on removing EditorDataContext. Remove it from ReplaceWithRegister
...
EditorDataContext cannot be used because the platform cannot convert it to the async data context. Taking the fact that it's not clear why this custom context exists, I decided to get rid of it at all.
```
Cannot convert to AsyncDataContext at 'keyboard shortcut' DataContextWrapper(CaretSpecificDataContext(com.maddyhome.idea.vim.helper.EditorDataContext)). Please use CustomizedDataContext or its inheritors like SimpleDataContext
```
2024-04-26 14:19:47 +03:00
Alex Plate
0b8c081425
VIM-3376: Working on removing EditorDataContext. Remove it from multiple places
...
EditorDataContext cannot be used because the platform cannot convert it to the async data context. Taking the fact that it's not clear why this custom context exists, I decided to get rid of it at all.
```
Cannot convert to AsyncDataContext at 'keyboard shortcut' DataContextWrapper(CaretSpecificDataContext(com.maddyhome.idea.vim.helper.EditorDataContext)). Please use CustomizedDataContext or its inheritors like SimpleDataContext
```
2024-04-26 14:16:52 +03:00
Alex Plate
209052ffa6
Create a function to get the execution context from the editor
...
This is a part of VIM-3376. This context will not be a custom EditorDataContext, but some context created by the platform.
In some places we don't have any kind of "current context", but we have to use it for the function. However, such context can be simply retrieved from the editor.
2024-04-26 14:03:37 +03:00
Alex Plate
fe9a6b5cfb
Remove context argument when creating a pad for the string
...
It's unclear why it was needed to get the project from the context, but it's easy to get the project from the existing editor
2024-04-26 13:56:10 +03:00
Alex Plate
9c0f74369f
VIM-3376: Working on removing EditorDataContext. Remove from ExEditorKit
...
This one was added after the implementation of cmap in 5c9faba7f4
EditorDataContext cannot be used because the platform cannot convert it to the async data context. Taking the fact that it's not clear why this custom context exists, I decided to get rid of it at all.
```
Cannot convert to AsyncDataContext at 'keyboard shortcut' DataContextWrapper(CaretSpecificDataContext(com.maddyhome.idea.vim.helper.EditorDataContext)). Please use CustomizedDataContext or its inheritors like SimpleDataContext
```
2024-04-26 13:49:59 +03:00
Alex Plate
cd27e5229b
VIM-3376: Working on removing EditorDataContext. Remove from CommandLineHelper
...
EditorDataContext cannot be used because the platform cannot convert it to the async data context. Taking the fact that it's not clear why this custom context exists, I decided to get rid of it at all.
```
Cannot convert to AsyncDataContext at 'keyboard shortcut' DataContextWrapper(CaretSpecificDataContext(com.maddyhome.idea.vim.helper.EditorDataContext)). Please use CustomizedDataContext or its inheritors like SimpleDataContext
```
2024-04-26 13:40:18 +03:00
Alex Plate
472732905c
VIM-3376: Get rid of IjCaretAndEditorExecutionContext
...
This context was added long ago, but I wasn't able to find specific reasons for that. Currently, such custom contexts cannot work with the intellij platform and should be refactored or removed. The issues with this context are that it cannot be converted to the async data context by the platform.
Taking the fact that the reason for this context was not found, I decided to get rid of it.
The issue from the platform looks like this
```
Cannot convert to AsyncDataContext at 'keyboard shortcut' DataContextWrapper(CaretSpecificDataContext(com.maddyhome.idea.vim.helper.EditorDataContext)). Please use CustomizedDataContext or its inheritors like SimpleDataContext
```
Here the EditorDataContext is mentioned instead of CaretAndEditorData context, however, I'll clean up both contexts during this refactoring
It was used in the action system for mapping to the `<Action>` keyword and in commit 256f5fcd0e it's mentioned that the EditorActionHandler was not working without this context. However, currently both cases work fine without addition wrapping.
2024-04-26 13:27:56 +03:00
Alex Plate
485d9f81cd
VIM-3376: Use SimpleDataContext in tests
2024-04-26 12:25:56 +03:00
Alex Plate
8cf136ce4c
Add toString representations for IjNativeAction and ActionEnableStatus
2024-04-26 10:22:50 +03:00
Alex Plate
116a8ac9d2
Reformat test code
2024-04-26 09:58:27 +03:00
Alex Plate
fda310bda6
Create a configuration for 2024.1 tests
2024-04-26 09:44:46 +03:00
dependabot[bot]
e55619ea33
Bump io.ktor:ktor-client-auth from 2.3.9 to 2.3.10
...
Bumps [io.ktor:ktor-client-auth](https://github.com/ktorio/ktor ) from 2.3.9 to 2.3.10.
- [Release notes](https://github.com/ktorio/ktor/releases )
- [Changelog](https://github.com/ktorio/ktor/blob/2.3.10/CHANGELOG.md )
- [Commits](https://github.com/ktorio/ktor/compare/2.3.9...2.3.10 )
---
updated-dependencies:
- dependency-name: io.ktor:ktor-client-auth
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-04-17 18:57:24 +03:00
dependabot[bot]
b952b20128
Bump io.ktor:ktor-client-content-negotiation from 2.3.9 to 2.3.10
...
Bumps [io.ktor:ktor-client-content-negotiation](https://github.com/ktorio/ktor ) from 2.3.9 to 2.3.10.
- [Release notes](https://github.com/ktorio/ktor/releases )
- [Changelog](https://github.com/ktorio/ktor/blob/2.3.10/CHANGELOG.md )
- [Commits](https://github.com/ktorio/ktor/compare/2.3.9...2.3.10 )
---
updated-dependencies:
- dependency-name: io.ktor:ktor-client-content-negotiation
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-04-17 18:43:04 +03:00
dependabot[bot]
62d1f85648
Bump io.ktor:ktor-client-core from 2.3.9 to 2.3.10
...
Bumps [io.ktor:ktor-client-core](https://github.com/ktorio/ktor ) from 2.3.9 to 2.3.10.
- [Release notes](https://github.com/ktorio/ktor/releases )
- [Changelog](https://github.com/ktorio/ktor/blob/2.3.10/CHANGELOG.md )
- [Commits](https://github.com/ktorio/ktor/compare/2.3.9...2.3.10 )
---
updated-dependencies:
- dependency-name: io.ktor:ktor-client-core
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-04-10 19:01:40 +03:00
dependabot[bot]
5e3c8c0e92
Bump io.ktor:ktor-client-cio from 2.3.9 to 2.3.10
...
Bumps [io.ktor:ktor-client-cio](https://github.com/ktorio/ktor ) from 2.3.9 to 2.3.10.
- [Release notes](https://github.com/ktorio/ktor/releases )
- [Changelog](https://github.com/ktorio/ktor/blob/2.3.10/CHANGELOG.md )
- [Commits](https://github.com/ktorio/ktor/compare/2.3.9...2.3.10 )
---
updated-dependencies:
- dependency-name: io.ktor:ktor-client-cio
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-04-10 18:46:53 +03:00
dependabot[bot]
b58dddf2ff
Bump com.google.devtools.ksp:symbol-processing-api
...
Bumps [com.google.devtools.ksp:symbol-processing-api](https://github.com/google/ksp ) from 1.9.23-1.0.19 to 1.9.23-1.0.20.
- [Release notes](https://github.com/google/ksp/releases )
- [Commits](https://github.com/google/ksp/compare/1.9.23-1.0.19...1.9.23-1.0.20 )
---
updated-dependencies:
- dependency-name: com.google.devtools.ksp:symbol-processing-api
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-04-10 18:34:54 +03:00
dependabot[bot]
78d351a0b0
Bump org.mockito.kotlin:mockito-kotlin from 5.2.1 to 5.3.1
...
Bumps [org.mockito.kotlin:mockito-kotlin](https://github.com/mockito/mockito-kotlin ) from 5.2.1 to 5.3.1.
- [Release notes](https://github.com/mockito/mockito-kotlin/releases )
- [Commits](https://github.com/mockito/mockito-kotlin/compare/5.2.1...5.3.1 )
---
updated-dependencies:
- dependency-name: org.mockito.kotlin:mockito-kotlin
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-04-10 18:33:14 +03:00
dependabot[bot]
61dbc948cc
Bump io.ktor:ktor-serialization-kotlinx-json from 2.3.9 to 2.3.10
...
Bumps [io.ktor:ktor-serialization-kotlinx-json](https://github.com/ktorio/ktor ) from 2.3.9 to 2.3.10.
- [Release notes](https://github.com/ktorio/ktor/releases )
- [Changelog](https://github.com/ktorio/ktor/blob/2.3.10/CHANGELOG.md )
- [Commits](https://github.com/ktorio/ktor/compare/2.3.9...2.3.10 )
---
updated-dependencies:
- dependency-name: io.ktor:ktor-serialization-kotlinx-json
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-04-10 18:33:02 +03:00
Alex Plate
c4d92ebe73
VIM-308 In intellij 2024.1+ the caret movement won't be detected as a separate undo action
2024-04-05 17:50:42 +03:00
dependabot[bot]
d0cf827638
Bump org.jetbrains.intellij from 1.17.2 to 1.17.3
...
Bumps org.jetbrains.intellij from 1.17.2 to 1.17.3.
---
updated-dependencies:
- dependency-name: org.jetbrains.intellij
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-04-03 16:38:41 +00:00
dependabot[bot]
6a6a92b6b9
Bump com.dorongold.task-tree from 2.1.1 to 3.0.0
...
Bumps com.dorongold.task-tree from 2.1.1 to 3.0.0.
---
updated-dependencies:
- dependency-name: com.dorongold.task-tree
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-04-03 16:36:28 +00:00
Alex Plate
9869b8a34e
Add new UI tests for the actions
...
NewElementSamePlace
CopyReferencePopupGroup
2024-04-03 18:01:45 +03:00
Alex Plate
60fbf88322
Add UI test for generate action
2024-04-03 17:36:22 +03:00
Alex Plate
fae3924062
Update a version of IJ for tests
2024-04-02 11:56:59 +03:00
Alex Plate
dc2ce64823
Revert changes in action processing to fix VIM-3351
2024-04-02 11:52:56 +03:00
Alex Plate
d0d86d9178
Print the exceptin in logger.warn instead of just a message
2024-03-29 16:53:22 +02:00
Alex Plate
f417af6148
Specify ActionUpdateThread for FindActionIdAction
2024-03-29 15:38:05 +02:00
Alex Plate
2fe2860a09
Remove Offset and Pointer and switch to the regular Ints
...
Details on that can be found here: VIM-3368
2024-03-29 15:38:05 +02:00
filipp
cb40426976
Fix(FL-25338): Vim plugin stopped working in 1.31.107
2024-03-29 14:52:52 +02:00
Filipp Vakhitov
423ed390a2
Fix(FL-25087): p in vim mode
...
Pasting was broken with immutable carets because the old caret was not updated during execution
2024-03-29 14:52:52 +02:00
Filipp Vakhitov
7652b16ca6
Move more MotionGroup methods to its base class
2024-03-29 14:52:52 +02:00
Filipp Vakhitov
618a010c15
Move some MotionGroup methods to its base class
2024-03-29 14:52:52 +02:00
Filipp Vakhitov
d44a34ed9b
Remove unnecessary abstract method
2024-03-29 14:52:52 +02:00
Filipp Vakhitov
c84fc996db
Move some methods to vim-engine
...
The more methods we have in the engine, the fewer number of methods we will need to implement in the Fleet
2024-03-29 14:52:52 +02:00
Filipp Vakhitov
43f232543b
Replace findBlockRange with newer implementation
...
The newer implementation is a part of the vim-engine library and uses new methods from the SearchGroup.kt, but it is not fully refactored yet
2024-03-29 14:52:52 +02:00
filipp
3f65d1d99a
Revert "Revert changes to SearchGroup"
...
This reverts commit 00ccddf8cf .
2024-03-29 14:52:52 +02:00
Alex Plate
bfcf706ca7
Change the logic for detecting new dependencies on IdeaVim plugin
2024-03-29 09:27:09 +02:00
Alex Plate
8c1103c461
Add comment about the fix for project leak in tests
2024-03-28 10:30:19 +02:00
Alex Plate
ab75ace8db
Fix(VIM-3331): Support custom registers in replaceWithRegister plugin
2024-03-25 09:40:45 +02:00
Alex Plate
4a58e6a282
Add test with custom register for textObjEntire extension
2024-03-25 09:34:58 +02:00
Alex Plate
ac9e4f69b4
Remove affectedRate related automation
2024-03-22 20:04:13 +02:00
Alex Plate
581edba7fd
Remove the specification of the plugin verifier
...
The latest version of the verified was broken at some moment, so I specified the static version. Now these issues are fixed.
2024-03-22 13:53:55 +02:00
Alex Plate
58a8b96c3c
Revert "Stop IdeaVim actions flowing into JB Client"
...
This reverts commit bd192561ae .
This commit reverts the fix for VIM-3283 because it causes VIM-3346 and VIM-3347
2024-03-20 13:08:04 +02:00
dependabot[bot]
0e057ca9ae
Bump org.eclipse.jgit:org.eclipse.jgit.ssh.apache
...
Bumps org.eclipse.jgit:org.eclipse.jgit.ssh.apache from 6.8.0.202311291450-r to 6.9.0.202403050737-r.
---
updated-dependencies:
- dependency-name: org.eclipse.jgit:org.eclipse.jgit.ssh.apache
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-03-13 16:06:19 +00:00
dependabot[bot]
36bf2639bb
Bump io.ktor:ktor-client-cio from 2.3.8 to 2.3.9
...
Bumps [io.ktor:ktor-client-cio](https://github.com/ktorio/ktor ) from 2.3.8 to 2.3.9.
- [Release notes](https://github.com/ktorio/ktor/releases )
- [Changelog](https://github.com/ktorio/ktor/blob/2.3.9/CHANGELOG.md )
- [Commits](https://github.com/ktorio/ktor/compare/2.3.8...2.3.9 )
---
updated-dependencies:
- dependency-name: io.ktor:ktor-client-cio
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-03-13 18:04:55 +02:00
dependabot[bot]
0c1326e689
Bump com.google.devtools.ksp:symbol-processing-api
...
Bumps [com.google.devtools.ksp:symbol-processing-api](https://github.com/google/ksp ) from 1.9.22-1.0.18 to 1.9.23-1.0.19.
- [Release notes](https://github.com/google/ksp/releases )
- [Commits](https://github.com/google/ksp/commits/1.9.23-1.0.19 )
---
updated-dependencies:
- dependency-name: com.google.devtools.ksp:symbol-processing-api
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-03-13 18:04:38 +02:00
dependabot[bot]
dd74438f68
Bump org.jetbrains.kotlin:kotlin-stdlib from 1.9.22 to 1.9.23
...
Bumps [org.jetbrains.kotlin:kotlin-stdlib](https://github.com/JetBrains/kotlin ) from 1.9.22 to 1.9.23.
- [Release notes](https://github.com/JetBrains/kotlin/releases )
- [Changelog](https://github.com/JetBrains/kotlin/blob/v1.9.23/ChangeLog.md )
- [Commits](https://github.com/JetBrains/kotlin/compare/v1.9.22...v1.9.23 )
---
updated-dependencies:
- dependency-name: org.jetbrains.kotlin:kotlin-stdlib
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-03-13 18:04:26 +02:00
Alex Plate
a9ddfac782
Add test that shows an issue when deleting a line at the end of file
2024-03-12 21:21:15 +02:00
Alex Plate
79437df894
Fix(VIM-3330): Use Z backward visual search in sneak plugin
2024-03-12 20:01:35 +02:00
Alex Plate
b5a04af089
Switch to a stable version of the plugin verifier because the latest version is broken.
...
Broken version: https://github.com/JetBrains/intellij-plugin-verifier/releases/tag/1.364
Internal discussion: https://jetbrains.slack.com/archives/C03RHGR7J/p1710229884548179
2024-03-12 12:02:21 +02:00
Alex Plate
52372ae3d3
Disable plugin verifier for tests
2024-03-12 09:34:55 +02:00
Alex Plate
65d755d9b2
Bring back the getMappingMode function for binary compatibility with the which-key plugin
2024-03-12 09:31:59 +02:00
Alex Plate
1f1a8f3395
Avoid generation of the huge amount of sets during regex search
...
The tests shows that the depth of `epsilonVisited` is usually around 0-3, so there is no need to use the set. However, when the set is used, we have to make a new copy everytime we create a new `SimulationStackFrame`.
Now, the previous stack is reused.
2024-03-11 18:51:46 +02:00
Alex Plate
629e4e7053
Fix(VIM-3336): Improve the performance of n in large files
...
The git history shows that the force update of the search highlights was accidentally enabled during the refactorings
2024-03-11 18:49:38 +02:00
Alex Plate
c50a299cfd
Remove the unused import
2024-03-11 18:48:27 +02:00
Alex Plate
4bad129caf
Do not register clipboard option change listener for caret registers
...
Register groups for the caret do not use some fields from the base class, however the listener for these fiels is still registered. Now we don't register this listener.
Generally it looks like a bigger refactoring can be performed in order to separate the common registers logic from caret registers logic.
This change should improve the performance of the IjVimCaret initialization because now we won't register a new disposable on each instance of IjVimCaret
This is a part of VIM-3336
2024-03-11 17:41:54 +02:00
Alex Plate
1ffb28e21b
Wait for some checks in UI tests instead of immediate verification
2024-03-11 14:29:08 +02:00
dependabot[bot]
c126243367
Bump io.ktor:ktor-client-auth from 2.3.8 to 2.3.9
...
Bumps [io.ktor:ktor-client-auth](https://github.com/ktorio/ktor ) from 2.3.8 to 2.3.9.
- [Release notes](https://github.com/ktorio/ktor/releases )
- [Changelog](https://github.com/ktorio/ktor/blob/2.3.9/CHANGELOG.md )
- [Commits](https://github.com/ktorio/ktor/compare/2.3.8...2.3.9 )
---
updated-dependencies:
- dependency-name: io.ktor:ktor-client-auth
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-03-06 18:30:12 +02:00
dependabot[bot]
6da6e461a8
Bump io.ktor:ktor-serialization-kotlinx-json from 2.3.8 to 2.3.9
...
Bumps [io.ktor:ktor-serialization-kotlinx-json](https://github.com/ktorio/ktor ) from 2.3.8 to 2.3.9.
- [Release notes](https://github.com/ktorio/ktor/releases )
- [Changelog](https://github.com/ktorio/ktor/blob/2.3.9/CHANGELOG.md )
- [Commits](https://github.com/ktorio/ktor/compare/2.3.8...2.3.9 )
---
updated-dependencies:
- dependency-name: io.ktor:ktor-serialization-kotlinx-json
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-03-06 18:15:59 +02:00
dependabot[bot]
103101bbcb
Bump com.google.devtools.ksp:symbol-processing-api
...
Bumps [com.google.devtools.ksp:symbol-processing-api](https://github.com/google/ksp ) from 1.9.22-1.0.17 to 1.9.22-1.0.18.
- [Release notes](https://github.com/google/ksp/releases )
- [Commits](https://github.com/google/ksp/commits )
---
updated-dependencies:
- dependency-name: com.google.devtools.ksp:symbol-processing-api
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-03-06 18:04:15 +02:00
dependabot[bot]
f737fcba1a
Bump io.ktor:ktor-client-core from 2.3.8 to 2.3.9
...
Bumps [io.ktor:ktor-client-core](https://github.com/ktorio/ktor ) from 2.3.8 to 2.3.9.
- [Release notes](https://github.com/ktorio/ktor/releases )
- [Changelog](https://github.com/ktorio/ktor/blob/2.3.9/CHANGELOG.md )
- [Commits](https://github.com/ktorio/ktor/compare/2.3.8...2.3.9 )
---
updated-dependencies:
- dependency-name: io.ktor:ktor-client-core
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-03-06 18:03:05 +02:00
dependabot[bot]
c5fa0678b8
Bump io.ktor:ktor-client-content-negotiation from 2.3.8 to 2.3.9
...
Bumps [io.ktor:ktor-client-content-negotiation](https://github.com/ktorio/ktor ) from 2.3.8 to 2.3.9.
- [Release notes](https://github.com/ktorio/ktor/releases )
- [Changelog](https://github.com/ktorio/ktor/blob/2.3.9/CHANGELOG.md )
- [Commits](https://github.com/ktorio/ktor/compare/2.3.8...2.3.9 )
---
updated-dependencies:
- dependency-name: io.ktor:ktor-client-content-negotiation
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-03-06 18:02:42 +02:00
filipp
00ccddf8cf
Revert changes to SearchGroup
...
Wrong branch. The changes should be merged to master only after review in the Fleet branch
2024-03-03 22:16:19 +02:00
filipp
00cbf188fb
Replace findUnmatchedBlock method with a new implementation
2024-03-03 22:05:28 +02:00
filipp
988ea74461
Fix(VIM-3294): %-movement mismatches braces
2024-03-03 22:05:28 +02:00
filipp
0914cda7e5
Better matching for a sequence of single-line comments
2024-03-03 22:05:28 +02:00
filipp
5959e9aaa1
Fix(VIM-1399): Uncommented brackets are matched to commented ones in VIM mode
2024-03-03 22:05:28 +02:00
filipp
434df565ae
Migrate % command to work with newer method in SearchGroup.kt
2024-03-03 22:05:28 +02:00
filipp
c8f36504d8
Fix tests for %
2024-03-03 22:05:28 +02:00
filipp
06e1af371e
Add SearchGroup.kt
...
In the future, it should become a container for all the search methods that we have in IdeaVim
At the moment we have a bunch of SearchGroups and SearchHelpers, and it may be confusing.
We also want to avoid using unnecessary OOP.
2024-03-03 22:05:28 +02:00
filipp
d744987ac8
Add VimPsiService
...
We want to avoid unnecessary OOP and use interfaces only for cases where we will have different implementations for different IDEs
This service will help us in our future refactorings of SearchGroup and SearchHelper
2024-03-03 22:03:58 +02:00
filipp
b4eef17aaa
Add StringUtil.kt class
...
Methods in this file will be helpful in future search refactorings
2024-03-03 22:03:58 +02:00
filipp
5c50e8607c
Fix search
2024-03-01 08:50:18 +02:00
Filipp Vakhitov
9a324ab448
Reset KeyHandlerState when switching Editors
...
Now we have a single state for all the editors, so we should not mix their states
2024-02-29 20:27:46 +02:00
dependabot[bot]
c3978335f5
Bump org.mockito.kotlin:mockito-kotlin from 5.0.0 to 5.2.1
...
Bumps [org.mockito.kotlin:mockito-kotlin](https://github.com/mockito/mockito-kotlin ) from 5.0.0 to 5.2.1.
- [Release notes](https://github.com/mockito/mockito-kotlin/releases )
- [Commits](https://github.com/mockito/mockito-kotlin/compare/5.0.0...5.2.1 )
---
updated-dependencies:
- dependency-name: org.mockito.kotlin:mockito-kotlin
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-02-28 16:01:23 +00:00
Alex Plate
051296c2aa
UI tests: make sure the text appear in the editor before running tests
2024-02-28 09:37:05 +02:00
Alex Plate
90f2d2ff29
Small update of the minimal version of IJ
2024-02-27 14:43:23 +02:00
Alex Plate
4c2edab406
Run optimize imports
2024-02-27 13:17:02 +02:00
Alex Plate
76e8fd69bf
Increase timeout in UI tests
2024-02-27 11:30:51 +02:00
IdeaVim Bot
5dd458bcf7
Add lippfi, FilipParker to contributors list
2024-02-24 09:02:05 +00:00
Filipp Vakhitov
a94a8b8539
Fix tests
2024-02-24 01:03:18 +02:00
Filipp Vakhitov
261230b23a
Remove experimental showmodewidget option
2024-02-24 00:36:36 +02:00
Filipp Vakhitov
b90317e00e
More visible text color for mode widget
...
Visibility may be unexpected for custom themes with non-obvious colors
2024-02-24 00:27:48 +02:00
Filipp Vakhitov
21c9dc8785
Add statistic collector for mode widget
2024-02-24 00:15:01 +02:00
Alex Plate
31bbc60325
Fix all reports of the inspection that prohibits the use of companion objects
...
This is a requirement from the platform, as a huge amount of companion objects leads to a higher level of classloading
2024-02-23 18:55:01 +02:00
Alex Plate
fec6e5c189
Remove the last argument in EventLogGroup as the compatibility was fixed on the platform side
2024-02-23 18:35:21 +02:00
Alex Plate
23c1493f17
Fix(VIM-3306): Vim paragraph motion won't make mappings if there is already such mapping defined by user
2024-02-23 18:26:50 +02:00
lippfi
00808af569
Merge pull request #824 from JetBrains/fleet
...
Asynchronous key processing for Fleet
2024-02-23 17:25:21 +02:00
filipp
3c94091d30
Merge branch 'refs/heads/master' into fleet
2024-02-23 17:24:08 +02:00
filipp
b737362aba
Update CaretVisualAttributesListener to use new Editor API
2024-02-23 17:21:18 +02:00
Parker7123
db722fc4e5
VIM-1472 Add support for sorting with pattern
2024-02-23 17:15:21 +02:00
filipp
7d679e68dc
Merge branch 'refs/heads/master' into fleet
...
# Conflicts:
# vim-engine/src/main/kotlin/com/maddyhome/idea/vim/api/VimEditorGroup.kt
# vim-engine/src/main/kotlin/com/maddyhome/idea/vim/impl/state/VimStateMachineImpl.kt
2024-02-23 17:08:01 +02:00
Matt Ellis
bc808403fb
Rename localEditors to getEditors
...
The fact that these methods only return local editors (i.e., editors for the local user while hosting a Code With Me session) is an implementation detail
2024-02-23 17:01:32 +02:00
Matt Ellis
9d6dc317a4
Only notify editors for the current buffer
2024-02-23 17:01:32 +02:00
Matt Ellis
cf29c50f31
Ensure editors are initialised before use
...
Fixes VIM-3256
2024-02-23 17:01:32 +02:00
Alex Plate
2a3c4cc441
Use a link to changelog
2024-02-23 16:02:38 +02:00
Matt Ellis
bd192561ae
Stop IdeaVim actions flowing into JB Client
...
IdeaVim actions are local only - they control local behaviour and should not be visible in the Client
Fixes VIM-3283
2024-02-23 15:54:20 +02:00
Matt Ellis
66ff56a05e
Move document listeners to global listeners
...
This means we listen to changes in all documents, rather than just the changes in the documents for open local editors. And this means that we correctly update e.g. marks when a non-local editor changes a file that isn't open in a local editor.
2024-02-23 15:54:20 +02:00
Matt Ellis
def86d179e
Review disabled editor checks
2024-02-23 15:54:20 +02:00
Matt Ellis
3c9a343f8b
Review listeners to only work with local editors
...
Reviews all IntelliJ listeners to ensure that they only work with supported local editors. Editor creation was initialising IdeaVim for all editors, which meant that behaviour could leak into Code With Me guest editors. E.g. guest editors incorrectly drawing relative line numbers, or the host using the guest's last selected tab when switching to an alternate file.
This leads to a change in behaviour with some local editors. The editor creation listener will now check to see if the editor is local *and supported*. This means it can exclude single line editors, editors in database cells or dialogs, depending on the state of 'ideavimsupport' at creation time. The behaviour at creation time is now more correct, but if 'ideavimsupport' is modified, existing matching editors will not be initialised.
Fixes VIM-3274, fixes VIM-3275
2024-02-23 15:54:20 +02:00
Matt Ellis
10b6b05fab
Clear disposable after disposing
2024-02-23 15:54:20 +02:00
Matt Ellis
caa4ef736a
Rename method for clarity
2024-02-23 15:54:20 +02:00
Matt Ellis
23702345a9
Fix comments
2024-02-23 15:54:20 +02:00
Matt Ellis
ba89babd10
Move listener to app level
...
Fixes VIM-2167
2024-02-23 15:54:20 +02:00
Matt Ellis
2ce3fbd677
Use common APIs to get local editors
2024-02-23 15:54:20 +02:00
Matt Ellis
d8de73a06d
Use correct APIs to get local only editors
...
Always ignores non-local, hidden editors opened by remote guests in Code With Me sessions.
Fixes VIM-3268
2024-02-23 15:54:20 +02:00
Alex Plate
8094e6711a
Update qodana baseline
2024-02-23 15:38:33 +02:00
Alex Plate
10edccc1d6
Add matchit test for jump from try to catch and to finally
...
From PR https://github.com/JetBrains/ideavim/pull/802
2024-02-23 15:36:38 +02:00
Alex Plate
247aaed188
Use the property to change the state of the octopus handler
2024-02-23 15:32:35 +02:00
Filipp Vakhitov
1a4333fa1b
Move implementations to upper level
...
It will simplify support of immutable editors in Fleet
2024-02-23 15:09:45 +02:00
Filipp Vakhitov
8eaa6df318
Throw error instead of warning on state conflict
...
It may indicate some serious issues, and we would like to know if anything goes wrong
2024-02-23 15:09:45 +02:00
Filipp Vakhitov
7523db186f
Empty status bar message after each test
2024-02-23 15:09:45 +02:00
filipp
4aac113522
Remove duplicate method
2024-02-23 15:09:45 +02:00
filipp
795abd77a7
Add documentation
2024-02-23 15:09:45 +02:00
Filipp Vakhitov
38bc914504
Avoid using annotation-processors in vim-engine
2024-02-23 15:09:45 +02:00
Filipp Vakhitov
c8113eea83
Commit state after receiving unknown key
2024-02-23 15:09:45 +02:00
Filipp Vakhitov
924b7418e8
Fix DigraphSequence cloning
2024-02-23 15:09:45 +02:00
Filipp Vakhitov
a7dfef61e9
Make LazyVimCommand open
2024-02-23 15:09:45 +02:00
Filipp Vakhitov
db35c979b4
Move some editor methods to the base class
2024-02-23 15:09:45 +02:00
Filipp Vakhitov
2de933c723
Make processKey public
2024-02-23 15:09:45 +02:00
filipp
d3704d602f
Cleanup after moving logic to other classes
2024-02-23 15:09:45 +02:00
filipp
ea62f227bf
Remove piece of code for handling bad commands
...
Bad commands are handled in consumers
2024-02-23 15:09:45 +02:00
filipp
23fdadc32e
Fix test
...
Sometimes it's not a plugin error and may indicate that key is propagated for later handling by IDE
But what we know for sure - that for both cases we should reset command builder
2024-02-23 15:09:45 +02:00
filipp
e9bf06686f
Add synchronize blocks to minimize risk of concurrent key processing and changing of the KeyHandlerState
2024-02-23 15:09:45 +02:00
filipp
7842b155c1
Move some logic to ModeInputConsumer
2024-02-23 15:09:45 +02:00
filipp
74a8277e10
Move some logic to SelectRegisterConsumer
2024-02-23 15:09:45 +02:00
filipp
ddb1b80463
Move some logic to CommandConsumer
2024-02-23 15:09:45 +02:00
filipp
eea3336934
Move some logic to CommandConsumer
2024-02-23 15:09:45 +02:00
filipp
f801145712
Update MappingInfo to match newer signature
2024-02-23 15:09:45 +02:00
filipp
e033b08535
Move some logic to DigraphConsumer
2024-02-23 15:09:45 +02:00
filipp
1d9514a205
Move some logic to RegisterConsumer
2024-02-23 15:09:45 +02:00
filipp
6741120f19
Move some logic to CharArgumentConsumer
2024-02-23 15:09:45 +02:00
filipp
c501457322
Move some logic to EditorResetConsumer
2024-02-23 15:09:45 +02:00
filipp
46425a24c3
Move some logic to DeleteCommandConsumer
2024-02-23 15:09:45 +02:00
filipp
9826f0a7f0
Move some logic to CommandCountConsumer
2024-02-23 15:09:45 +02:00
filipp
43175061e0
Fix broken digraphSequence
...
It shouldn't be retested on partial reset
2024-02-23 15:09:45 +02:00
filipp
0ab32cac34
Make MappingProcessor a KeyConsumer
2024-02-23 15:09:45 +02:00
filipp
e3ec9c614b
Add KeyConsumer
...
It will help us to have a more modular KeyHandler in future (chain of different consumers)
2024-02-23 15:09:45 +02:00
filipp
f454d60234
Add MutableBoolean to be able to pass and modify shouldRecord in methods
2024-02-23 15:09:45 +02:00
filipp
19fa00837c
Use KeyProcessResultBuilder
...
It will help us to build the KeyProcessResult that we need for asynchronous key processing
2024-02-23 15:09:45 +02:00
filipp
275c5d28e1
Add KeyProcessResultBuilder
2024-02-23 15:09:45 +02:00
filipp
15ae069f6f
Make keyHandlerState argument not null
...
Applying default values may lead to unexpected results, especially if we sometimes want to use the global state (IJ), and at other times, its clone for asynchronous processing (Fleet).
2024-02-23 15:09:45 +02:00
Filipp Vakhitov
00f5541dc6
Add KeyProcessResult interface
2024-02-23 15:09:45 +02:00
Filipp Vakhitov
02540eb303
Pass KeyHandlerState as a method argument
2024-02-23 15:09:45 +02:00
Filipp Vakhitov
282e581bdb
Make state cloneable
2024-02-23 15:09:45 +02:00
Filipp Vakhitov
31e7c49608
Add equals & hashCode
2024-02-23 15:09:45 +02:00
filipp
7966a6dc91
Create KeyHandlerState
...
We do not need multiple commandBuilder, digraphSequence or mappingState and this class will be a singleton containing them
2024-02-23 15:09:45 +02:00
filipp
5fc2f04224
Remove mappingMode from MappingState
...
It unnecessarily binds mappingState to mode and thus to editor. And we want to simplify things and have a single MappingState instead of multiple of them
2024-02-23 15:09:45 +02:00
filipp
6edfd8ed22
Remove deprecated showmode status bar text update that does not work with the new UI and will be replaced with widget
2024-02-23 15:09:45 +02:00
filipp
363db05db7
Macro recording state is no longer per editor
...
It will not only simplify VimStateMachine, but also help us to support multi-editor macros in future
2024-02-23 15:09:45 +02:00
filipp
3738012dd6
Listeners refactoring
...
1. Listeners now disposed after turning plugin off
2. Change widget listeners to be recreated on plugin toggle
3. Add CaretVisualAttributesListener
2024-02-23 15:09:45 +02:00
filipp
355cfe035d
Remove Editor from VimStateMachine
...
Rationale:
1. A much more experienced developer, whom I highly respect, suggested to empty VimStateMachineImpl constructor in his TODO comment.
2. I aim for VimStateMachine to be a data class rather than being a container for both data and complex logic.
3. From an architectural perspective, it is more correct. Editors do have state (or they may possess a single global state if the corresponding option is set), but a state does not own an editor.
2024-02-23 15:09:44 +02:00
Alex Plate
6d01b5be77
Stop maintaining the changelog file
...
We have quite a fucntionality to maintain the changelof in actual state
However, since we switched to release from the latest EAP, we can't just update the changelog on master because it will contains also unreleased changes since the latest EAP.
The proper support for such change will require a lot of coding that will take a lot of time to implement and will eventually break.
So, it was decided to keep the changelog on YouTrack only and not to maintain the changes file.
This change still may be reverted, so the code around the changelog is note removed, but only commented out
2024-02-23 14:05:12 +02:00
Alex Plate
4938957483
Add a comment line with LATEST-EAP-SNAPSHOT
2024-02-23 13:37:36 +02:00
Alex Plate
46f4fa7cdd
Make tests about join notification more stable
...
Now we track only new notifications instead of just taking the last one
2024-02-23 11:27:15 +02:00
Alex Plate
f696135f31
Now we execute beforeActionPerformedUpdate instead of lastUpdateAndCheckDumb right before action execution
...
This is done because of platform changes. Now the `lastUpdateAndCheckDumb` doesn't update an action that supposed to be updated on background.
The problem was detected with commentary tests. The test supposed to use the line comment in case the block comment is not available. However, the since the action was not updated, the presentation was not reset to false and the fallback to line action was not performed.
2024-02-23 11:26:45 +02:00
Alex Plate
52e0fcdc7d
Use the custom version of IntIterator.skip because it was removed from the library
2024-02-23 10:29:33 +02:00
Alex Plate
ac17518a23
Update the changelog
2024-02-23 10:19:39 +02:00
6dd924b2b2
Implement motions to go to next/previous misspelled word
2024-02-23 10:17:25 +02:00
Matt Ellis
f439474b73
Fix set command tests
...
Also hides more feature flags and diagnostic settings from users and unit tests. Shows them when in internal mode.
2024-02-23 10:04:23 +02:00
Matt Ellis
d6cd92e256
Migrate extensions to use operatorfunc option
2024-02-23 10:04:23 +02:00
Matt Ellis
3a294268d9
Introduce operatorfunc option
...
Allows creating custom operators in script, as shown in JetBrains/ideavim#702
2024-02-23 10:04:23 +02:00
Alex Plate
9b81c7e650
Update junit version
2024-02-23 10:03:30 +02:00
Alex Plate
e229fb3ad7
Add new plugin that depends on IdeaVim
2024-02-23 09:26:46 +02:00
Alex Plate
720eae63fa
Fix the incorrect condition in UI tests
2024-02-23 09:23:42 +02:00
Alex Plate
0df96a24bd
Add a missing @BeforeEach in tests
2024-02-22 09:19:24 +02:00
Alex Plate
21a1588ede
Increase wait timeout for UI tests
2024-02-22 09:02:03 +02:00
Alex Plate
7970006e8c
Log the base commit during dev version calculation
2024-02-22 09:02:02 +02:00
dependabot[bot]
418d0cff7f
Bump org.junit.jupiter:junit-jupiter from 5.10.1 to 5.10.2
...
Bumps [org.junit.jupiter:junit-jupiter](https://github.com/junit-team/junit5 ) from 5.10.1 to 5.10.2.
- [Release notes](https://github.com/junit-team/junit5/releases )
- [Commits](https://github.com/junit-team/junit5/compare/r5.10.1...r5.10.2 )
---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-02-21 17:42:43 +02:00
dependabot[bot]
7284360774
Bump org.jetbrains.intellij from 1.17.0 to 1.17.2
...
Bumps org.jetbrains.intellij from 1.17.0 to 1.17.2.
---
updated-dependencies:
- dependency-name: org.jetbrains.intellij
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-02-21 17:42:15 +02:00
dependabot[bot]
9fc3fadee8
Bump org.antlr:antlr4 from 4.10.1 to 4.13.1
...
Bumps [org.antlr:antlr4](https://github.com/antlr/antlr4 ) from 4.10.1 to 4.13.1.
- [Release notes](https://github.com/antlr/antlr4/releases )
- [Changelog](https://github.com/antlr/antlr4/blob/dev/CHANGES.txt )
- [Commits](https://github.com/antlr/antlr4/compare/4.10.1...4.13.1 )
---
updated-dependencies:
- dependency-name: org.antlr:antlr4
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-02-21 17:42:05 +02:00
Alex Plate
3d2db56f63
Use sets during plugin detection to avoid sorting problems
2024-02-21 10:43:44 +02:00
Alex Plate
e9c7cb8670
Update logic of calculation of dev version
2024-02-21 10:40:20 +02:00
dependabot[bot]
87d19274c5
Bump io.ktor:ktor-client-content-negotiation from 2.3.7 to 2.3.8
...
Bumps [io.ktor:ktor-client-content-negotiation](https://github.com/ktorio/ktor ) from 2.3.7 to 2.3.8.
- [Release notes](https://github.com/ktorio/ktor/releases )
- [Changelog](https://github.com/ktorio/ktor/blob/main/CHANGELOG.md )
- [Commits](https://github.com/ktorio/ktor/commits )
---
updated-dependencies:
- dependency-name: io.ktor:ktor-client-content-negotiation
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-02-20 17:10:25 +02:00
dependabot[bot]
3161bf8ffd
Bump io.ktor:ktor-client-core from 2.3.7 to 2.3.8
...
Bumps [io.ktor:ktor-client-core](https://github.com/ktorio/ktor ) from 2.3.7 to 2.3.8.
- [Release notes](https://github.com/ktorio/ktor/releases )
- [Changelog](https://github.com/ktorio/ktor/blob/main/CHANGELOG.md )
- [Commits](https://github.com/ktorio/ktor/commits )
---
updated-dependencies:
- dependency-name: io.ktor:ktor-client-core
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-02-20 17:10:21 +02:00
Alex Plate
b68865587e
Wait up to 5 mins for initialization of PyCharm
2024-02-20 17:06:32 +02:00
dependabot[bot]
7dc0dbe944
Bump io.ktor:ktor-serialization-kotlinx-json from 2.3.7 to 2.3.8
...
Bumps [io.ktor:ktor-serialization-kotlinx-json](https://github.com/ktorio/ktor ) from 2.3.7 to 2.3.8.
- [Release notes](https://github.com/ktorio/ktor/releases )
- [Changelog](https://github.com/ktorio/ktor/blob/main/CHANGELOG.md )
- [Commits](https://github.com/ktorio/ktor/commits )
---
updated-dependencies:
- dependency-name: io.ktor:ktor-serialization-kotlinx-json
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-02-20 16:56:35 +02:00
dependabot[bot]
f50a363525
Bump io.ktor:ktor-client-cio from 2.3.7 to 2.3.8
...
Bumps [io.ktor:ktor-client-cio](https://github.com/ktorio/ktor ) from 2.3.7 to 2.3.8.
- [Release notes](https://github.com/ktorio/ktor/releases )
- [Changelog](https://github.com/ktorio/ktor/blob/main/CHANGELOG.md )
- [Commits](https://github.com/ktorio/ktor/commits )
---
updated-dependencies:
- dependency-name: io.ktor:ktor-client-cio
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-02-20 16:56:16 +02:00
Alex Plate
57ad4c70d1
Do not analyze test fixtures by qodana
2024-02-20 16:46:43 +02:00
Alex Plate
d3d93b898f
Unregister NotificationService project service
...
It's not registered as a light service and doesn't need to be registered in xml files
2024-02-20 16:46:07 +02:00
Alex Plate
7d8973edb2
Add tests for new java matchit functionality
...
From PR https://github.com/JetBrains/ideavim/pull/802
2024-02-20 16:42:28 +02:00
dependabot[bot]
2302b576b0
Bump io.ktor:ktor-client-auth from 2.3.7 to 2.3.8
...
Bumps [io.ktor:ktor-client-auth](https://github.com/ktorio/ktor ) from 2.3.7 to 2.3.8.
- [Release notes](https://github.com/ktorio/ktor/releases )
- [Changelog](https://github.com/ktorio/ktor/blob/main/CHANGELOG.md )
- [Commits](https://github.com/ktorio/ktor/commits )
---
updated-dependencies:
- dependency-name: io.ktor:ktor-client-auth
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-02-20 16:42:07 +02:00
f4782630d4
Add Matchit support for Java statements
2024-02-20 16:41:34 +02:00
IdeaVim Bot
8c1a2a686f
Update changelog after merging PR
2024-02-20 14:33:04 +00:00
32d5e1e6fa
Enforce LF line separator in project code style
2024-02-20 16:31:36 +02:00
Alex Plate
a381a1cacc
Wait till all toolwindows initialziation
2024-02-20 16:19:29 +02:00
Alex Plate
73c3c9f7fe
Replace Enum.values() with Enum.entries, as suggested since 1.9
2024-02-20 16:12:34 +02:00
Alex Plate
67ef0a75d5
Update capitalization
2024-02-20 16:12:11 +02:00
Alex Plate
328bc5e95a
Convert some services to light services
2024-02-20 16:10:07 +02:00
Alex Plate
7f8021e37e
Update the function that waits for smart mode
2024-02-20 15:49:42 +02:00
Alex Plate
9701b7e79b
Add test reports to artifacts
2024-02-20 15:10:15 +02:00
Alex Plate
7a52c6fec9
Cleanup tests
2024-02-20 14:51:13 +02:00
Alex Plate
1503639d4b
Remove generated lexing from qodana analyze
2024-02-20 14:51:06 +02:00
Alex Plate
e82f19c852
Add test for checking an issue that
...
was caught by property tests
2024-02-20 13:52:17 +02:00
Alex Plate
edd69c9c25
Apply patch for qodata TC config
2024-02-20 13:12:14 +02:00
Alex Plate
fc61e369fb
Fix some deprecated calls
2024-02-20 13:11:10 +02:00
aleksei.plate@jetbrains.com
113586b59b
TeamCity change in 'Ideavim' project: runners of 'Qodana checks' build configuration were updated
2024-02-20 10:53:37 +00:00
Alex Plate
5dbd5e1c89
Update the changelog
2024-02-20 12:47:06 +02:00
IdeaVim Bot
04b7d9e2c3
Preparation to 2.9.0 release
2024-02-20 10:41:06 +00:00
Alex Plate
5f2743176a
Update qodana configuration on TC
2024-02-20 12:18:24 +02:00
aleksei.plate@jetbrains.com
3723488617
TeamCity change in 'Ideavim' project: runners of 'Qodana checks' build configuration were updated
2024-02-20 10:16:06 +00:00
Alex Plate
0cc17a0791
Make a correct service level for VimProjectService
2024-02-20 12:12:50 +02:00
aleksei.plate@jetbrains.com
05a21e6091
TeamCity change in 'Ideavim' project: 'Qodana checks' build configuration settings were updated
2024-02-20 08:58:47 +00:00
Alex Plate
fc06bc7c6f
Update the qodana baseline
2024-02-20 10:58:08 +02:00
Alex Plate
1bd005adc1
Fix the name of the compatibility function
2024-02-20 10:39:34 +02:00
Alex Plate
4f208d1577
Add new plugin to the list
2024-02-20 10:37:10 +02:00
aleksei.plate@jetbrains.com
eb6e0557a7
TeamCity change in 'Ideavim' project: runners of 'Qodana checks' build configuration were updated
2024-02-20 08:23:51 +00:00
Alex Plate
cf09d66be6
Prototype for vimscript inspection
2024-02-20 06:13:26 +02:00
Alex Plate
76cd127a8a
Bring back function to fix compatibility
2024-02-20 05:25:22 +02:00
Alex Plate
f6dd2a9968
Do not call for setCaretVisible in tests as this causes project leak
2024-02-20 05:20:05 +02:00
aleksei.plate@jetbrains.com
ae05a33e14
TeamCity change in 'Ideavim' project: general settings of 'Tests for IntelliJ Latest EAP' build configuration were updated
2024-02-19 07:13:35 +00:00
aleksei.plate@jetbrains.com
b38fad323b
TeamCity change in 'Ideavim' project: general settings of 'Tests for IntelliJ Latest EAP' build configuration were updated
2024-02-19 07:12:50 +00:00
Alex Plate
c6027fcf0f
Add new plugin for compatibility checks
2024-02-19 09:01:10 +02:00
IdeaVim Bot
f4cf06a50e
Update changelog. Action id - 7940923443
2024-02-17 10:05:47 +00:00
Alex Plate
86bf8dcc60
Fix the compatibility with platform
2024-02-17 08:56:17 +02:00
Alex Plate
d37898b6d3
Fix(VIM-3234): The space character won't mix in the tab chars after >> and << commands
...
Because of some reason, the visual position function from the platform starts to return an incorrect column for offsets with tabs. Maybe this is a correct behaviour for the platform, but for IdeaVim it breaks the calculation of the current caret position.
The visual position for calculating the shift was used since 2003, but there is no specific reason to use it and not the buffer (logical) position. So, since it started to cause issues, it's replaced with the buffer position.
2024-02-17 08:54:42 +02:00
Alex Plate
1edd6a9002
Fix the compatibility with the new version of the platform
2024-02-17 08:15:11 +02:00
Alex Plate
f7fa0dcbd1
Update YouTrack query for updating the release status after the release
2024-02-17 08:15:11 +02:00
Alex Plate
4f0a95a803
Bring back setCompletionPhase as this incompatibility was fixed in the latest EAP of the IntelliJ platform
2024-02-17 08:15:11 +02:00
IdeaVim Bot
e443cb0d3c
Update changelog. Action id - 7928973613
2024-02-16 10:06:24 +00:00
Alex Plate
6fa228ee08
Fix(VIM-3291): Remove sync of editor selection between different opened editors
...
This is an old feature implemented by Rick Maddy in 2004, taken from Vim.
c294063223
If several buffers for the same file are opened, the selection is synchronized between buffers.
This doesn't happen in IJ natively and I don't see a reason to keep it like that.
This behaviour is removed because it causes issues now, but if we'll figure out the usage, we can bring it back.
2024-02-15 20:34:57 +02:00
Alex Plate
fb9bfbaeeb
Do not check the compatibility of the sneak plugin
2024-02-14 18:05:56 +02:00
Alex Plate
09668f4fcb
Update gradle wrapper to version 8.6
2024-02-14 17:07:20 +02:00
Alex Plate
4c7a6165ed
Fix incorrect logs location in UI tests
2024-02-13 19:26:58 +02:00
Alex Plate
12d0d2613f
Allow sneak plugin to be registered with the original mappings from the sneak plugin
2024-02-13 19:20:41 +02:00
Alex Plate
42ee78cd3d
Disable runIde task for test subprojects
2024-02-13 19:18:18 +02:00
Alex Plate
58d308c1ed
Fix the logging reporting for UI tests
2024-02-13 18:02:55 +02:00
Alex Plate
29e1bcc53d
Wait longer for the python console to intialize
2024-02-13 14:56:14 +02:00
Alex Plate
3531574e5e
Remove intellij plugin dependency for UI tests
2024-02-13 12:59:13 +02:00
Alex Plate
b9721218ab
Enable PyCharm for python UI tests
2024-02-13 12:42:33 +02:00
Alex Plate
a119ea6a29
Fix octopus UI test
2024-02-13 12:34:56 +02:00
Alex Plate
95ef5f5f32
Fix incorrect configuration for UI tests
2024-02-13 08:43:12 +02:00
Alex Plate
b81b18645b
Disable publishPlugin task for tests
2024-02-13 08:34:51 +02:00
Alex Plate
ce591f1b43
Configure UI robot for the root project
2024-02-12 14:49:38 +02:00
Alex Plate
28afa4b3ce
Change the gradle config for UI tests
2024-02-12 13:37:10 +02:00
IdeaVim Bot
89a24d71a6
Update changelog after merging PR
2024-02-10 18:07:26 +00:00
f69630b668
VIM-3238 Fix recording a macro that replays another macro
2024-02-10 20:05:47 +02:00
Alex Plate
a2d34a883b
Fix verifyPlugin task
2024-02-09 16:45:57 +02:00
Alex Plate
5c79b887d8
Do not ask for license for py tests
2024-02-09 16:31:25 +02:00
Alex Plate
d0475bf659
Explicitly specify jupyter version
2024-02-09 16:27:22 +02:00
Alex Plate
85c9576699
Extract common UI test fixtures
2024-02-09 16:22:22 +02:00
Alex Plate
2483450a1f
Rename ui tests for better consistency
2024-02-09 16:11:14 +02:00
Alex Plate
519d5eed06
Set up PyCharm UI test
2024-02-09 16:03:31 +02:00
Alex Plate
d87965775a
Update version of robot
2024-02-08 16:48:03 +02:00
Alex Plate
8c6f81aa00
Fix incorrect location of the video
2024-02-08 16:46:03 +02:00
Alex Plate
6ea0ab0968
Print if neovim testing is enabled or not
2024-02-08 15:22:54 +02:00
Alex Plate
70ab3ecdbe
Make a custom expand function for UI tests
2024-02-08 15:10:47 +02:00
Alex Plate
a24ae616df
Fix the creation of the video for the UI tests
2024-02-08 15:10:36 +02:00
Alex Plate
cc838f614f
Remove the testWithNeovim task
...
Now you can just run `gradlew test -Dnvim`
2024-02-08 14:53:43 +02:00
Alex Plate
ae62a9f378
Fix the incorrect test
2024-02-08 14:35:52 +02:00
Alex Plate
1b5778a58c
Remove configurations for UI tests
2024-02-08 14:33:02 +02:00
Alex Plate
27a689e7b8
Extract UI tests into the separate module
2024-02-08 14:21:09 +02:00
Alex Plate
8e6c490c62
Reformat the config file
2024-02-08 09:50:13 +02:00
Alex Plate
ccda70fe53
Remove mentions of ktlint
2024-02-08 09:49:17 +02:00
Alex Plate
26c42e4f0d
Turn off fixes for the gradle release with test search issues
2024-02-08 09:48:38 +02:00
Alex Plate
3244dd52eb
The line with compilation error is disabled
...
In 2024.1 EAP this line causes compilation error due to platform conversion from java to kotlin
The fix is landed in the platform and it should work fine with the new EAP.
However, since our tests are fail now, I'll comment out this line and bring it back in one week.
2024-02-08 09:39:54 +02:00
Alex Plate
4c6807a0c2
Extract long running tests into a separate module
2024-02-08 09:28:26 +02:00
Alex Plate
03a6a2749a
Clean up build.gradle.kts
2024-02-08 09:16:16 +02:00
Alex Plate
82f69456e9
Exclude propery tests into a separate project
2024-02-08 09:14:52 +02:00
filipp.vakhitov
6beda371fb
TeamCity change in 'Ideavim / IdeaVim releases' project: VCS roots of 'Publish vim-engine' build configuration were updated
2024-02-07 19:42:16 +00:00
Alex Plate
5b9cb2efc5
Explicitly specify java version for java IDE tests
2024-02-07 16:18:54 +02:00
Alex Plate
733968723c
Explicitly specify an IDE type in the configuration
2024-02-07 16:07:35 +02:00
Alex Plate
63c81d67f2
Extract java tests for IdeaVim to a separate gradle subproject
2024-02-07 16:04:10 +02:00
Alex Plate
ad8ba1dd24
Move @VimBehaviourDiffers into a correct package of testFixtures
2024-02-07 10:07:16 +02:00
Alex Plate
04f821e3e1
Create a testFixtures for the project
...
This will be needed for extracting the java tests into a separate subproject
Also, cleaned up the ordering of dependencies in build.gradle.kts
2024-02-07 10:05:56 +02:00
Alex Plate
4937985e2c
Bump kotlin version from 1.8.21 to 1.9.22
...
One of the reasons for that is that 1.9.22 allows internal classes to be available in testFixtures from java KT-34901.
2024-02-07 09:29:15 +02:00
Alex Plate
5fd7d83a70
Apply patches to TeamCity configurations
2024-02-07 08:22:42 +02:00
aleksei.plate@jetbrains.com
699a19d202
TeamCity change in 'Ideavim / IdeaVim releases' project: parameters of 'Publish EAP Build' build configuration were updated
2024-02-07 06:12:25 +00:00
Alex Plate
0b42938197
New testing of the eap release job
2024-02-07 08:05:02 +02:00
Alex Plate
1e2bfb6216
Trying to figure out how to get the youtrack token
2024-02-06 19:25:19 +02:00
Alex Plate
f755a4b23f
Trying to figure out how to get the youtrack token
2024-02-06 19:20:38 +02:00
Alex Plate
4f58e12fca
Trying to figure out how to get the youtrack token
2024-02-06 19:15:14 +02:00
Alex Plate
588cf89531
Rename the youtrackToken for the EAP release
2024-02-06 19:02:58 +02:00
Alex Plate
4fe2dd2706
Add a clearer error message about the missing youtrack token
2024-02-06 18:31:48 +02:00
Alex Plate
11ad605cd6
Add YouTrack token to the EAP release job
2024-02-06 18:28:57 +02:00
Alex Plate
fa9f160bd1
Fix incorrect names in EAP release jobs
2024-02-06 18:21:05 +02:00
Alex Plate
dae1fad54e
Add commenting on YouTrack tickets as a part of EAP release process
2024-02-06 18:08:16 +02:00
IdeaVim Bot
52200188d4
Add Emanuel Gestosa to contributors list
2024-02-06 09:02:35 +00:00
Alex Plate
0d74b9ef0b
Fix tag pushing in the release branch
2024-02-06 10:41:14 +02:00
Alex Plate
549163d274
Comment out everything for pycharm tests because it fails on GitHub
2024-02-06 10:32:58 +02:00
Alex Plate
755018c783
Update release jobs
2024-02-06 10:09:53 +02:00
Filipp Vakhitov
2a1c4b3a1c
Better widget order
2024-02-06 00:32:25 +02:00
Alex Plate
aae0d825e7
Move the ideavim-sneak plugin into IdeaVim
...
The author of the original plugin announced the deprecation of the plugin.
However, we've got an approval to move the sources into IdeaVim and continue the development.
Original repo: https://github.com/Mishkun/ideavim-sneak
Approval: https://twitter.com/ideavim/status/1754512214344478939
2024-02-05 19:28:36 +02:00
Alex Plate
855dbfab16
Fix issues with enter in python console
...
VIM-3287
2024-02-05 18:31:43 +02:00
IdeaVim Bot
f3a357c559
Update changelog after merging PR
2024-02-05 14:31:53 +00:00
Filipp Vakhitov
63995e8c61
Support e flag for search
2024-02-05 16:29:49 +02:00
Filipp Vakhitov
7062d9b8f8
Enable new regex engine by default
2024-02-05 16:29:49 +02:00
Filipp Vakhitov
ede62f5c75
Fix compilation
2024-02-05 16:29:49 +02:00
Filipp Vakhitov
6386770ff3
Move more tests to src
2024-02-05 16:29:49 +02:00
Filipp Vakhitov
b4e831a81f
Fix VisualAreaMatcher & TextRange
2024-02-05 16:29:49 +02:00
Filipp Vakhitov
9b283360ce
Minor improvements
2024-02-05 16:29:49 +02:00
Filipp Vakhitov
fabbd4d156
Better SelectionInfo implementation
2024-02-05 16:29:49 +02:00
filipp
9bea5bf5f7
Remove deprecated code
2024-02-05 16:29:49 +02:00
filipp
9fbc990493
Fix visual matching
2024-02-05 16:29:49 +02:00
filipp
b05fdaaa73
Fix tests
2024-02-05 16:29:49 +02:00
filipp
52d5d4d64c
Fix Keyword token
2024-02-05 16:29:49 +02:00
filipp
6ec712466c
Fix StartOfWordMatcher & EndOfWordMatcher
2024-02-05 16:29:49 +02:00
filipp
6616b8dc07
Simplify MarkMatchers
2024-02-05 16:29:49 +02:00
filipp
807457c718
Hide method and add Deprecated annotation
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
13d2a40903
removing print
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
022b196d6a
adding comments and small refactors
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
7a64216830
getting rid of usages of deprecated classes
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
bf7d2bd465
marking classes as deprecated
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
6e97b591de
fixing some error messages
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
fc7c470966
fixing nohlsearch command
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
51492ca121
moving seach methods back to VimSearchGroup base
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
ce1df84330
creating new IjVimSearchGroup class
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
9b43e2a715
working on kotlin implementation of SearchGroup class
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
732cabd6aa
working on processSearchCommand
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
7c14801d5c
deprecating most of SearchHelper
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
66df09c065
use injector for IjVimSearchHelper calls
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
8fd6985316
deprecating SearchHelper find and findAll
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
feac001499
substitute command working with new engine
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
4c47e3a8eb
integrating new regex into global command
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
7773b625a5
\c token can't get overrided by \C
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
abe1abec72
test for \c token always taking priority
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
023838a96b
working on implicit DFA algorithm optimization
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
f4e743acc5
VimRegex uses wrapscan option
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
06d58cbda5
integrating options into the main module
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
d199dea204
using options in findPrevious
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
5722060ed9
testing VimRegex with smartcase set
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
d4f7e727c1
VimRegex methods now receive options
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
ba9afc3f8e
adding usenewregex option to set command tests
...
rebasing
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
39897bd012
allow findAll to have a max index
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
575d563154
show pattern not found error message
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
2bf46ce2f3
fixing findPrevious not wraping around in some cases
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
b49a185efc
using the count parameter in find()
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
e305ebd1ed
fixing patterns with just a AND operator
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
6f5c9826f4
fixing patterns with single ^ or $
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
6025eaaca9
showing pattern not found error
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
b2441c3cca
throwing and catching VimRegexException
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
a73599e9ee
use non-exact nfas for slightly faster matches
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
58398f40fa
using useNewRegex option
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
43f5d5a8e8
integrating findAll
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
b20cbd3558
fix findNext getting stuck at line ends
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
7f835a407c
fix findPrevious not finding matches that start at end-of-line
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
9859974db7
integrating findNext and findPrevious
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
6c24ddd1a0
adding useNewEngine option
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
bd92ef08ec
use explicit stack instead of recursion for backtracking
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
8de6107a17
getting rid of handleTransition method
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
e639f03ac7
stop using non-exact start nfas
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
f9aac442c1
findAll returns List instead of Sequence
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
5fdf675168
rename NFATest to VimRegexEngineTest
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
232f81ff48
commenting new classes
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
1c4a6b2274
refactoring nfa simulation logic to its own class
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
deb71f8efc
cleaning comments
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
4596596d9f
new findPrevious API method
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
bbb6d42f8d
changing find to findNext
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
01efd0f9f0
trying to get antlr to report vim errors
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
2d7597d206
clearing some TODOS in VimRegex
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
221741c891
assuring that cursor line and column tokens belong to the same cursor
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
9f69beb450
test for pattern with multiple cursors
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
e843d9e9c3
assuring that visual selection tokens belong to the same cursor
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
008b3d94fb
assuring that all cursor and mark tokens belong to the same cursor
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
6756d83c55
test for tokens belonging to the same cursor
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
b52072a2e3
visitors for mark related tokens
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
3afb00d563
tests for mark related tokens
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
a30c94fd2f
mock mark related methods for regex testing
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
f50c29a285
matchers for mark related tokens
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
f238b0f138
parsing more mark registers
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
d0a8c98040
parsing mark related tokens
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
b3d161ad97
fix tests not detecting visual area selection properly
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
fce9cf2077
visitor for visual area token
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
efd0e56697
visual area matcher
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
b94a9bb9d9
nfa tests for matching inside visual area
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
c153cc5a29
mock visual selection
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
a680e9a25a
visual columns matching
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
3c18c4ef22
fixing parsing of optionally matched sequence
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
c4e11b5976
visitor for optionally matched sequence
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
65be51dd48
tests for optionally matched sequence
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
9684103f97
parsing optionally matched atoms tokens
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
f4c647d430
new doTest method for VimRegexTest
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
f1eab3b9c1
dividing regex api tests into seperate classes
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
545d52bd93
dividing regex tests into internal and public api tests
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
4e42198c09
using multi line strings in VimRegexTest
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
44736a51b9
new NFA doTest method
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
e675ffd623
cleaning multiline strings in tests
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
1f14e06bd3
refactoring editor mock methods
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
9871078269
tests receive caret indexes in the text
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
5e7a7f4d62
fixing cursor line and column matchers
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
7d690c6809
visitors for cursor line and column tokens
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
6edb4266d5
nfa tests for cursor line and column tokens
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
799e82d501
matchers for cursor line anc column tokens
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
a2370bff68
parsing cursor column tokens
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
c72f3bcd12
parsing cursor line tokens
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
295964a74d
mocking VimEditor.offsetToBuffer position and fixing visitors
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
d77cda0fae
visitors for line and column tokens
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
6da072d47d
matchers for line and column tokens
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
471a5a1b3e
tests for line and column tokens
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
cd5da2d237
parsing column related tokens
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
62f67cd626
parsing line related tokens
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
70db96d9e5
allow larger decimal codes inside collections
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
98470111fb
fixing octal codes larger than 0o377
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
557a3bb01f
fixing mixing % in match character by code tokens
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
dee70acdcb
tests for match character by code
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
862b16879c
visitors for character codes
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
ed7249558e
parsing match character by code
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
4f6c6f4d10
fixing rebase problems
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
650d02d9b3
using TextRange instead of IntRange
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
e4041a2f69
adding comments
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
4c284a6d13
visitor for negative limited lookbehind
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
e14fc801bd
fix lookbehinds matches not ending where they were supposed to
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
0478d468e0
adding tests for limited lookbehinds
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
4ac98710fb
implement limit lookbehinds
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
f256f6417e
parsing limited lookbehinds
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
ca94d55b62
implementing negative lookbehind
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
c11c061113
add tests for negative lookbehind
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
c15c3eb802
implementing positive lookbehind
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
0ce102b782
visitor for positive lookbehind
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
cc48207a99
adding tests for positive lookbehind
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
353ea5fc5d
reworking nfa to ignore input until first match
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
64138310cc
add more complex \& tests
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
1c4538af72
implementing \& operator
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
755b47ef19
adding nfa tests for \& operator
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
c78a5d3cab
allow for a state to have multiple assertitions
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
b9b8d30f3b
fixing collections with only char class expressions
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
9be93212c3
fname class visitor
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
89973809af
keyword class visitor
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
e324af356d
ident class visitor
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
f51fc6ed47
return, tab, escape, backspace class visitors
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
ecce98289a
xdigit class
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
23c14aa2e4
upper class visitor
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
678d04c5db
space class visitor
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
691ba75372
punct class visitor
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
d2d7bbc632
print class visitor
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
b3b1a6bdb9
lower class visitor
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
310125ea01
graph class visitor
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
208d1cbba2
digit class visitor
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
e94154ba80
cntrl class visitor
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
582fbdd9e7
blank class visitor
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
dd175912f4
alnum class visitor
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
a6a0ae7a51
alpha class visitor
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
8cdac91a01
base code for char classes expressions
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
4c89f41daa
adding nfa tests for collection char classes expressions
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
512e826a42
adding new parser tests for collection char classes
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
bc0d277a21
parsing collection char class expressions
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
169fe5fc5b
parse visual \%V token
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
30867702a4
parsing lookbehind tokens
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
6131f92ae6
parsing ~ token
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
823a52583c
documenting regex code
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
e2c6c0539f
add more lookahead tests
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
f7f1c0e90d
making nested lookahead tests pass
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
eca12607dd
pattern visitor is now a singleton
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
006e3e11f9
parser class is now a singleton
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
a9982cbdca
refactoring temporary field out of parser class
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
0fa9c5a2a2
moving all parsing logic to VimRegexParser class
...
rebasing
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
cdcc9729d3
add more failing lookahead tests
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
4acf651aa7
adding tests for nested lookahead tokens
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
4bba791c65
adding comments and small cleanups
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
662688d3b9
refactoring inappropriate intimacy between nfa and nfaassertion classes
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
21a3e8fdc4
extract methods refactor in nfa simulation code
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
3815a1d538
add more lookahead tests
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
cbe0c5cfec
implementing negative lookahead
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
15db9b30e1
add tests for negative lookahead
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
e891294c0f
parsing negative lookahead
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
f6b9e7cc26
implementing positive lookahead
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
052fd7162f
parsing positive lookahead
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
189acb73f5
dealing with atomic groups in a different way
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
ec7c1677b4
allow special escape characters in collections \e \t \r \b \n
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
a9474c8e67
allow character codes inside collections \d \o \x \u \U
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
3a70dfc5f3
implementing collections with EOL \_[]
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
669177d803
implementing and testing start and end of word tokens
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
b1f43b061c
parsing start and end of word tokens
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
7ff3c84deb
commenting new atomic groups code
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
ee642b63ce
adding explanatory comment on wierd atomic group test
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
17315e5096
implementing atomic groups
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
4e9d52fc62
placeholder for atomic groups
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
d7e87f8fc8
rename MultiBoundary to RangeBoundary
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
3efe11f393
refactoring visitors to prepare for different types of multis
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
26c6c464d8
adding tests for atomic groups
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
4db654e653
parsing atomic groups
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
048759d374
implement and test start and end of line anywhere in pattern
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
db2424057f
parsing start and end line anywhere in pattern
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
472a53e3b9
start and end of line anchors
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
9e15d91900
adding tests for empty editors
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
d5cff281c0
adding comments on new Matchers
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
57b6c4dffb
collection matcher uses set instead of list
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
908a2d1d8c
start and end of file
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
69bdea9273
character classes never ignore case
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
5b21a653ee
add test for case insensitive matching
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
cfddcf1630
ignore case tokens
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
f009687ddf
matchesAt API function
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
6ddfe29465
matches API function
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
715c51f673
matchEntire API function
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
b443e8f06a
fix quantified capture groups not updating properly
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
0bd0466c9c
cleaning adding transitions to states
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
ad5db3c9e5
fix capturing groups not updating properly
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
fa3182cb5e
adding failing backreferences test
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
3f44bed66e
adding comments to Matchers
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
2a70530d0f
matchAt API function
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
7c542d5fc7
implementing character classes with EOL
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
638dfb7777
parsing character classes with new line
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
1323536a63
testing and implementing backreferences
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
419212e2d4
parsing backreferences
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
5f1c234a7d
refactor Matcher to return number of consumed characters
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
db1e8301cd
implementing and testing lazy quantifiers
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
bf94a3c68d
parsing lazy quantifiers
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
96baa4ffc6
all named character classes
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
7d472afe61
set match start and end \zs \ze
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
f32a4d33a7
support unicode escape sequence in collections
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
0722991955
add test for collection with not special escaped character
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
bcc740cdbc
implementing custom collections
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
5cf46097f7
ascii character classes
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
61dc189f8b
char classes and collections base code
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
23c2b008c9
implementing cursor and using mockito to mock editor
...
rebasing
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
db14afdf3a
dot with and without newline
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
b7927336d1
implementing dot
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
ee23a3d4cd
commenting findAll
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
63c0112ffb
findAll API function
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
db08d7d280
find API function
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
9892525fbc
containsMatchIn API function
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
34b87ff6bf
adding comments
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
241ad68bd5
fix nfa looping in epsilon transitions
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
a0ec18921b
more correct way of handling quantifiers
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
45e17eb0b2
fixing quantifiers
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
59f0e9ae67
add test for updating capture group
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
af24611c73
capture group submatch
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
d4502dda3f
VimMatchResult stores matched string value
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
c0efa8af5d
use IntRange for match range
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
1c06a3fc89
add test for empty group
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
c19fb38d1c
implementing grouping
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
5dc1de9daf
add nfa test for escaped character
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
6774301938
updating comments
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
4ef6cf0428
implementing quantifiers
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
ca5f8e4b44
skeleton for NFA testing
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
1907f03abe
nfa simulation uses VimEditor instead of String
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
6351a4e4f3
initial nfa
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
fa34c3937f
initial nfa definition
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
cdac97ebf5
adding some zero-width tokens
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
fe958d28b8
lexer fixing what chars are taken literally
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
f71982e1d5
support unicode in collections
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
cb2bfcea53
unicode chars in all lexer modes
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
4a9d5bbceb
lexer support for unicode characters
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
10809eade6
regex very magic and very nomagic modes
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
43d63527f8
adding comments to parser grammar
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
df51eb54ed
using antlr token types
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
b47109ab4d
grammar add EOF at end of pattern
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
15b2b68940
making new collection tests pass
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
62a239f6fe
add tests for collections
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
d89bc95a0a
altering antlr error handling
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
2a76f21b31
regex range basic tests
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
f07e22d742
delete duplicate files
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
058ab7a1ea
gradle generate antlr files
...
rebasing
2024-02-05 16:29:49 +02:00
Emanuel Gestosa
fae3baa640
initial regex grammar
2024-02-05 16:29:49 +02:00
IdeaVim Bot
2c4da9c634
Update changelog. Action id - 7766144293
2024-02-03 10:06:57 +00:00
Alex Plate
8de0313aca
Preparing the UI tests for the PyCharm
2024-02-02 20:16:47 +02:00
Alex Plate
143c5b17f9
Fix(VIM-3055): Fix the issue with double deleting after dot
2024-02-02 19:30:58 +02:00
Alex Plate
ec32fde60d
Release job: Update version of kotlin dsl
2024-02-02 09:16:49 +02:00
Alex Plate
f2ac5d4995
Release job: Do not make slack notification for the patch version
2024-02-02 09:07:17 +02:00
Alex Plate
716962af03
Release job: Use the command line runner to start the tests
...
TC detects tests and report them in the release job. I just want to have a "Success" word when everything done.
You cannot disable the tests detection on TC, but the detection doesn't work if the tests were started from the command line
2024-02-02 08:57:28 +02:00
Alex Plate
156efde6b9
Release job: Do not make a commit if there are no changes
2024-02-02 08:50:47 +02:00
IdeaVim Bot
a9b7716dfe
Preparation to 2.8.2 release
2024-02-01 09:47:48 +00:00
Alex Plate
76a67a6715
Do not add an update entry if missing
2024-02-01 11:43:16 +02:00
Filipp Vakhitov
c3defdcda4
Add sources and JavaDoc to vim-engine jar
2024-02-01 11:07:28 +02:00
filipp.vakhitov
d8092aa916
TeamCity change in 'Ideavim / IdeaVim releases' project: parameters of 'Publish vim-engine' build configuration were updated
2024-02-01 08:15:00 +00:00
filipp.vakhitov
8b5a3d31aa
TeamCity change in 'Ideavim / IdeaVim releases' project: parameters of 'Publish vim-engine' build configuration were updated
2024-02-01 08:14:45 +00:00
Filipp Vakhitov
11761b66b2
Revert "Fix(VIM-3183): Execute .ideavimrc on pooled thread"
...
This reverts commit 1d7796805c .
2024-01-31 20:10:32 +02:00
Filipp Vakhitov
f83f107bd1
Revert "Support triggering option listeners outside EDT"
...
This reverts commit 5a6f54c96c .
2024-01-31 20:10:18 +02:00
Filipp Vakhitov
f1b90857ff
Revert "Fix code in execute requiring EDT or write actions"
...
This reverts commit e7236beedd .
2024-01-31 20:10:15 +02:00
Filipp Vakhitov
5aea4cdd65
Revert "Avoiding slow operations on EDT"
...
This reverts commit 00fb5bc6cf .
2024-01-31 20:09:55 +02:00
Filipp Vakhitov
1822a59c70
Revert "Fix(VIM-3273): Config file stopped working"
...
This reverts commit 04230fdd9c .
2024-01-31 20:09:31 +02:00
Filipp Vakhitov
37c6934802
Revert "Update changelog. Action id - 7724318708"
...
This reverts commit 434511658b .
2024-01-31 20:09:27 +02:00
Filipp Vakhitov
90c7f747a4
Revert "Fix(VIM-3278) Relative number is broken in 2.8.0"
...
This reverts commit a1646a7a88 .
2024-01-31 20:09:23 +02:00
Filipp Vakhitov
b7efa3dcd6
Revert "Add EDT where it is needed"
...
This reverts commit 3e9706e6ce .
2024-01-31 20:09:19 +02:00
Filipp Vakhitov
da80f537ac
Revert "Avoid concurrent VimScript execution"
...
This reverts commit 0e03151505 .
2024-01-31 20:09:15 +02:00
Filipp Vakhitov
0119912318
Revert "Add readActions & EDT"
...
This reverts commit 45a2eadc58 .
2024-01-31 20:09:08 +02:00
Alex Plate
5e0b1d0161
Update the way the changelog is updated for the patch release
2024-01-31 19:24:27 +02:00
Alex Plate
35145d100b
Update the release jobs to make releases only from the release branch
...
In this way, we'll avoid the problem that some breaking commits may be added between the last EAP and master branch
2024-01-31 18:50:26 +02:00
Alex Plate
584dd0ba89
Run tests before releasing IdeaVim
2024-01-31 18:21:03 +02:00
Alex Plate
e5f5dc56c9
Remove the obsolete gradle scripts
2024-01-31 18:21:03 +02:00
Alex Plate
880efb012a
Fix compilation issues for the latest EAP
2024-01-31 17:58:19 +02:00
Alex Plate
b95308ac24
Migrate CopilotKeymapCorrector to the new API
2024-01-31 17:42:08 +02:00
aleksei.plate@jetbrains.com
3b192ad357
TeamCity change in 'Ideavim / IdeaVim releases' project: parameters of 'Publish vim-engine' build configuration were updated
2024-01-31 15:01:37 +00:00
aleksei.plate@jetbrains.com
b04938ac5e
TeamCity change in 'Ideavim / IdeaVim releases' project: parameters of 'Publish vim-engine' build configuration were updated
2024-01-31 13:37:25 +00:00
Alex Plate
56410ac1f2
Make some classes public because they're used in EasyMotion plugin tests
2024-01-31 15:25:33 +02:00
Filipp Vakhitov
45a2eadc58
Add readActions & EDT
2024-01-31 14:43:23 +02:00
Filipp Vakhitov
0e03151505
Avoid concurrent VimScript execution
2024-01-31 14:42:58 +02:00
Filipp Vakhitov
3e9706e6ce
Add EDT where it is needed
2024-01-31 14:09:06 +02:00
Filipp Vakhitov
a1646a7a88
Fix(VIM-3278) Relative number is broken in 2.8.0
...
Proper options initialization order
2024-01-31 13:34:33 +02:00
IdeaVim Bot
434511658b
Update changelog. Action id - 7724318708
2024-01-31 10:06:47 +00:00
Filipp Vakhitov
04230fdd9c
Fix(VIM-3273): Config file stopped working
2024-01-31 09:12:23 +02:00
Filipp Vakhitov
2e16ad8a2a
Revert "Downgrade ktor dependencies to check if "Publish vim-engine" fails because of them"
...
This reverts commit 7fb59b0fa9 .
2024-01-30 20:13:36 +02:00
Filipp Vakhitov
7fb59b0fa9
Downgrade ktor dependencies to check if "Publish vim-engine" fails because of them
2024-01-30 20:05:45 +02:00
Filipp Vakhitov
24e044bcda
Remove deprecated ComplicatedKeysAction.kt
2024-01-30 18:56:38 +02:00
IdeaVim Bot
1093656ec5
Preparation to 2.8.0 release
2024-01-30 10:46:04 +00:00
Alex Plate
674e997060
Fix the condition for the release branch reset step
2024-01-30 12:33:28 +02:00
Alex Plate
37fd124f56
Use bash to reset the branch
2024-01-30 11:34:25 +02:00
Alex Plate
7df2e67312
Re-request commit message
2024-01-30 10:00:08 +02:00
Alex Plate
8ea1f0796c
Add logs to release job
2024-01-30 09:53:51 +02:00
Filipp Vakhitov
00fb5bc6cf
Avoiding slow operations on EDT
2024-01-29 13:30:41 +02:00
Filipp Vakhitov
5e01f726d3
Revert "Remove deprecated VimScriptGlobalEnvironment.java"
...
This reverts commit 5c64ebf1cc .
2024-01-29 12:58:46 +02:00
Filipp Vakhitov
e87290aeea
Simplify storing global variables
2024-01-29 12:58:31 +02:00
Filipp Vakhitov
e7236beedd
Fix code in execute requiring EDT or write actions
2024-01-29 10:00:55 +02:00
Filipp Vakhitov
5a6f54c96c
Support triggering option listeners outside EDT
2024-01-28 14:00:36 +02:00
filipp
7769985439
Merge remote-tracking branch 'origin/master'
2024-01-28 13:37:58 +02:00
IdeaVim Bot
f4afdb21b2
Update changelog. Action id - 7677896605
2024-01-27 10:06:55 +00:00
Alex Plate
cc1b9e0a50
Expand all works a way worse
2024-01-27 07:43:28 +02:00
Alex Plate
2c58740cbb
Expand the full tree in UI tests
2024-01-26 21:49:49 +02:00
Alex Plate
808533b110
Fix(VIM-3260): Processing the offsets at the file end
2024-01-26 17:49:44 +02:00
Alex Plate
e04a15bb99
Add new plugin to check plugin dependencies
2024-01-26 17:23:55 +02:00
Alex Plate
26d4074a61
[VIM-2974] Adopt other parts of key handling to the octopus handler switcher
2024-01-26 16:40:34 +02:00
filipp
0137de5ca2
Add Term widget theme
2024-01-26 15:52:07 +02:00
Alex Plate
b0a1b2edba
Do not make cd in tests
2024-01-26 15:47:13 +02:00
Alex Plate
355c560ddc
Add UI test with disabled octopus handler
2024-01-26 15:32:30 +02:00
Alex Plate
72f286d9c6
Add UI test for multicaret enter in select mode
2024-01-26 15:32:30 +02:00
Alex Plate
db6786414a
[VIM-2974] WIP: Bringing back the octopus handler switch
2024-01-26 15:32:29 +02:00
filipp
f8f046f193
Fix plugin.xml
2024-01-26 14:00:07 +02:00
filipp
6c9ad4ded2
Remove deprecated xml-related code
2024-01-26 13:45:46 +02:00
filipp
32cae8ca11
Remove more deprecated things
2024-01-26 13:05:48 +02:00
filipp
0cb65279d9
Remove deprecated mark-related methods
2024-01-26 13:02:23 +02:00
filipp
412da06554
Remove deprecated ToggleOption.kt
2024-01-26 12:47:06 +02:00
filipp
247f8a2778
Remove deprecated OptionsManager.kt
2024-01-26 12:45:46 +02:00
filipp
017c9a6a70
Remove deprecated OptionService.kt
2024-01-26 12:43:06 +02:00
filipp
eccb2430b5
Remove deprecated MarkGroup.java
2024-01-26 12:39:30 +02:00
filipp
5c64ebf1cc
Remove deprecated VimScriptGlobalEnvironment.java
2024-01-26 12:38:28 +02:00
filipp
1d7796805c
Fix(VIM-3183): Execute .ideavimrc on pooled thread
2024-01-26 12:27:03 +02:00
dependabot[bot]
3479aaf6f6
Bump org.jetbrains.intellij from 1.16.1 to 1.17.0
...
Bumps org.jetbrains.intellij from 1.16.1 to 1.17.0.
---
updated-dependencies:
- dependency-name: org.jetbrains.intellij
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-01-24 20:02:11 +04:00
dependabot[bot]
d2071cf05c
Bump com.google.devtools.ksp:symbol-processing-api
...
Bumps [com.google.devtools.ksp:symbol-processing-api](https://github.com/google/ksp ) from 1.9.22-1.0.16 to 1.9.22-1.0.17.
- [Release notes](https://github.com/google/ksp/releases )
- [Commits](https://github.com/google/ksp/compare/1.9.22-1.0.16...1.9.22-1.0.17 )
---
updated-dependencies:
- dependency-name: com.google.devtools.ksp:symbol-processing-api
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-01-24 20:02:01 +04:00