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

5696 Commits

Author SHA1 Message Date
1grzyb1
6aa1a68c9d VIM-3948 Fix nullability issue in hint generation 2026-02-06 13:54:22 +02:00
1grzyb1
4b3271d4f9 VIM-3948 document vim hints 2026-02-06 13:51:54 +02:00
1grzyb1
0f2ce4bcc5 VIM-4125 Update shortcut for Toggle Hints action to ctrl + BACK_SLASH 2026-02-05 13:42:22 +02:00
1grzyb1
f4c84607cb VIM-3948 Improve visibility checks for hint generation 2026-02-03 11:15:34 +02:00
1grzyb1
3f43cf6aa4 VIM-4120 Fix isAtEnd offset logic 2026-02-03 11:09:38 +02:00
1grzyb1
fa6d4a39a9 VIM-4120 Remove ExOutputModel and transition to a unified OutputPanel 2026-02-03 11:09:38 +02:00
1grzyb1
d9a66e9b86 VIM-4120 Remove test-specific mode handling 2026-02-03 11:09:38 +02:00
1grzyb1
322d961085 VIM-1595 Add support for the :read! {cmd} command 2026-02-03 11:06:40 +02:00
1grzyb1
0a7ad9e8f1 VIM-1595 Add support for the :read command 2026-02-03 11:06:40 +02:00
1grzyb1
0c3a2eaada VIM-4084 Ensure insert mode respects file's writable state 2026-01-30 11:23:32 +02:00
1grzyb1
5a51b69174 Fix flaky TemplateTest by adjusting escape sequence timing
Fix flaky inline rename test
2026-01-30 11:19:45 +02:00
1grzyb1
ca298b1172 VIM-566 Skip fold-level application during initialization 2026-01-28 19:16:13 +02:00
1grzyb1
2e51a214b7 Make generated JSON formatting consistent with IntelliJ 2026-01-27 16:27:49 +01:00
1grzyb1
9236b4cc72 VIM-566 Implement zf create fold action 2026-01-27 13:02:26 +02:00
1grzyb1
9257ba1741 VIM-566 Update tests to include foldlevel in option outputs 2026-01-27 11:25:01 +02:00
1grzyb1
0c21dcb132 VIM-566 add set foldelevel command support 2026-01-27 11:25:01 +02:00
1grzyb1
729cb7b2ad VIM-566 Add documentation to fold-related methods 2026-01-23 16:54:51 +02:00
1grzyb1
327de9772d VIM-566 Improve fold depth calculation readability 2026-01-23 16:54:51 +02:00
1grzyb1
98ebaabf10 VIM-566 improve performance by batch apply fold level 2026-01-23 16:54:51 +02:00
1grzyb1
c0d3624f3c VIM-566 Add zr folding support 2026-01-23 16:54:51 +02:00
Grzybek
0264e1cd75 VIM-566 Add zA toggle folding support 2026-01-21 16:48:36 +02:00
Alex Plate
86bf54d84c Migrate argtextobj extension to new textObjects API
Replace VimExtensionFacade.putExtensionHandlerMapping with the new
api.textObjects { register(...) } pattern. This simplifies the
extension by removing the ArgumentHandler class and its inner
ArgumentTextObjectHandler.

Key changes:
- Add LineInfoProvider interface to decouple ArgBoundsFinder from Document
- Create findArgumentRange extension function on VimApi
- Use api.textObjects { } for registering ia/aa text objects
- Remove unused imports and old handler code

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-16 18:28:45 +02:00
Alex Plate
f49d36fa02 Add comprehensive tests for argtextobj extension
Add tests covering: change outer argument, single argument handling,
whitespace handling, cursor positioning, nested function calls,
quoted strings, multiline arguments, and various bracket types.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-16 15:54:00 +02:00
Alex Plate
eed102d035 Convert VimArgTextObjExtension to kotlin 2026-01-16 15:48:33 +02:00
Alex Plate
38f428dec3 Rename .java to .kt 2026-01-16 15:48:32 +02:00
Claude
381dc2684b Remove unused SkipNeovimReason.CMD
This enum value had no documentation, a vague name, and was not used
anywhere in the codebase.
2026-01-13 06:43:22 +02:00
Alex Plate
26154061f7 Add clear output when Neovim testing is enabled
Print "NEOVIM TESTING ENABLED" message when running tests with -Dnvim
flag so AI can verify Neovim testing is actually active.

Also fix skill documentation to use correct -Dnvim flag.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-12 14:04:43 +02:00
Alex Plate
fa2b54bc2d Deprecate SkipNeovimReason.UNCLEAR
Similar to DIFFERENT, UNCLEAR is too vague and should be replaced
with a more specific reason after investigation.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-12 14:00:59 +02:00
Alex Plate
3c967d1f03 Fix Neovim test annotations in SearchGroupTest
- Change `test negative lookbehind regression` to use IDEAVIM_API_USED
  (test uses internal search() helper that calls VimPlugin API directly)
- Remove outdated TestWithoutNeovim annotations from 5 tests that now
  pass with Neovim: smartcase/ignorecase search tests

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-12 13:55:04 +02:00
Alex Plate
47215cfda1 Deprecate SkipNeovimReason.DIFFERENT in favor of more specific reasons
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-12 13:55:04 +02:00
Alex Plate
20f86bc0b4 Add explanations for disabled tests in MultipleCaretsTest
Document why each disabled test is disabled:
- testCopyVisualText: CopyTextCommand processes carets sequentially,
  causing document shifts that corrupt subsequent caret operations
- testPutVisualLines: Multi-caret :put with visual selection only
  processes one caret (also fixed invokeAndWait wrapper)
- testMoveText* tests: MoveTextCommand explicitly throws exception
  for multiple carets

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-12 13:55:04 +02:00
Matt Ellis
3cdea85df4 Move common functions to collectionFunctions
Add a new package for functions that apply to both List and Dictionary, as well as some String functions (where a String is treated like a collection of characters). Trying to group some functions that shouldn't just sit at top level
2026-01-09 19:12:27 +02:00
Matt Ellis
5adff67ec8 Add List uniq() function 2026-01-09 19:12:27 +02:00
Matt Ellis
8340be8459 Add List sort() function 2026-01-09 19:12:27 +02:00
Matt Ellis
9fbee06890 Add filter() function 2026-01-09 19:12:27 +02:00
Matt Ellis
4bf947a143 Fix comparison of String and Number 2026-01-09 19:12:27 +02:00
Matt Ellis
5225c409d8 Add List reduce() function 2026-01-09 19:12:27 +02:00
Matt Ellis
17eddab2ac Add map() and mapnew() functions 2026-01-09 19:12:27 +02:00
Matt Ellis
00fee97117 Add List indexof() function 2026-01-09 19:12:27 +02:00
Matt Ellis
fd9b283df1 Add call() function
Vim lists call() as part of List functions. We document it the same way so we can cross-reference, but it's not really a List function, so it's implemented with varFunctions
2026-01-09 19:12:27 +02:00
Matt Ellis
e6b863f1ca Add List+Dictionary foreach() function 2026-01-09 19:12:27 +02:00
Matt Ellis
ea209d5c94 Refactor function and funcref functions 2026-01-09 19:12:27 +02:00
Matt Ellis
e2adf0af51 Handle range for builtin functions 2026-01-09 19:12:27 +02:00
Matt Ellis
1333051ad8 Make range an argument instead of a field 2026-01-09 19:12:27 +02:00
Matt Ellis
bd0edb01b6 Introduce BuiltinFunctionHandler base class 2026-01-09 19:12:27 +02:00
Matt Ellis
7600d96d0a Improve handling of dictionary functions
VimFuncref is no longer mutable, since the instance can be shared between variables. A dictionary function must be invoked with a Funcref that captures the dictionary; when accessing a dictionary entry that is a function, the returned value is a newly created partial function that captures the dictionary. This helps fix some issues when printing a dictionary and/or dictionary function with `echo`, including a stack overflow.
2026-01-09 19:12:27 +02:00
Matt Ellis
5e5005f068 Rename FunctionCallExpression for clarity 2026-01-09 19:12:27 +02:00
Matt Ellis
df48c41904 Add List flattennew() function 2026-01-09 19:12:27 +02:00
Matt Ellis
95d3aad9ff Add List flatten() function 2026-01-09 19:12:27 +02:00
Matt Ellis
1afd730083 Add error handling to reverse() function 2026-01-09 19:12:27 +02:00