021a94d9bb
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:36:01 +02:00
9f6bffcf7d
Preserve visual mode after executing IDE action
2025-10-06 22:19:03 +02:00
80222af0bf
Make g0/g^/g$ work with soft wraps
2025-10-06 22:19:03 +02:00
097924e078
Make search highlights temporary
2025-10-06 22:19:02 +02:00
8d092693b9
Exit insert mode after refactoring
2025-10-06 22:19:02 +02:00
42780c052b
Add action to run last macro in all opened files
2025-10-06 22:19:02 +02:00
51e9c9be1c
Revert per-caret registers
2025-10-06 22:19:02 +02:00
f4137d2769
Apply scrolloff after executing native IDEA actions
2025-10-06 22:19:02 +02:00
9c9284a201
Stay on same line after reindenting
2025-10-06 22:19:02 +02:00
0de4b4fdde
Automatically add unambiguous imports after running a macro
2025-10-06 22:19:02 +02:00
1ccb75e6b8
Fix(VIM-3986): Exception when pasting register contents containing new line
2025-10-06 22:19:02 +02:00
6671642428
Fix(VIM-3179): Respect virtual space below editor (imperfectly)
2025-10-06 22:19:02 +02:00
6cef05bfbb
Fix(VIM-3178): Workaround to support "Jump to Source" action mapping
2025-10-06 22:19:02 +02:00
e961dce249
Add support for count for visual and line motion surround
2025-10-06 22:19:00 +02:00
47937cb382
Fix vim-surround not working with multiple cursors
...
Fixes multiple cursors with vim-surround commands `cs, ds, S` (but not `ys`).
2025-10-06 22:18:55 +02:00
10552bef28
Fix(VIM-696): Restore visual mode after undo/redo, and disable incompatible actions
2025-10-05 01:25:09 +02:00
ecb2416457
Change matchit plugin to use HTML patterns in unrecognized files
2025-10-05 01:25:09 +02:00
a8de488629
Reset insert mode when switching active editor
2025-10-05 01:25:09 +02:00
ba55ffe7e4
Remove notifications about configuration options
2025-10-05 01:25:09 +02:00
a6ba575ef9
Set custom plugin version
2025-10-05 01:25: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
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
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
b11fc4895b
Support assigning to negative index
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