Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fleet #942

Merged
merged 40 commits into from
Jul 17, 2024
Merged

Fleet #942

merged 40 commits into from
Jul 17, 2024

Conversation

lippfi
Copy link
Contributor

@lippfi lippfi commented Jul 11, 2024

  • move output panels to vim-engine. slightly better logic (in some cases it required more keypresses than it was needed to close it)
  • no more secondary loops (1. It is Swing 2. There was a bug where this thing was running in background and eating key presses without command line active)
  • supported shortcuts in input prompts (e.g. expression register)

AFAIK after this commit the only Swing thing that will be left in IdeaVim is KeyStroke

lippfi added 30 commits July 11, 2024 23:56
Sometimes it may mean aborting interception (CTRL-C), sometimes finishing it (CR)
ExEntryPanel already extends JPanel, so we need a wrapper to make it extend VimModalInputBase
No matter what kind of panel we have, we want VimShortcutKeyAction to be triggered and pass the shortcut keys (e.g. CTRL-C to close panel)
`insertRegister` is self synchronized
It looks for the last selection info in all conditions, not the ones that were specified
We may create a command line via the VimCommandLineService and forget (or do not know) about calling startExEntry necessary. So we move its logic inside the creation of the command line
shouldRecord value was only updated in ModeInputConsumer when the key was not handled. But when the key is not handled, it is not passed to finishedCommandPreparation and the shouldRecord value is not used
We do not need the `doAll` condition (because the next code block with `doAll` adjusts line and column for the next match to be correct),
And the line2 can't be >= editor.lineCount()
Finally, moved confirmation dialog to modal input
It used secondary loop
Typing is more suitable for command lines than a modal input, and most likely it should be used instead
It is still possible to support typing by properly implementing the handleKey method
It was not used anywhere
@NotNull
@Override
public VimInputInterceptor<?> getInputInterceptor() {
return myInputInterceptor;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

myInputInterceptor is nullable, but the method is @NotNull.

@AlexPl292 AlexPl292 merged commit 90d36ee into master Jul 17, 2024
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants