本文整理汇总了TypeScript中vscode-languageserver.IConnection.onCompletionResolve方法的典型用法代码示例。如果您正苦于以下问题:TypeScript IConnection.onCompletionResolve方法的具体用法?TypeScript IConnection.onCompletionResolve怎么用?TypeScript IConnection.onCompletionResolve使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类vscode-languageserver.IConnection
的用法示例。
在下文中一共展示了IConnection.onCompletionResolve方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: generateFromLocal
generateFromLocal(file, existingText, realOffset + 1, document);
_.forEach(localModules, (m) => {
result.push(_.pick(m, ['label', 'kind', 'data', 'sortText']) as NodeModuleCompletion);
});
return result as CompletionItem[];
});
// This handler resolve additional information for the item selected in
// the completion list.
connection.onCompletionResolve((item: CompletionItem): CompletionItem => {
var val = _.find(builtins, (b) => b.data == item.data) || _.find(nodeModules, (b) => b.data == item.data) || _.find(localModules, (b) => b.data == item.data);
if (val) {
item.detail = val.detail;
item.documentation = val.documentation;
item.insertText = val.insertText;
item.sortText = val.sortText;
}
return item;
});
let t: Thenable<string>;
/*
connection.onDidOpenTextDocument((params) => {
// A text document got opened in VSCode.
// params.textDocument.uri uniquely identifies the document. For documents store on disk this is a file URI.
// params.textDocument.text the initial full content of the document.
connection.console.log(`${params.textDocument.uri} opened.`);
});
示例2: getDocumentSettings
if (mode && mode.doComplete) {
if (mode.getId() !== 'html') {
connection.telemetry.logEvent({ key: 'html.embbedded.complete', value: { languageId: mode.getId() } });
}
let settings = await getDocumentSettings(document, () => mode.doComplete.length > 2);
return mode.doComplete(document, textDocumentPosition.position, settings);
}
return { isIncomplete: true, items: [] };
});
connection.onCompletionResolve(item => {
let data = item.data;
if (data && data.languageId && data.uri) {
let mode = languageModes.getMode(data.languageId);
let document = documents.get(data.uri);
if (mode && mode.doResolve && document) {
return mode.doResolve(document, item);
}
}
return item;
});
connection.onHover(textDocumentPosition => {
let document = documents.get(textDocumentPosition.textDocument.uri);
let mode = languageModes.getModeAtPosition(document, textDocumentPosition.position);
if (mode && mode.doHover) {
return mode.doHover(document, textDocumentPosition.position);
}
return null;
});
示例3: completeSJS
allCompletions = allCompletions.concat(allMlXqyNamespaces)
}
return allCompletions
};
function completeSJS(document: TextDocument, offset: number): CompletionItem[] {
let allCompletions: CompletionItem[] = [];
let theseTokens = getTheseTokens(document, offset)
// shortcircuit: don't complete on colon in Javascript
if (theseTokens.slice(-1)[0] === ":") {return allCompletions}
if (theseTokens.slice(-1)[0] === "." && theseTokens.slice(-2)[0].match(jwv)) {
let namespace: string = theseTokens.slice(-2)[0]
allCompletions = allCompletions.concat(allMlSjsFunctions(namespace))
} else if (theseTokens.slice(-2)[0].match(jwv) && theseTokens.slice(-1)[0] === ".") {
let namespace: string = theseTokens.slice(-3)[0]
allCompletions = allCompletions.concat(allMlSjsFunctions(namespace))
} else if (allCompletions.length === 0 || allCompletions[0].kind === CompletionItemKind.Class) {
allCompletions = allCompletions.concat(allMlSjsNamespaces)
}
return allCompletions
}
connection.onCompletionResolve((item: CompletionItem): CompletionItem => {
return item;
});