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
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
Alex Plate
791edbd29b
Restore compatibility with peekaboo plugin
...
https://plugins.jetbrains.com/plugin/25776-vim-peekaboo
2024-11-13 19:39:24 +02:00
Matt Ellis
4b7381901d
Fix bug removing map that is also a prefix
2024-11-13 17:57:31 +02:00
Matt Ellis
6e2cb9ba11
Reorder functions. No logic changes
2024-11-13 17:57:31 +02:00
Matt Ellis
91cd4ab01f
Add sequences to iterate keystroke trie
...
Allows iterating the trie entries without having to create a list or create a list for each entry's keystrokes.
2024-11-13 17:57:31 +02:00
Matt Ellis
34d23180bd
Avoid wrapping the keys list for each map attempt
2024-11-13 17:57:31 +02:00
Matt Ellis
fc5aaa50d8
Remove unnecessary hasmapfrom function
2024-11-13 17:57:31 +02:00
Matt Ellis
c7bbfdcaf5
Remove some test only functions
2024-11-13 17:57:31 +02:00
Matt Ellis
562906fe6d
Filter map output by prefix
...
Fixes VIM-2981
2024-11-13 17:57:31 +02:00
Matt Ellis
976771d11a
Implement smap and snoremap
...
Support for sunmap and smapclear already exists, and vmap would introduce a Select mode map.
Fixes VIM-2260
2024-11-13 17:57:31 +02:00
Matt Ellis
5fc4462b03
Support map!
to map insert and cmdline modes
...
Also supports `mapclear!` and `unmap!`
Moves parsing of the bang modifier to the parser so we can tell the difference between `map! foo bar` and `map ! foo bar`
2024-11-13 17:57:31 +02:00
Matt Ellis
5f263e7014
Fix output of maps with same keys in multiple modes
...
E.g. `map foo bar` and `vmap foo baz` would only output one map for `foo` when calling `:map`. Now it will output all maps that match the ex command's modes. This change also improves the marker characters in the first column of map output.
2024-11-13 17:57:31 +02:00
Matt Ellis
2f8fe392af
Use KeyStrokeTrie for maps
2024-11-13 17:57:31 +02:00
Matt Ellis
84c7e1159b
Introduce KeyStrokeTrie to find commands
...
Should also restore compatibility with idea-which-key
2024-11-13 17:57:31 +02:00
Matt Ellis
18d6f79796
Add missing C-PageUp/Down shortcuts to switch tab
...
Fixes VIM-2044
2024-11-13 17:52:28 +02:00
Matt Ellis
a745da9761
Add Shift+Enter mapping to scroll page forward
...
Fixes VIM-2752
2024-11-13 17:52:28 +02:00
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