Matt Ellis
5eb36ce428
Remove unneeded extended special name parsing
...
This was needed when action keys were registered in a comma separated list in a single XML attribute string. Additional encoding was needed for angle brackets and commas. Registration has changed, and this is no longer needed
2024-11-13 17:52:28 +02:00
Matt Ellis
92ee271f1e
Add fallback if ve
guicursor option not specified
2024-11-05 12:29:13 +02:00
Matt Ellis
babc5daf3b
Use Visual-exclusive caret shape from guicursor
2024-11-05 12:29:13 +02:00
Matt Ellis
82d18cfbb9
Remove unused imports
2024-11-05 04:14:12 +02:00
dependabot[bot]
15b2a17ae6
Bump org.junit.jupiter:junit-jupiter-engine from 5.10.3 to 5.10.5
...
Bumps [org.junit.jupiter:junit-jupiter-engine](https://github.com/junit-team/junit5 ) from 5.10.3 to 5.10.5.
- [Release notes](https://github.com/junit-team/junit5/releases )
- [Commits](https://github.com/junit-team/junit5/compare/r5.10.3...r5.10.5 )
---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter-engine
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-10-30 18:10:50 +02:00
dependabot[bot]
2fd488531b
Bump org.junit.vintage:junit-vintage-engine from 5.10.3 to 5.10.5
...
Bumps [org.junit.vintage:junit-vintage-engine](https://github.com/junit-team/junit5 ) from 5.10.3 to 5.10.5.
- [Release notes](https://github.com/junit-team/junit5/releases )
- [Commits](https://github.com/junit-team/junit5/compare/r5.10.3...r5.10.5 )
---
updated-dependencies:
- dependency-name: org.junit.vintage:junit-vintage-engine
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-10-30 17:55:56 +02:00
dependabot[bot]
e69b30796c
Bump org.junit.jupiter:junit-jupiter-api from 5.10.3 to 5.10.5
...
Bumps [org.junit.jupiter:junit-jupiter-api](https://github.com/junit-team/junit5 ) from 5.10.3 to 5.10.5.
- [Release notes](https://github.com/junit-team/junit5/releases )
- [Commits](https://github.com/junit-team/junit5/compare/r5.10.3...r5.10.5 )
---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter-api
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-10-30 17:54:34 +02:00
dependabot[bot]
43555ad581
Bump org.jetbrains:annotations from 24.1.0 to 26.0.1
...
Bumps [org.jetbrains:annotations](https://github.com/JetBrains/java-annotations ) from 24.1.0 to 26.0.1.
- [Release notes](https://github.com/JetBrains/java-annotations/releases )
- [Changelog](https://github.com/JetBrains/java-annotations/blob/master/CHANGELOG.md )
- [Commits](https://github.com/JetBrains/java-annotations/compare/24.1.0...26.0.1 )
---
updated-dependencies:
- dependency-name: org.jetbrains:annotations
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-10-23 18:50:30 +03:00
Matt Ellis
879d191800
Scroll caret into view after undo/redo
...
This is to ensure that 'scrolloff' is applied. Relates to VIM-3671
2024-10-21 15:50:58 +03:00
Matt Ellis
34fe09c8f9
Use full width of output panel for text
2024-09-05 19:22:04 +03:00
Matt Ellis
10283ce2f8
Add support for custom digraphs
2024-09-05 19:22:04 +03:00
Matt Ellis
cc53b59658
Add digraph headers
2024-09-05 19:22:04 +03:00
Matt Ellis
c758a79f79
Minor refactor outputting digraphs
2024-09-05 19:22:04 +03:00
Matt Ellis
01d00d45d8
Add a default size for the digraph string builder
2024-09-05 19:22:04 +03:00
Matt Ellis
5c7edc498f
Rename getDigraph - it gets a char from a digraph
2024-09-05 19:22:04 +03:00
Matt Ellis
9c403d2862
Simplify creating string digraph key
2024-09-05 19:22:04 +03:00
Matt Ellis
ebbd733bba
Update default digraphs to match current Vim
...
List is based on Vim's documentation, although not all digraphs are documented. Additional digraphs are added based on the output of `:digraphs`. These additional digraphs include some digraphs that produce the same character, so the code is updated to handle duplicates, with the same ordering/priority as Vim.
Extra digraphs include the Euro symbol (`=e` and `Eu`), quadruple prime (`4'`) and bullet (`oo`), amongst others.
Also removes a number of non-standard digraphs. The symbols generated don't match the descriptions. The code appears to be private use, so are not reliable. Once custom digraphs are implemented, they can be easily added back in `~/.ideavimrc`
2024-09-05 19:22:04 +03:00
Matt Ellis
88d1e1d24a
Suppress language download inspection
2024-09-05 19:22:04 +03:00
Matt Ellis
c19f2aeee4
Update comments for default digraphs
2024-09-05 19:22:04 +03:00
Matt Ellis
86202c846a
Remove unused commented digraph data
2024-09-05 19:22:04 +03:00
Matt Ellis
9a7ff442f3
Correctly format RTL and combining digraph chars
2024-09-05 19:22:04 +03:00
Matt Ellis
3752a97d74
Output digraph character codes in decimal, like Vim
...
Not sure why IdeaVim has used hex. Vim appears to have used decimal for at least 20 years.
2024-09-05 19:22:04 +03:00
Matt Ellis
5572dfc80d
Update digraph formatting to match Vim
...
Vim only use the `~` prefix if the encoding is "latin1". We can just treat it as though the encoding is Unicode, and match the other places we format printable characters. Note that for Vim, if `'display'` contains "uhex", then all unprintable characters are shown in hex, including control characters (`^C`, etc.). IdeaVim does not support the `'display'` option.
2024-09-05 19:22:04 +03:00
Matt Ellis
100f420d46
Strip trailing spaces
2024-09-05 19:22:04 +03:00
Matt Ellis
3fcc4746d8
Migrate digraph output to engine
2024-09-05 19:22:04 +03:00
dedd90ce13
Fix(VIM-3615): Escape closes dialog while waiting for more keys
2024-08-30 16:46:53 +03:00
Matt Ellis
fb7a2de07b
Encapsulate the command builder's state flag
...
This also gets rid of BAD_COMMAND, which was set but never checked - the function that set the flag would immediately reset the command builder
2024-08-30 16:36:24 +03:00
Matt Ellis
def9ca479b
Ensure builder resets to a root command trie node
...
Also refactors command nodes a bit for better debug/trace output
2024-08-30 16:36:24 +03:00
Matt Ellis
0936e0761f
Reorder CommandBuilder methods
...
Try to keep related functions together: awaiting arguments, count, registers, adding action/argument, processing keystrokes, build, reset.
2024-08-30 16:36:24 +03:00
Matt Ellis
09a335bcfe
Start to encapsulate setting command builder state
...
Also rename `pushCommandPart` and `completeCommandPart`
2024-08-30 16:36:24 +03:00
Matt Ellis
37b8d69bac
Remove unused EMPTY_COMMAND
2024-08-30 16:36:24 +03:00
Matt Ellis
13308050a8
Remove unnecessary OperatorArguments parameters
2024-08-30 16:36:24 +03:00
Matt Ellis
a1a553ebc9
Deprecate OperatorArguments.mode
2024-08-30 16:36:24 +03:00
Matt Ellis
5bb0c4f7cb
Use editor.mode instead of OperatorArguments.mode
...
`OperatorArguments.mode` is the mode *before* the command was completed, rather than the current mode, which is non-obvious. E.g. for a command in Insert mode, it will still be Insert, and for a (simple) command in Normal, it will still be Normal. The only difference is that a command such as `dw` would be in Operator-pending before the command is completed. That logic is not required for this method, so it's safe to use the current mode.
This allows us to start to deprecate `OperatorArguments.mode`.
2024-08-30 16:36:24 +03:00
Matt Ellis
da6736f24a
Simplify the logic when yanking during delete
2024-08-30 16:36:24 +03:00
Matt Ellis
4df1ce2ae8
Remove OperatorArguments.mode usage in block insert
...
`OperatorArguments.mode` is the mode *before* the command is completed, so might be Visual, Operator-pending, Insert, etc. It's not immediately obvious this is the case, so we're going to deprecate `OperatorArguments.mode` to avoid confusion with `editor.mode`.
It's not required for this method because it's only called for Visual-block mode.
2024-08-30 16:36:24 +03:00
Matt Ellis
00fd4cd491
Handle op-pending for space and backspace
2024-08-30 16:36:24 +03:00
Matt Ellis
d185672e2f
Deprecate OperatorArguments.isOperatorPending
...
Register specific handlers for Operator-pending mode instead of relying on a runtime flag for behaviour. Also refactors and renames some arrow motion handlers.
2024-08-30 16:36:24 +03:00
Matt Ellis
69b3e4f782
Start to refactor OperatorArguments
2024-08-30 16:36:24 +03:00
Matt Ellis
6be29b0378
Remove KeyHandler.isOperatorPending
...
It's easier to just look at mode. We don't need the additional check on command builder, because we can't be in OP_PENDING without pushing an operator action to the command builder
2024-08-30 16:36:24 +03:00
Matt Ellis
9965c863a6
Encapsulate command node state in builder
2024-08-30 16:36:24 +03:00
Matt Ellis
3f11ae512c
Move register pending state to command builder
2024-08-30 16:36:24 +03:00
Matt Ellis
1c842eb3d8
Avoid exposing misleading count on command builder
2024-08-30 16:36:24 +03:00
Matt Ellis
c7fbce675b
Update comment
2024-08-30 16:36:24 +03:00
Matt Ellis
d7e68488c8
Make Command.rawCount immutable
2024-08-30 16:36:24 +03:00
Matt Ellis
69d13a74e6
Remove unnecessary copy method
2024-08-30 16:36:24 +03:00
Matt Ellis
5a83df34a7
Replace var properties with read only
2024-08-30 16:36:24 +03:00
Matt Ellis
0a18c388e0
Simplify CommandBuilder
...
Fixes selecting last register if multiple registers are used in a command
2024-08-30 16:36:24 +03:00
Matt Ellis
1a3409e7df
Remove count from motion argument
...
Only Command has a count. The motion argument is now a sealed class hierarchy, and consists only of the motion action and optional argument. This is to reduce confusion over which count to use, and potential incorrect calculation of the count
2024-08-30 16:36:24 +03:00
Matt Ellis
e93db961a0
Wrap offsets argument as an external action
2024-08-30 16:36:24 +03:00
Matt Ellis
8fd76bd08f
Refactor properties for sealed Argument classes
2024-08-30 16:36:24 +03:00
Matt Ellis
0eea4a5b2c
Introduce sealed classes to represent an argument
2024-08-30 16:36:24 +03:00
Matt Ellis
18a0c533e2
Remove unused OperatedRange type
2024-08-30 16:36:24 +03:00
Matt Ellis
0bd8d8f4d2
Remove unused digraph command flag
2024-08-30 16:36:24 +03:00
Filipp Vakhitov
5b17d7740e
Update generated files after merging PRs
2024-08-25 21:51:14 +03:00
filipp
9bbeab8062
VIM-2074 Backspace behaviour is incorrect in Replace mode
2024-08-23 14:22:48 +03:00
filipp
373bfc4eab
Add endOffset to LiveRange
2024-08-23 14:22:48 +03:00
filipp
050f2f7b97
Respect emojis and don't assume that every character is a single offset
2024-08-23 14:18:03 +03:00
Filipp Vakhitov
e30bc14843
Make closing command line safer
2024-08-23 14:18:03 +03:00
Filipp Vakhitov
76d590be11
Support more flexible command line restrictions for Fleet
2024-08-23 14:18:03 +03:00
Filipp Vakhitov
b005328b4a
Exclude generated files from .gitignore
...
I've also added sorting to be more confident that the generated file will be persistent across different machines
2024-08-23 14:18:03 +03:00
Filipp Vakhitov
0f7aef3f15
Fix tests
2024-08-23 14:18:03 +03:00
Filipp Vakhitov
f352b84922
Move some Executor logic to its base class
2024-08-23 14:18:03 +03:00
Filipp Vakhitov
789faa7cb2
Add entry to history on <Esc> in COMMAND mode
2024-08-23 14:18:03 +03:00
Filipp Vakhitov
a338f5768a
Better reset
2024-08-23 14:18:03 +03:00
Filipp Vakhitov
010e8a7541
Support <C-U> in command mode
2024-08-23 14:18:03 +03:00
Filipp Vakhitov
46c6778b3a
Support <Down>, <S-Down>, <C-N>, <PageDown> in command mode
2024-08-23 14:18:03 +03:00
Filipp Vakhitov
0977bd4400
Support <Up>, <S-Up>, <C-P>, <PageUp> in command mode
2024-08-23 14:18:03 +03:00
Filipp Vakhitov
db092e9b0a
Support history in VimCommandLine
2024-08-23 14:18:03 +03:00
Filipp Vakhitov
3a95b62885
Support <Insert> in command mode
2024-08-23 14:18:03 +03:00
Filipp Vakhitov
93e6adf5a9
Support <C-W> in command mode
2024-08-23 14:18:03 +03:00
Filipp Vakhitov
37204398ff
Support <C-Right>, <S-Right> in command mode
2024-08-23 14:18:03 +03:00
Filipp Vakhitov
b2f450d14d
Support <C-Left>, <S-Left> in command mode
2024-08-23 14:18:03 +03:00
Filipp Vakhitov
61da888571
Fix failing tests
2024-08-23 14:18:03 +03:00
Filipp Vakhitov
fcda97cfb8
Update methods to support searching in any text, not just Editor content
2024-08-23 14:18:03 +03:00
Filipp Vakhitov
7b0482ed94
Fix unwanted beep when can't perform an action
2024-08-23 14:18:03 +03:00
Filipp Vakhitov
1c79b0d59a
Support <Right> in command mode
2024-08-23 14:18:03 +03:00
Filipp Vakhitov
ff4eb31418
Support <Left> in command mode
2024-08-23 14:18:03 +03:00
Filipp Vakhitov
cb1078cf70
Support <C-H> in command mode
2024-08-23 14:18:03 +03:00
Filipp Vakhitov
da3e40eaf6
Support <C-E>, <End> in command mode
2024-08-23 14:18:03 +03:00
Filipp Vakhitov
17f77a9639
Support <C-B>, <Home> in command mode
2024-08-23 14:18:03 +03:00
Filipp Vakhitov
3d03494354
Support <DEL> in command mode
2024-08-23 14:18:03 +03:00
Filipp Vakhitov
642caddda7
Support <BS> in command mode
2024-08-23 14:18:03 +03:00
Filipp Vakhitov
1d97c43e30
Make ExEntryAction public
...
Fleet registers commands manually, so commands must be accessible
2024-08-23 14:18:03 +03:00
The1xDeveloper
3ba14d05b4
VIM-566: Add za motion support for toggling folds
2024-08-16 12:28:18 +03:00
Filipp Vakhitov
2189b70b87
Fix(VIM-3601): The escape characters in IdeaVim's configuration file are invalid
2024-08-14 18:18:55 +03:00
Filipp Vakhitov
8c9ff9465f
Fix(VIM-3584): com.maddyhome.idea.vim.KeyHandler
requests com.maddyhome.idea.vim.api.VimKeyGroup
instance. Class initialization must not depend on services
2024-08-11 01:12:59 +03:00
dependabot[bot]
fbbd1ebc0d
Bump org.antlr:antlr4 from 4.13.1 to 4.13.2
...
Bumps [org.antlr:antlr4](https://github.com/antlr/antlr4 ) from 4.13.1 to 4.13.2.
- [Release notes](https://github.com/antlr/antlr4/releases )
- [Changelog](https://github.com/antlr/antlr4/blob/dev/CHANGES.txt )
- [Commits](https://github.com/antlr/antlr4/compare/4.13.1...4.13.2 )
---
updated-dependencies:
- dependency-name: org.antlr:antlr4
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-08-07 18:46:09 +03:00
Filipp Vakhitov
5dc860f61e
Fix(VIM-3569): Pipe-symbol can no longer be used in remaps
2024-07-30 18:02:12 +03:00
Alex Plate
bd53a895c0
Return nullability of editor in action
2024-07-29 16:54:02 +02:00
Alex Plate
9fb614e16c
Pass editor to the "execute" method of the NativeAction
2024-07-29 16:36:01 +02:00
Alex Plate
560700c9aa
Pass editor to the execution of the action
...
Related: VIM-3376
2024-07-29 12:49:16 +02:00
Alex Plate
ff44596c1a
Migrate to gradle plugin 2.0.0-rc1
2024-07-26 19:00:31 +03:00
Filipp Vakhitov
39c615cddd
Do not cast VimStateMachine classes in vim-engine
...
It will break if we change implementation in Fleet
2024-07-26 17:30:08 +03:00
Filipp Vakhitov
961173a93b
Fix tests
2024-07-26 17:30:08 +03:00
Filipp Vakhitov
92741c6356
Fix compilation
2024-07-26 17:30:08 +03:00
Filipp Vakhitov
643eb2a85f
Add context to MappingProcessor
2024-07-26 17:30:08 +03:00
filipp
883744e4ee
Move blockInsert to vim-engine
2024-07-26 17:30:08 +03:00
filipp
66173e03be
Move reformatCodeRange to vim-engine
2024-07-26 17:30:08 +03:00
filipp
e455722758
Move more methods to vim-engine
2024-07-26 17:30:08 +03:00