public hover()

in server/src/blobStore.ts [237:259]


	public hover(uri: string, position: lsp.Position): lsp.Hover | undefined {
		const { range, blob } = this.findRangeFromPosition(this.toDatabase(uri), position);
		if (range === undefined || blob === undefined || blob.hovers === undefined) {
			return undefined;
		}
		let result = this.findResult(blob.resultSets, blob.hovers, range, 'hoverResult');
		if (result !== undefined) {
			return result;
		}
		const moniker = this.findMoniker(blob.resultSets, blob.monikers, range);
		if (moniker === undefined) {
			return undefined;
		}
		const qResult: BlobResult = this.findHoverStmt.get({ version: this.version, scheme: moniker.scheme, identifier: moniker.identifier });
		if (qResult === undefined) {
			return undefined;
		}
		result = JSON.parse(qResult.content.toString()) as lsp.Hover;
		if (result.range === undefined) {
			result.range = lsp.Range.create(range.start.line, range.start.character, range.end.line, range.end.character);
		}
		return result;
	}