astro-ghostcms/.pnpm-store/v3/files/77/e758c6b26ad6c2f75ccc410e76f...

35 lines
1.3 KiB
Plaintext

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.register = void 0;
const shared_1 = require("../shared");
const transforms_1 = require("../utils/transforms");
function register(ctx) {
return (uri, position, referenceContext) => {
const document = ctx.getTextDocument(uri);
if (!document)
return [];
const fileName = ctx.uriToFileName(document.uri);
const offset = document.offsetAt(position);
const references = (0, shared_1.safeCall)(() => ctx.languageService.findReferences(fileName, offset));
if (!references)
return [];
const result = [];
for (const reference of references) {
if (referenceContext.includeDeclaration) {
const definition = (0, transforms_1.entryToLocation)(reference.definition, ctx);
if (definition) {
result.push(definition);
}
}
for (const referenceEntry of reference.references) {
const reference = (0, transforms_1.entryToLocation)(referenceEntry, ctx);
if (reference) {
result.push(reference);
}
}
}
return result;
};
}
exports.register = register;
//# sourceMappingURL=references.js.map