@Override
	public List<CompletionItem> getCompletionItems(EventCompletionContext context) {
        Node clean = CSTUtils.getLastCleanNode(context.document.getRootNode(), context.position);
        if (clean == null) return List.of();

        List<CompletionItem> result = new ArrayList<>();
        if (matchFunctionCompletion(context,clean)) {

            result.addAll(getUserDefinedFunctions(context, clean));
            result.addAll(builtinFunctionCompletions);

        } else {
            result.addAll(getFunctionPropertyCompletion(context, CSTUtils.getNodeAtPosition(context.document.getRootNode(), context.startOfWord())));
        }
        return result;
	}
Compute completion snippets for all the builtin ranking features using the signatures
in {@link BuiltInFunctions}.
integration/schema-language-server/language-server/src/main/java/ai/vespa/schemals/lsp/schema/completion/provider/RankingExpressionCompletion.java