All Downloads are FREE. Search and download functionalities are using the official Maven repository.

ai.vespa.schemals.context.EventPositionContext Maven / Gradle / Ivy

There is a newer version: 8.441.21
Show newest version
package ai.vespa.schemals.context;

import org.eclipse.lsp4j.Position;
import org.eclipse.lsp4j.TextDocumentIdentifier;

import ai.vespa.schemals.SchemaMessageHandler;
import ai.vespa.schemals.common.StringUtils;
import ai.vespa.schemals.index.SchemaIndex;
import ai.vespa.schemals.schemadocument.SchemaDocumentScheduler;

public class EventPositionContext extends EventDocumentContext {
    public final Position position;
    public final Position startOfWord;

    public EventPositionContext(
        SchemaDocumentScheduler scheduler,
        SchemaIndex schemaIndex,
        SchemaMessageHandler messageHandler,
        TextDocumentIdentifier documentIdentifier,
        Position position
    ) throws InvalidContextException {
        super(scheduler, schemaIndex, messageHandler, documentIdentifier);
        this.position = position;

        Position result = StringUtils.getPreviousStartOfWord(document.getCurrentContent(), position);
        this.startOfWord = (result != null ? result : position);
    }

    public Position startOfWord() {
        return this.startOfWord;
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy