Commit Graph
5146 Commits
Author SHA1 Message Date
Matt EllisandAlex Pláte 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 EllisandAlex Pláte 2da77f0f11 Add tests for existing word/WORD text objects 2025-02-21 09:53:11 +02:00
Matt EllisandAlex Pláte 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 EllisandAlex Pláte 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 EllisandAlex Pláte be1cc67566 Fix previous word end motion at start of file 2025-02-21 09:53:11 +02:00
Matt EllisandAlex Pláte 4bc75e0a9b Add tests for existing word/WORD motion behaviour 2025-02-21 09:53:11 +02:00
Matt EllisandAlex Pláte 5740372df9 Add err_teapot function 2025-02-20 19:21:31 +02:00
Matt EllisandAlex Pláte 06791b9378 Add float2nr function 2025-02-20 19:21:31 +02:00
Matt EllisandAlex Pláte 91e927c913 Add fmod function 2025-02-20 19:21:31 +02:00
Matt EllisandAlex Pláte 9a5c558060 Add float classification functions 2025-02-20 19:21:31 +02:00
Matt EllisandAlex Pláte d1127a5238 Add power functions 2025-02-20 19:21:31 +02:00
Matt EllisandAlex Pláte 613a8b5792 Add exponential functions 2025-02-20 19:21:31 +02:00
Matt EllisandAlex Pláte 6f63371e9b Add rounding functions 2025-02-20 19:21:31 +02:00
Matt EllisandAlex Pláte 3b96e2eacd Add trigonometric and hyperbolic builtin functions 2025-02-20 19:21:31 +02:00
Matt EllisandAlex Pláte ffdd6716f5 Refactor some moved tests 2025-02-20 19:21:31 +02:00
Matt EllisandAlex Pláte 4453862ea0 Extract function tests 2025-02-20 19:21:31 +02:00
Matt EllisandAlex Pláte 1bd7a7596b Support binary numbers in vimscript
Also supports octal with an `0o` or `0O` prefix.
2025-02-20 19:21:31 +02:00
Matt EllisandAlex Pláte 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 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 4ca187926c Use SimpleDataContext instead of the obsolete DataContextWrapper 2025-02-11 11:53:00 +02:00
Osvaldo Cordova AburtoandAlex Pláte 491a96825f feat: improve any brackets behavior 2025-02-07 12:56:56 +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
Osvaldo Cordova AburtoandAlex Pláte 7b16deb3e3 fix: calculation to find the closest delimited range 2025-01-30 13:40:26 +02:00
Osvaldo Cordova AburtoandAlex Pláte 01d776957a fix: distanceTo to works with nested quotes and brackets 2025-01-30 13:40:26 +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
Osvaldo Cordova AburtoandAlex Pláte 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 00d9ed93ec Fix(VIM-3543): Disable IdeaVim in the new terminal 2025-01-23 12:22:22 +02:00
Matt EllisandAlex Pláte 308996c4c1 Remove Visual when updating incsearch for a command 2025-01-22 17:42:30 +02:00
Matt EllisandAlex Pláte 1f68b756d5 Disable incsearch highlight in Visual mode 2025-01-22 17:42:30 +02:00
Matt EllisandAlex Pláte ed6789cb8b Add tests updating Visual while editing incsearch 2025-01-22 17:42:30 +02:00
Matt EllisandAlex Pláte 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 EllisandAlex Pláte a969b93ba6 Add tests for updating Visual selection with search 2025-01-22 17:42:30 +02:00
Matt EllisandAlex Pláte 970cfadaec Extract search highlighting related tests 2025-01-22 17:42:30 +02:00
Matt EllisandAlex Pláte 12ed60d88e Remove tests using obsolete newregex option 2025-01-22 17:42:30 +02:00
Sebastian Doernerandlippfi cb218697fa [VIM-3731] Add support for "jump to previous/next lowercase mark".
Fixes VIM-3731
2025-01-21 22:48:12 +02:00
Matt EllisandAlex Pláte 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 EllisandAlex Pláte 296288f428 Ensure correct caret position when exiting Select
Fixes VIM-3042
2025-01-13 18:10:01 +01:00
Matt EllisandAlex Pláte 1d5fc01d65 Fix Del and BS not working in Select mode
Fixes VIM-3618
2025-01-13 18:10:01 +01:00
Alex Plate ad584d553c Reformat code 2025-01-10 13:28:48 +03:00