alm
Version:
The best IDE for TypeScript
46 lines (45 loc) • 1.94 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var socketClient_1 = require("../../../../socket/socketClient");
var state = require("../../../state/state");
var monacoUtils_1 = require("../../monacoUtils");
function provideDocumentHighlights(model, position, token) {
var resource = model.uri;
if (!state.inActiveProjectFilePath(model.filePath)) {
return Promise.resolve([]);
}
return monacoUtils_1.onlyLastCallWithDelay(function () { return socketClient_1.server.getOccurrencesAtPosition({
filePath: model.filePath,
editorPosition: {
line: position.lineNumber - 1,
ch: position.column - 1,
}
}); }, token).then(function (res) {
// console.log(res.results); DEBUG
return res.results.map(function (entry) {
return {
range: {
startLineNumber: entry.start.line + 1,
startColumn: entry.start.ch + 1,
endLineNumber: entry.end.line + 1,
endColumn: entry.end.ch + 1,
},
kind: entry.isWriteAccess ? monaco.languages.DocumentHighlightKind.Write : monaco.languages.DocumentHighlightKind.Text
};
});
});
// return wireCancellationToken(token, this._worker(resource).then(worker => {
// return worker.getOccurrencesAtPosition(resource.toString(), this._positionToOffset(resource, position));
// }).then(entries => {
// if (!entries) {
// return;
// }
// return entries.map(entry => {
// return <monaco.languages.DocumentHighlight>{
// range: this._textSpanToRange(resource, entry.textSpan),
// kind: entry.isWriteAccess ? monaco.languages.DocumentHighlightKind.Write : monaco.languages.DocumentHighlightKind.Text
// };
// });
// }));
}
exports.provideDocumentHighlights = provideDocumentHighlights;