mirror of
https://github.com/rust-lang/rust-analyzer
synced 2024-12-25 20:43:21 +00:00
vscode: fix vscode-vim keybindings conflict
vscode-vim extension overrides the `type` command so that it prevents some keypresses to reach the text document editor. It conflicts with our `onEnter` keybinding that is used to support automatic doc comments extending and indentation insertion. The VSCode-native way to implement this would be to use regular expressions, but as per matklad it is considered not acceptable for the language server. Thus we implement it via a `Enter` keybinding that invokes our `onEnter` command which sends a request to rust-analyzer process and applies the appropriate source change recieved from it. At the end of the day we may only apply ad hoc workarounds for conflicting extensions. But vscode has another bug for that. You either cannot use parantheses in `when` condition of a keybinding or it just malfunctions. See an issue about that here: https://github.com/microsoft/vscode/issues/91473 To get the ultimate context, follow this zulip thread: https://rust-lang.zulipchat.com/#narrow/stream/185405-t-compiler.2Fwg-rls-2.2E0/topic/Enhanced.20typing
This commit is contained in:
parent
d3040c0deb
commit
655c8337c0
1 changed files with 1 additions and 1 deletions
|
@ -162,7 +162,7 @@
|
|||
{
|
||||
"command": "rust-analyzer.onEnter",
|
||||
"key": "enter",
|
||||
"when": "editorTextFocus && !suggestWidgetVisible && editorLangId == rust"
|
||||
"when": "editorTextFocus && !suggestWidgetVisible && editorLangId == rust && !vim.active || vim.mode == 'Insert' && editorTextFocus && !suggestWidgetVisible && editorLangId == rust"
|
||||
}
|
||||
],
|
||||
"configuration": {
|
||||
|
|
Loading…
Reference in a new issue