Autocomplete inserts wrong extra characters with ~company+childframe~
I confirm that...
-
[X] I have searched the issue tracker, documentation, FAQ, Discourse, and Google, in case this issue has already been reported/resolved.
-
[X] I have read "How to Debug Issues", and will use it to provide as much information about this issue as possible.
-
[X] The issue can be reproduced on the latest available commit of Doom.
-
[X] The issue can be reproduced on a stable release of Emacs, such as 27 or 28. (Doom does not support development builds like 29+ or any version ending in .50 or .9x)
Expected behavior
When i use company with enabled childframe i expect correct autocompletion with typescipt-mode, for example, when i type console.lo and press completion, i expect console.log()
Current behavior
When I use autocomplete with the child frame enabled, I see wrong output, such as
console.log($1)$0() or 'asd'.replace(${1:searchValue}, ${2:replaceValue})$0(searchValue, replaceValue),
this did not happen for every autocomplete, but very often. There are no error messages. I tried to disable yasnippet (because I thought that was the real reason), but without success, moreover, after disabling it I observe even more incorrect characters
Steps to reproduce
- Open emacs with enabled (company +childframe)
- Open typescript or javascript project
- Enable lsp
- Start use autocomplete for methods or function like
console.loor'text'.repl
P.s. without +childframe it works fine.
System Information
https://pastebin.com/FcyccuAt
Just to add to this issue, I've been able to consistently reproduce this behaviour without +childframe enabled:
- Open javascript file with lsp-mode enabled (ts-ls)
- Type enough code for the autocomplete popup to appear.
- Press
C-hon any of the candidates to runcompany-show-doc-buffer - With the new buffer open in a new split, immediately press
<return>to runcompany-complete-selection
My examples:
const example = [];
example.at(${1:index})$0(index)
example.concat($1)$0()
example.flatMap(${1:callback}$2)$0(callback)
System Information: https://pastebin.com/nBMbVj8q
@pnguyen4 Thank you for sharing this! I have tried to disable showing documentation by company and it seems this helps with the issue. So, in case anyone needs a workaround:
(after! company
(setq company-box-doc-enable nil))
I experienced the same behavior. Also tried switching to corfu, but that didn't help.
Disabling documentation in company and corfu seems to solve it. Another workaround is to disable snippets:
(after! lsp-mode
(setq lsp-enable-snippet nil))
for me this issue went away after (re)-enabling the snippets module in init.el (doom! ... :editor snippets ...)