Commit Graph
6167 Commits
Author SHA1 Message Date
1grzyb1 74bb15cbad VIM-330 Add zw command to remove misspelled word from dictionary 2026-07-27 12:09:08 +02:00
1grzyb1 8015e72d70 VIM-330 Add z= command to offer suggested replacements 2026-07-27 12:09:08 +02:00
1grzyb1 4a94518074 VIM-330 Add zg command to mark word as correct 2026-07-27 12:09:08 +02:00
1grzyb1 10a7861558 VIM-330 Add tests for motion misspelled word 2026-07-27 12:09:08 +02:00
1grzyb1 465081377c Handle <C-O> single command deletion to end of line correctly 2026-07-24 12:12:40 +02:00
1grzyb1 902e7bb200 Disable last command test
It's flaky in ci
2026-07-24 12:04:49 +02:00
1grzyb1 52301def45 VIM-2649 Move carret on enter after C-G/C-t
during serach and moving through searches using C-G/C-T we didn't move caret to this search after enter
2026-07-23 12:02:10 +02:00
1grzyb1 c35eadbbb0 VIM-4284 Don't fail whole script on last line error
When last line had an error whole vim file was rejected
2026-07-23 10:55:54 +02:00
1grzyb1 2d5131a14c VIM-4284 Show errors from parsing vimscript 2026-07-23 10:55:54 +02:00
1grzyb1 94eab2c7d8 VIM-3936 In normal mode always execute command
When in normal mode it was wierd that enter has moved between lines instead of exeecuting it. To execute command in python console cursor must be at the end of line so we move it in normal mode
2026-07-23 09:07:21 +02:00
1grzyb1 566891ac54 VIM-3936 Keep mode when entering python console 2026-07-23 09:07:21 +02:00
1grzyb1 390bf15777 VIM-3936 pass some keys directly to console
Let python console handle up/down/enter keystrokes to handle them in default way
2026-07-23 09:07:21 +02:00
1grzyb1 360ad346e9 VIM-3936 pass enter to console action 2026-07-23 09:07:21 +02:00
1grzyb1 8f2742b48d VIM-3936 Enable vim in python console 2026-07-23 09:07:21 +02:00
claude[bot]andClaude Opus 4.8 829b8e1a10 Fix :last not switching to the last open file
SelectLastFileCommand passed 999 to selectFile(), but both implementations
only treat 99 as the "select last file" sentinel. As a result `:last` returned
an error and never switched buffers for any realistic number of open files —
a regression introduced when the original Java handler (which correctly passed
99) was rewritten in Kotlin.

Use the shared VimFile.LAST_FILE_SENTINEL constant so the command and the
implementations agree by construction, and add a behavior test that opens
several files and asserts `:last` selects the last one. The test fails against
the old 999 value and passes with the fix.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-22 11:17:29 +02:00
claude[bot]andClaude Opus 4.8 0c29b00250 Introduce VimFile.LAST_FILE_SENTINEL for selectFile "last file" marker
The `selectFile(count)` API uses the magic number 99 as a sentinel meaning
"select the last open file". This value was duplicated as a bare literal in
both implementations (IjFileGroup and FileRemoteApiImpl), with nothing tying
it to the callers that must produce it. Name it once on the VimFile companion
and reference it from both implementations so the value can no longer drift.

No behavior change.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-22 11:17:29 +02:00
claude[bot]andClaude Opus 4.8 7c608b0eb5 Add tests for yy count clamping in YankLineActionTest
There was no count-prefixed `yy` test in the normal-mode suite, leaving the
`count - 1` / `min(..., fileSize)` line-range logic in YankGroupBase.yankLine
uncovered. Add two tests:

- `2yy` yanks the expected multiple lines.
- `5yy` near end-of-file clamps to the last line instead of running past the
  end of the buffer.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-22 11:15:49 +02:00
1grzyb1 ac6b6f127b VIM-4282 Don't scroll if caret below visible area
We scrolled up to show caret when it was under visible are which didn't make much sense
2026-07-22 10:34:09 +02:00
IdeaVim Bot 6fc20109e3 Preparation to 2.44.1 release 2026-07-22 08:29:34 +00:00
1grzyb1 4abc82ab26 VIM-4283 Fix dw in jupyter notebook cell
cells had guarded blocks which prevents from modifing document at such place and they are treated as collapsed regions.
So after adding expanding collapsed regions it was included in motion range and as it is guarded block we couldn't delete in such way
2026-07-22 09:45:21 +02:00
IdeaVim Bot a71d2c80f4 Preparation to 2.44.0 release 2026-07-21 11:02:45 +00:00
claude[bot]andClaude Opus 4.8 9b7fce67b6 Prepare What's New for the upcoming release
Update the changelog and the What's New page for the next release.

Changelog (CHANGES.md), added to [To Be Released]:
- Feature: VIM-1850 'keymap' option, 'iminsert', <C-^>, :loadkeymap and the
  :lmap/:lnoremap/:lunmap/:lmapclear language-mapping commands
- Fix: VIM-4281 output panel and command line now refresh colors on theme change
- Merged PRs: 1929, 1928, 1925

What's New (whatsnew-tbr.html), incremental update of the existing page:
- New section for the 'keymap' language-mappings feature
- Mini cards for gx and :w with a file argument
- Fixes list entries for theme refresh, :s///g on tab-indented lines, method
  navigation crash, and caret after delete-to-end from <C-O>

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-21 12:18:09 +02:00
1grzyb1 409b04c9a4 VIM-4281 update output panel theme on change
Listen for changes in theme and update output panel theme on that change
2026-07-21 11:28:44 +02:00
1grzyb1 d1d1f1907a VIM-4279 fix till V motion
Forced motion was handling V in ctV which broke this motion. to prevent that we check isAwaitingCharacterBasedArgument in ForcedMotionConsumer now
2026-07-21 09:47:19 +02:00
1grzyb1 df918ffe0a VIM-1850 Override xdg config in tests 2026-07-21 09:43:45 +02:00
1grzyb1 b24b8f5ec4 VIM-1850 Implement keymap option
when this option is set ideavim loads keymap from file
2026-07-21 09:43:45 +02:00
1grzyb1 a6be54dc2a VIM-1850 Implement keymap method
keymap allows to set key mapping from vim file.
2026-07-21 09:43:45 +02:00
1grzyb1 613e3c6dcd VIM-1850 Support L mapping mode
when user sets lmap it will map keys in insert mode then
2026-07-21 09:43:45 +02:00
1grzyb1 4d5cef9e18 VIM-1850 add L mapping mode 2026-07-21 09:43:45 +02:00
1grzyb1 6a8d469be0 Refactor: Replace use with inline block for SelectionVimListenerSuppressor.lock 2026-07-20 10:12:58 +02:00
1grzyb1 79e2e10993 Trace is mouse dragging in global state
During mouse dragging there could be a case where during drag the editor was closed which resulted in an invalid state in ListenerSuppressor with not removed caretListenerSuppressor. More roboust approach is to track mouseDragging as state.
2026-07-20 10:12:58 +02:00
AndDe-gourav 52eefd4705 removed extra space for the test 2026-07-20 08:21:12 +02:00
AndDe-gourav 962d80d789 wrong test fix and some new added to test the wrong behavior 2026-07-20 08:21:12 +02:00
1grzyb1 cb8f515f64 VIM-2997 Handle null TextRange in PsiHelper 2026-07-16 09:55:56 +02:00
1grzyb1 186f77d970 VIM-2278 navigate on tables using VimEverywhere
Add to vim everywhere option to navigate on tables using hjkl keys
2026-07-16 09:23:54 +02:00
1grzyb1 5d51c71a68 VIM-989 Implement write command with file argument
Now when argument is passed to `:w {arg}` content will be saved to newly created file
2026-07-16 08:30:23 +02:00
1grzyb1 6b1cd5ef9b VIM-1341 support netrw_browsex_viewer variable
use netrw_browsex_viewer to customize program to open url
2026-07-15 11:35:12 +02:00
1grzyb1 9ed0cb6509 VIM-1341 Open url with gx command
Implement gx command to open url using OS native process like real vim does which allows to open both brower urls or any other applications
2026-07-15 11:35:12 +02:00
1grzyb1 f9cb194a1c VIM-4273 recalculate next search offset after substitution 2026-07-15 09:42:21 +02:00
IdeaVim Bot 12c70a309d Preparation to 2.43.0 release 2026-07-14 07:56:24 +00:00
claude[bot]andClaude Opus 4.8 991752a0c6 Add concrete textobj-user config example to What's New
Replace the placeholder comments in the textobj-user section with a full
datetime spec so the config format is clear.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-14 09:23:26 +02:00
claude[bot]andClaude Opus 4.8 40936339d6 Prepare What's New for the upcoming release
Update the changelog and refresh whatsnew-tbr.html for the upcoming release.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-14 09:23:26 +02:00
1grzyb1 bc57cab3df VIM-986 Properly inserting selected text from lookup
We need a custom handler for inserting text from lookup, so we will strip the already typed prefix
2026-07-14 08:48:33 +02:00
1grzyb1 8d228299e5 VIM-1000 disable x completion on caret movement 2026-07-14 08:48:33 +02:00
1grzyb1 d2212900b6 VIM-1000 Match whole line using C-L 2026-07-14 08:48:33 +02:00
1grzyb1 b101203eec VIM-1000 Add x completion mode 2026-07-14 08:48:33 +02:00
1grzyb1 cc326efed0 VIM-750 C-V force blockwise motion 2026-07-10 13:12:51 +02:00
1grzyb1 a67b9c5fba VIM-750 V line wise forced motion 2026-07-10 13:12:51 +02:00
1grzyb1 0c696f680d VIM-750 v forced motion
Force motin type toggle with v
2026-07-10 13:12:51 +02:00
1grzyb1 6807ae394f VIM-3001 block wise region type 2026-07-09 12:46:15 +02:00