lsp: Adjust completion range to replace based on server data
Some server send over completion's for a range whose start is before the position we requested completion for e.g., import package:mypackage/[Cursor] The server might send in a completion "package:mypackage..." for a range that starts right after "import". With our current implementation we end up having something like: import package:mypackage/package:mypackage/somefile[Cursor] If the server sent a CompletionItem.textEdit.range and that range's start is different than what we have, perfer the server. This leads to better completion because the server might be supplying items for a bigger range than just the current word under cursor. Tested with 2 servers dart and clangd and haven't noticed any odd behaviour in the last 2 days.
Please register or sign in to comment