Skip to content

REPL keyboard shortcuts and autocomplete broken in >= 2.0.67 #515

Closed
@elldritch

Description

This bug is report going to be really weird.

I had an infinite loop in my REPL which wasn't responding to ctrl+d and was also making VS Code unresponsive, so I killed VSC with xkill.

This looks like it's happening due to an upgrade to Calva >= 2.0.67 that occurred after my editor restarted.

Some symptoms I'm seeing:

  • My backspace and delete keys don't work in the REPL window (I'll hit backspace and the character won't delete) nor do enter, alt+enter, or alt+up/down (nothing happens) when I first connect the REPL. Curiously, ctrl+l and shift+arrow (to select) work fine.
  • After I focus another window (not the VS Code window) and go back, my REPL works again. My REPL stops working again after I focus an editor tab.
  • For some reason, opening "Keyboard shortcuts" also causes my REPL window to start working again the same as if I focused another window (and similarly, focusing another editor tab causes my REPL window to stop working again).
  • When my REPL does work, autocomplete is adding characters after my cursor rather than finishing my word (e.g. autocompleting (fo with foobar will result in (fofoobar rather than (foobar).

Some other weirdness that I think might be unrelated:

  • On latest Calva (2.0.68), my REPL has a sans-serif font rather than the usual monospace one. This might actually have just been unfortunate timing - VSC restarting may have coincided with 2.0.68 being released with 33abe9b which I'm pretty sure is the cause.
    • All sorts of extra things break with the sans-serif proportional font (e.g. highlighting for selected characters in the REPL is misaligned with the actual rendered characters - the highlights act as if they are selecting invisible monospace characters), but this is honestly the least of my problems right now and I've gotten along by downgrading to 2.0.67.

Some things I have tried:

  • Reinstalling Calva
  • Downgrading Calva
  • rm -rf $HOME/.vscode/extensions/{calva folders} before reinstalling
  • Disabling and re-enabling Calva
  • Rebooting the machine
  • lein clean

At this point I'm out of ideas. As far as I can tell, I have reset the extension, reset my REPL, reset VSC, and restarted my computer. I have no idea what else could be breaking.

I think what is happening here is that the keyboard input in the REPL window is being disabled because so many of the bindings are active when calva:replWindowActive, and something is causing this property to not be true.

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions