Commit Graph
5765 Commits
Author SHA1 Message Date
Filipp Vakhitov a1d214316c Make VimStateMachine global
It is global in Vim
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
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 6b4e4bacd7 Fix null reference initialising output panel fonts
Fixes VIM-3515
2024-07-03 09:43:48 +03:00
Alex Plate 647510de5d Optimize imports for the project 2024-06-28 17:30:17 +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 e67c7b23ff Remove deprecated code from VimStateMachine 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
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
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 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 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
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 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