Matt Ellis and Alex Pláte
c0e17a6c61
Fix issue with lastColumn not being invalidated
2022-12-27 15:45:18 +02:00
Matt Ellis and Alex Pláte
b5046b089e
Fix incsearch not scrolling to current match
2022-12-27 15:45:18 +02:00
Matt Ellis and Alex Pláte
84a6c40e13
Fix incorrect normalising for trailing inlay
2022-11-23 12:02:55 +02:00
Matt Ellis and Alex Pláte
22e7fa1cf3
Add comments
2022-11-17 14:07:46 +01:00
Matt Ellis and Alex Pláte
101dc355ba
Rename parameters in Mark and Jump
2022-11-17 14:07:46 +01:00
Matt Ellis and Alex Pláte
f5f3d0b827
Rename line parameters and variables
...
Buffer lines are just called "line", but visual lines (or where things are ambiguous) are explicitly named
2022-11-17 14:07:46 +01:00
Matt Ellis and Alex Pláte
53cb5d1fe9
Rename more logical position helper functions
2022-11-17 14:07:46 +01:00
Matt Ellis and Alex Pláte
0978ca616f
Rename caret logical position helper functions
2022-11-17 14:07:46 +01:00
Matt Ellis and Alex Pláte
bbf42c0a28
Rename editor logical position helper functions
2022-11-17 14:07:46 +01:00
Matt Ellis and Alex Pláte
7df04c6e2e
Rename VimLogicalPosition to BufferPosition
2022-11-17 14:07:46 +01:00
Matt Ellis and Alex Pláte
d3386c8097
Fix Gradle warning
2022-11-17 14:07:46 +01:00
Matt Ellis and Alex Pláte
27d1170c75
Move creating adjusted offset out of action
2022-11-16 09:41:59 +01:00
Matt Ellis and Alex Pláte
11c850a41e
Remove unused property
2022-11-16 09:41:59 +01:00
Matt Ellis and Alex Pláte
ff4ee06a1f
Remove unnecessary setting of vimLastColumn
2022-11-16 09:41:59 +01:00
Matt Ellis and Alex Pláte
0549f32d6e
Remove unnecessary base class
2022-11-16 09:41:59 +01:00
Matt Ellis and Alex Pláte
c5ab3490b3
Remove preOffsetComputation hook
...
Cached intended column is invalidated and recalculated if the caret has moved (intentionally or outside IdeaVim's control)
2022-11-16 09:41:59 +01:00
Matt Ellis and Alex Pláte
50ba1a1c4e
Simplify overloads
2022-11-16 09:41:59 +01:00
Matt Ellis and Alex Pláte
ee45d2fb38
Remove unused postMove hooks
2022-11-16 09:41:59 +01:00
Matt Ellis and Alex Pláte
a94822b79a
Remove unused preMove hooks
2022-11-16 09:41:59 +01:00
Matt Ellis and Alex Pláte
b5aba454ae
Remove more postMove overrides
2022-11-16 09:41:59 +01:00
Matt Ellis and Alex Pláte
a49631e986
Start to refactor postMove and intended column
2022-11-16 09:41:59 +01:00
Matt Ellis and Alex Pláte
bb31b5f2d3
Remove unused hooks for SingleExecution
2022-11-16 09:41:59 +01:00
Matt Ellis and Alex Pláte
8ad08d466e
Refactor motion handler to combine caret move
2022-11-16 09:41:59 +01:00
Matt Ellis and Alex Pláte
ab31183a93
Regroup line motion functions
2022-11-15 10:34:12 +02:00
Matt Ellis and Alex Pláte
3257cc82dc
Rename functions to indicate target motion
...
I.e. line number (currently buffer, should be Vim logical line), current line, or relative to current line
2022-11-15 10:34:12 +02:00
Matt Ellis and Alex Pláte
ef73733596
Remove unnecessary method from VimCaret
2022-11-15 10:34:12 +02:00
Matt Ellis and Alex Pláte
4b45d4cf09
Group VimCaret related functions and properties
2022-11-15 10:34:12 +02:00
Matt Ellis and Alex Pláte
e0b3e1db24
Move StrictMode to engine
2022-11-15 10:34:12 +02:00
Matt Ellis and Alex Pláte
e0b51d653a
Move action to correct package
2022-11-15 10:34:12 +02:00
Matt Ellis and Alex Pláte
c17ebbf4d7
Rename various scroll functions
2022-11-15 10:34:12 +02:00
Matt Ellis and Alex Pláte
44a26d59a4
Rename screen line functions to "display"
2022-11-15 10:34:12 +02:00
Matt Ellis and Alex Pláte
6b8f81f7eb
Rename screen column functions to "display"
...
Two reasons:
1. It is good if the engine uses Vim terminology. A "screen" in Vim includes all window/display lines from all windows in the terminal screen, including the status and command line. IntelliJ doesn't have this concept. A display line is most similar to IntelliJ's visual lines, but describes the window/display's character grid, not the buffer contents.
2. moveCaretToMiddleColumn needs renaming to indicate that it's for a display line, not a logical line, and to make way for an implementation of `gM`, which does work on logical lines
2022-11-15 10:34:12 +02:00
Matt Ellis and Alex Pláte
9a4b9419eb
Rearrange VimMotionGroup to group related functions
...
No code changes
2022-11-15 10:34:12 +02:00
Matt Ellis and Alex Pláte
89548d132a
Remove obsolete helper method
2022-11-15 10:34:12 +02:00
Matt Ellis and Alex Pláte
45dbb2cd3b
Remove JavaVimTestCase base class
...
Can also now apply @TestWithoutNeovim to an entire class
2022-11-15 10:34:12 +02:00
Matt Ellis and Alex Pláte
a95203e2c9
Fix Gradle warning for missing task dependency
2022-11-15 10:34:12 +02:00
Matt Ellis and Alex Pláte
a79fc4980e
Fix Gradle warning from verifyPluginConfiguration
2022-11-15 10:34:12 +02:00
Matt Ellis and Alex Pláte
45908f2a84
Remove unnecessary scroll method
2022-10-28 08:15:32 +03:00
Matt Ellis and Alex Pláte
8648220e21
Fix(VIM-2778) Remove override of editor scroll setting
...
Let user decide how editor scrolls when IntelliJ performs navigation, e.g. go to file member
2022-10-28 08:15:32 +03:00
Matt Ellis and Alex Pláte
9c6f0981f5
Consolidate doTest methods
2022-08-04 19:17:59 +03:00
Matt Ellis and Alex Pláte
62632a4514
Improve handling of fractional width fonts
2022-07-06 09:29:36 +03:00
Matt Ellis and Alex Pláte
d7c4e4a8dd
Add support for "-Command" flag for powershell
...
Fixes VIM-2622
2022-05-25 11:30:36 +03:00
Matt Ellis and Alex Pláte
b7c54d02cb
Fix minor scroll bug
...
If caret is less than 'sidescrolloff' columns from the left of the screen, moving down one line will animate. Greater than 'sidescrolloff' does not animate. This is because the scroll model tries to scroll to a negative horizontal offset, to try and put the caret in the middle of the screen. This isn't possible, but the scroll model sees a large enough distance to trigger an animation.
2022-05-25 11:30:36 +03:00
Matt Ellis and Alex Pláte
9a06ee97c4
Refactor CaretVisualAttributesHelper
2022-04-21 10:36:15 +03:00
Matt Ellis and Alex Pláte
d7dfc6dc05
Remove pre-212 caret attribute helpers
2022-04-21 10:36:15 +03:00
Matt Ellis
cd242511a8
Fallback to line comment if block is unavailable
...
Fixes VIM-2381
2022-04-20 12:37:11 +01:00
Matt Ellis
745ae6caa4
Migrate Commentary tests to VimTestCase
2022-04-20 12:23:17 +01:00
Matt Ellis
acc7d0954d
Maintain old mappings for compatibility
2022-04-20 00:16:22 +01:00
Matt Ellis
7d5176829b
Merge branch 'master' into feature/commentary
2022-04-18 17:12:02 +01:00
Matt Ellis
fd0dc0d445
Remove unnecessary setting of sub mode
2022-04-15 13:36:44 +01:00
Matt Ellis
be11317667
Use comment actions instead of low level handlers
2022-04-13 10:53:25 +01:00
Matt Ellis
22fce51640
Fix Exchange tests after operator changes
...
OperatorAction no longer normalises linewise ranges, but Exchange doesn't need this
2022-04-12 23:47:46 +01:00
Matt Ellis
4223da47d6
Refactor and simplify Commentary objects
...
Also introduces Visual support for the `g@` operator action
2022-04-12 22:05:48 +01:00
Matt Ellis
64100fea59
Add Commentary command
2022-04-12 16:53:21 +01:00
Matt Ellis
2244c65233
Reposition caret after commenting
2022-04-12 16:26:28 +01:00
Matt Ellis
e08bffd7ba
Add gcu mapping
2022-04-12 15:33:24 +01:00
Matt Ellis
0d5aa52af2
Add gc text object
...
Fixes VIM-2589
2022-04-12 15:33:23 +01:00
Matt Ellis
cc029fc98e
Implement gcc as gc_ motion
...
gcc now respects count
Fixes VIM-1687
2022-04-08 16:50:10 +01:00
Matt Ellis
feae15c48c
Use same mapping as Commentary plugin
2022-04-08 16:47:54 +01:00
Matt Ellis
07485727c4
Use Kotlin helper functions
2022-04-08 16:46:08 +01:00
Matt Ellis
8b0ad7680b
Rearrange code
2022-04-08 16:44:04 +01:00
Matt Ellis
43d70cd467
Convert to Kotlin
2022-04-08 16:35:03 +01:00
Matt Ellis
d73b605ef0
Rename Java to Kotlin
2022-04-08 16:32:59 +01:00
Matt Ellis and Alex Pláte
aed2d1159d
fix(VIM-2470): Fix incorrect reset of cursor shape
2022-02-08 14:13:49 +03:00
Matt Ellis and Alex Pláte
296b714282
fix(VIM-2462): reset caret when disabling plugin
2021-11-09 19:35:19 +03:00
Matt Ellis and Alex Pláte
8344207608
fix(VIM-2432): handle scrolloff with <C-D> and <C-U>
2021-11-08 11:03:58 +03:00
Matt Ellis
ae21727c12
Merge branch 'master' into feature/guicursor
2021-09-27 15:21:41 +01:00
Matt Ellis
6ab53802df
Add tests for caret attributes in nested modes
...
See VIM-1756
2021-08-10 17:29:00 +01:00
Matt Ellis
70a45f3dc8
Treat use block caret option as caret override
2021-07-29 21:20:28 +01:00
Matt Ellis
d63e3dadbc
Merge branch 'master' into feature/guicursor
2021-07-28 23:07:47 +01:00
Matt Ellis
91585e1059
Run linters
2021-06-30 21:41:59 +01:00
Matt Ellis
d6a99d4354
Update to latest EAP
2021-06-30 21:10:49 +01:00
Matt Ellis
0d840b2c41
Merge branch 'master' into feature/guicursor
2021-06-30 18:39:03 +01:00
Matt Ellis
0288a0f2b5
Use insert caret for select mode
2021-06-30 17:26:44 +01:00
Matt Ellis
fe7dc4902b
Make ExShortcutKeyAction dumb aware
2021-06-30 17:17:55 +01:00
Matt Ellis
1caf380505
Improve caret painting in command line
2021-06-30 17:15:52 +01:00
Matt Ellis
64be75142e
Use guicursor options to draw ex caret
2021-06-29 17:05:11 +01:00
Matt Ellis
f05123123c
Use guicursor instead of editor cursor settings
...
This changes VIM-1475 and ignores IntelliJ's "use block cursor" setting in favour of guicursor. Also affects caret placement around inlays and handling of template hotspots via idearefactormode
2021-06-29 00:21:19 +01:00
Matt Ellis
2f73dac57a
Force the caret visible when updating attributes
...
Changing EditorSettings.setBlockCursor does this via EditorImpl.updateCaretCursor
2021-06-28 23:48:27 +01:00
Matt Ellis
a6087dd08f
Use replace mode caret for change character action
2021-06-28 23:42:36 +01:00
Matt Ellis
b4d40fae3b
Rename assert method
2021-06-28 23:24:59 +01:00
Matt Ellis
ad19dc0100
Use guicursor options to draw caret
2021-06-28 23:09:21 +01:00
Matt Ellis
d19c776ec3
Minor refactor
2021-06-28 23:08:29 +01:00
Matt Ellis
ccd792bf62
Provide hook for resetting cached values
2021-06-28 23:08:22 +01:00
Matt Ellis
8a55199d62
Add guicursor to dictionary
2021-06-28 23:08:14 +01:00
Matt Ellis
9cf0a1ac26
Report errors while parsing guicursor option
2021-06-28 23:06:49 +01:00
Matt Ellis
43620c280d
Add guicursor option
2021-06-28 23:04:58 +01:00
Matt Ellis and Alex Pláte
982d6921cb
Fix formatting
2021-06-24 10:13:36 +03:00
Matt Ellis and Alex Pláte
bb28b76a5b
Support % as shortcut for file name in filter
2021-06-24 10:13:36 +03:00
Matt Ellis and Alex Pláte
67fed0da9e
[VIM-1566] Use OS shell to execute filter command
2021-06-24 10:13:36 +03:00
Matt Ellis and Alex Pláte
e3cf50b4c9
[VIM-1357] Invoke shell filter commands with proper path and argument handling
...
Also moves the filter command out of a write action, and under a cancellable modal progress dialog. Any errors are substituted into the text, as per Vim.
Fixes #VIM-1357
2021-06-24 10:13:36 +03:00
Matt Ellis
9f46e1960e
Fix typo
2021-06-10 13:51:43 +01:00
Matt Ellis
e93a619859
Make ListOption generic + create StringListOption
2021-06-10 13:51:23 +01:00
Matt Ellis
287ba7055e
Simplify BoundedListOption
2021-06-10 11:29:20 +01:00
Matt Ellis
dfbec1f23a
Rename "bound" options to "bounded"
2021-06-10 11:18:57 +01:00
Matt Ellis
55dedb4c4d
Remove resetShape method
...
We should avoid setting the shape explicitly, and let it update when the mode changes.
Note that shape can affect the visual position of the caret around inlays (e.g. 'a' at the end of a rename hotspot with a trailing inlay for options will remain in between the text and the inlay, while 'l' in command mode will move after the inlay. Both positions are at the same text offset). We should still avoid explicitly setting shape before moving the caret. We can't guarantee the order of changing mode and moving the caret, so we update the visual position at the current offset when changing mode. (We're also currently using mode as an assumption of shape)
2021-06-10 11:05:41 +01:00
Matt Ellis
9c71b444c6
Update caret visual attributes when mode changes
...
Removes updateCaretState and unnecessary usages
2021-06-05 01:04:01 +01:00
Matt Ellis
e859b1c131
Remove resetCaret
2021-06-05 00:33:04 +01:00
Matt Ellis
6c4bd9cc10
Refactor caret shape functions
2021-06-05 00:21:58 +01:00
Matt Ellis
b50281f8d5
Extract caret shape methods to helper
2021-06-05 00:14:10 +01:00