Justas Trimailovas
6c9a5e1f2d
[VIM-1824] surround - remove whitespace with closing bracket
...
**Context**:
In vim surround extendsion closing brackets (`}, ], )`) should remove
whitespace when using `cs` movement.
Example:
- Before: `{ example }`
- Movement: `cs{}`
- After: `{example}`
This was because were replaced with a string from `SURROUND_PAIRS` map,
which does not have any context about removing characters.
**Solution**:
Inspired from VSCode's VIM plugin[^1], I have introduced new class
`SurroundPair` that will carry this context about need to trim
characters.
**Disclaimer**:
I have never written in `Kotlin` so solution may be not use best
practices, though at least this PR seems to fix the problem and tests
are passing.
**Ticket**:
- https://youtrack.jetbrains.com/issue/VIM-1824/Vim-Surround-Does-not-remove-whitespace-with-the-closing-bracket
[^1]: 04fe42aa81/src/actions/plugins/surround.ts (L455)
2024-12-04 18:07:02 +02:00
dependabot[bot]
34a5ba0ba7
Bump io.ktor:ktor-client-cio from 3.0.1 to 3.0.2
...
Bumps [io.ktor:ktor-client-cio](https://github.com/ktorio/ktor ) from 3.0.1 to 3.0.2.
- [Release notes](https://github.com/ktorio/ktor/releases )
- [Changelog](https://github.com/ktorio/ktor/blob/main/CHANGELOG.md )
- [Commits](https://github.com/ktorio/ktor/compare/3.0.1...3.0.2 )
---
updated-dependencies:
- dependency-name: io.ktor:ktor-client-cio
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-12-04 17:59:34 +02:00
dependabot[bot]
2354dc9af9
Bump io.ktor:ktor-client-content-negotiation from 3.0.1 to 3.0.2
...
Bumps [io.ktor:ktor-client-content-negotiation](https://github.com/ktorio/ktor ) from 3.0.1 to 3.0.2.
- [Release notes](https://github.com/ktorio/ktor/releases )
- [Changelog](https://github.com/ktorio/ktor/blob/main/CHANGELOG.md )
- [Commits](https://github.com/ktorio/ktor/compare/3.0.1...3.0.2 )
---
updated-dependencies:
- dependency-name: io.ktor:ktor-client-content-negotiation
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-12-04 17:45:34 +02:00
dependabot[bot]
be31963a4f
Bump io.ktor:ktor-serialization-kotlinx-json from 3.0.1 to 3.0.2
...
Bumps [io.ktor:ktor-serialization-kotlinx-json](https://github.com/ktorio/ktor ) from 3.0.1 to 3.0.2.
- [Release notes](https://github.com/ktorio/ktor/releases )
- [Changelog](https://github.com/ktorio/ktor/blob/main/CHANGELOG.md )
- [Commits](https://github.com/ktorio/ktor/compare/3.0.1...3.0.2 )
---
updated-dependencies:
- dependency-name: io.ktor:ktor-serialization-kotlinx-json
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-12-04 17:32:02 +02:00
dependabot[bot]
277c5ae7a5
Bump io.ktor:ktor-client-core from 3.0.1 to 3.0.2
...
Bumps [io.ktor:ktor-client-core](https://github.com/ktorio/ktor ) from 3.0.1 to 3.0.2.
- [Release notes](https://github.com/ktorio/ktor/releases )
- [Changelog](https://github.com/ktorio/ktor/blob/main/CHANGELOG.md )
- [Commits](https://github.com/ktorio/ktor/compare/3.0.1...3.0.2 )
---
updated-dependencies:
- dependency-name: io.ktor:ktor-client-core
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-12-04 17:31:51 +02:00
dependabot[bot]
49d03cf7f1
Bump com.google.devtools.ksp:symbol-processing-api
...
Bumps [com.google.devtools.ksp:symbol-processing-api](https://github.com/google/ksp ) from 2.0.0-1.0.24 to 2.1.0-1.0.29.
- [Release notes](https://github.com/google/ksp/releases )
- [Commits](https://github.com/google/ksp/compare/2.0.0-1.0.24...2.1.0-1.0.29 )
---
updated-dependencies:
- dependency-name: com.google.devtools.ksp:symbol-processing-api
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-12-04 17:31:33 +02:00
Alex Plate
f5e7459b37
[IJPL-165238] It seems the issue was fixed
2024-12-03 15:18:20 +02:00
Alex Plate
df8144fc00
Temporally bring back first and last checks
2024-12-03 15:03:09 +02:00
dependabot[bot]
05f1d7abd7
Bump org.jetbrains.kotlin:kotlin-stdlib from 1.9.25 to 2.1.0
...
Bumps [org.jetbrains.kotlin:kotlin-stdlib](https://github.com/JetBrains/kotlin ) from 1.9.25 to 2.1.0.
- [Release notes](https://github.com/JetBrains/kotlin/releases )
- [Changelog](https://github.com/JetBrains/kotlin/blob/v2.1.0/ChangeLog.md )
- [Commits](https://github.com/JetBrains/kotlin/compare/v1.9.25...v2.1.0 )
---
updated-dependencies:
- dependency-name: org.jetbrains.kotlin:kotlin-stdlib
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-11-27 17:44:55 +02:00
Alex Pláte
6ca17ae09d
Update codeql-analysis.yml
2024-11-26 14:53:10 +02:00
Alex Pláte
f9d8b3a59e
Update syncDoc.yml
2024-11-26 14:50:29 +02:00
Alex Pláte
3279325694
Update closeYoutrackOnCommit.yml
2024-11-26 14:46:54 +02:00
Julien Phalip
b2a6d0d5c7
Add switch and functiontextobj to list of plugins
2024-11-26 14:15:38 +02:00
Julien Phalip
e32fa6dd11
Change Variable
to an interface
2024-11-26 10:32:11 +02:00
Julien Phalip
ec3db81c6d
Move register variable to its own separate class
2024-11-26 10:32:11 +02:00
Julien Phalip
7062dc4860
Add support for the v:register variable
2024-11-26 10:32:11 +02:00
Alex Plate
46619040b1
Add new plugins for checking
...
From here: https://github.com/JetBrains/ideavim/discussions/1047
2024-11-25 15:32:22 +02:00
Alex Plate
035804860c
Fix incorrect configuration in gradle
2024-11-25 15:32:01 +02:00
Alex Plate
0f1a4d523f
Move the docs to the init
method of VimExtension
2024-11-25 14:01:23 +02:00
Alex Plate
5f5a97a7e1
Lazily load the logger to avoid injector initialization problems
2024-11-25 13:39:24 +02:00
IdeaVim Bot
03996dce59
Add Julien Phalip to contributors list
2024-11-23 09:03:04 +00:00
filipp
0dd63c7b57
Fix nullable editor in tests
2024-11-22 17:15:07 +02:00
filipp
94d7902ef2
Remove more deprecated methods
2024-11-22 17:15:07 +02:00
filipp
3d08170d54
Post-rebase fixes
2024-11-22 17:15:07 +02:00
filipp
cccb23d9ee
Specify which commands perform mode change
...
We need this for undo subsystem. Mode change is not something that we want to be a separate entity in the undo log
P.S. It's not a full list of such commands, e.g. <ESC> for leaving insert mode is missing. It is because <ESC> may insert some text after visual block mode, I'll figure out a solution for this later
2024-11-22 17:15:07 +02:00
Filipp Vakhitov
eae3fb3ebe
Introduce VimKeyBasedUndoService and VimTimestampBasedUndoService
...
Undo is managed differently in Fleet and IJ Platform, so now we have two different interfaces that are aware of that
2024-11-22 17:15:07 +02:00
Filipp Vakhitov
7f5dce4051
Stop using some deprecated methods
2024-11-22 17:15:07 +02:00
Filipp Vakhitov
25e3988dcf
Introduce VimCopiedText class
...
I don't really like that we have `transferableData: List<Any>`
2024-11-22 17:15:07 +02:00
Filipp Vakhitov
36589c5250
Add context
argument in clipboard methods
...
Alas, adding in just to clipboard was not possible, as there are a lot of depending on methods
2024-11-22 17:15:07 +02:00
Filipp Vakhitov
f1f86b5cd2
Simplify Register class
...
1. `rawText` vs `text` is confusing and `rawText` was misused, we do not need this field in IdeaVim at all
2. `rawText` and `keys` are the same thing, just parsed. And for some reason, rawText was a nullable field
3. Register is an immutable class now
4. Working with Register class is easier and more compact now
2024-11-22 17:15:07 +02:00
Filipp Vakhitov
628b3ca89f
Fix <CR> parsing
...
It's ^M, not ^J
2024-11-22 17:15:07 +02:00
Filipp Vakhitov
d2b929ddd0
Fix parsing for clipboard
option
...
When I added the selection clipboard, it was confusing to explain to people how this option works and why they should prepend, because the parsing was broken
I've also removed "exclude" part, because it doesn't work in IdeaVim and can confuse people
2024-11-22 17:15:07 +02:00
filipp
43d770ff5a
Simplify getTransferableData method signature
2024-11-22 17:15:07 +02:00
Filipp Vakhitov
cde9bc94e6
Fix select mode for immutable caret
...
Due to implementation details, caret cannot be moved after setting selection
2024-11-22 17:15:07 +02:00
Filipp Vakhitov
63f6e73223
Fix select mode for immutable caret
2024-11-22 17:15:07 +02:00
Filipp Vakhitov
ad28e09fec
Move caret when deleting a char
...
In Fleet deleting text does not move caret, so we add caret moving logic
2024-11-22 17:15:07 +02:00
Filipp Vakhitov
f616f2c3c1
Fix gv
in Fleet
...
Moving caret after setting selection removes the selection
2024-11-22 17:15:07 +02:00
Filipp Vakhitov
66aec26091
Move ColLineFunctionHandler.kt to vim-engine
2024-11-22 17:15:07 +02:00
Filipp Vakhitov
1d59c49b95
Move more logic to vim-engine
2024-11-22 17:15:07 +02:00
Matt Ellis
8da15b8c08
Manually track last selected editor
...
This is important for initialising options. We can't rely on FileEditorManager.selectedTextEditor, as 2024.2 changed behaviour to reset to null during creation of a new editor. This fixes tests (and option initialisation) for 242.
2024-11-22 17:01:38 +02:00
Matt Ellis
e22c2b6473
Improve updating fallback window option values
...
The assumption for selection change events is no longer valid in 242, so switch approach to checking when editors are released
2024-11-22 17:01:38 +02:00
Matt Ellis
e293c1b786
Add tests for updating the fallback window
2024-11-22 17:01:38 +02:00
Matt Ellis
468ca840ed
Update options tests
...
Expanded to assert changes on all open windows, and formatted to make it a little easier to read/comprehend what's being tested
2024-11-22 17:01:38 +02:00
Julien Phalip
c75e6756c0
Add some tests for the getcmdtype() function
2024-11-22 16:49:04 +02:00
Julien Phalip
52737c60cf
Add JSON entry for getcmdtype function
2024-11-22 16:49:04 +02:00
Julien Phalip
e99c191d49
Add partial support for getcmdtype() function
...
Tests not included
2024-11-22 16:49:04 +02:00
Julien Phalip
5db2984fdd
Add ability to set the highlightedyank foreground color
2024-11-22 15:48:22 +02:00
Alex Plate
365b58eb56
Update build.gradle checker
2024-11-15 20:54:07 +02:00
Alex Plate
b026144254
Add RWLock label to selectionStart
& selectionEnd
2024-11-15 20:53:54 +02:00
Alex Plate
0e3cda827c
Fix(VIM-3695): Wrap getting a vimLeadSelectionOffset with a read action
2024-11-15 20:44:00 +02:00