@kusto/monaco-kusto
Version:
CSL, KQL plugin for the Monaco Editor
18 lines (17 loc) • 716 B
JavaScript
export var createCompletionCacheManager = function (getFromLanguageService) {
var completionList;
var lastWord;
var lastPosition;
return {
getCompletionItems: function (word, resource, position) {
var didLinePositionChanged = !lastPosition || lastPosition.line !== position.line;
var shouldGetItems = didLinePositionChanged || !lastWord || !word || !(word === null || word === void 0 ? void 0 : word.includes(lastWord));
if (shouldGetItems) {
completionList = getFromLanguageService(resource, position);
}
lastWord = word;
lastPosition = position;
return completionList;
},
};
};