Take into account wordCompletionRemoveTail in completionRange() default implementation
If the wordCompletionRemoveTail option is enabled CodeCompletionModelControllerInterface::completionRange() will return a range containing the whole word the cursor is inside, which means that the whole word will be replaced by the selected completion; however if that option is disabled then it'll return a range containing only the part of the word on the left of the cursor.
This simplifies the code:
- KateWordCompletionModel::completionRange() is now redundant (finding the word start/end is already done in CodeCompletionModelControllerInterface::completionRange())
- KateWordCompletionModel::executeCompletionItem() doesn't need to find the end of the word being completed, less code
The Kate plugins that implement their own completion models, e.g. KateProjectCompletion, can now remove their implementation of completionRange() (which is a copy of KateWordCompletionModel::completionRange()); and the LSPClient plugin completion model now should automatically follow the wordCompletionRemoveTail config option.
Edited by Christoph Cullmann