本文整理汇总了TypeScript中vscode-languageserver.IConnection.onRenameRequest方法的典型用法代码示例。如果您正苦于以下问题:TypeScript IConnection.onRenameRequest方法的具体用法?TypeScript IConnection.onRenameRequest怎么用?TypeScript IConnection.onRenameRequest使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类vscode-languageserver.IConnection
的用法示例。
在下文中一共展示了IConnection.onRenameRequest方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的TypeScript代码示例。
示例1: initStylableLanguageService
//.........这里部分代码省略.........
async (params): Promise<Definition> => {
const doc = fs.loadTextFileSync(params.textDocument.uri);
const pos = params.position;
const res = await provider
.getDefinitionLocation(doc, {
line: pos.line,
character: pos.character
}, fromVscodePath(params.textDocument.uri), fs);
return res.map(loc => Location.create(toVscodePath(loc.uri), loc.range));
}
);
connection.onHover(
(params: TextDocumentPositionParams): Hover | null => {
return newCssService.doHover(fs.get(params.textDocument.uri), params.position);
}
);
connection.onReferences(
(params: ReferenceParams): Location[] => {
const refs = getRefs(params, fs, services.styl);
if (refs.length) {
return dedupeRefs(refs);
} else {
return dedupeRefs(newCssService.findReferences(fs.get(params.textDocument.uri), params.position));
}
}
);
connection.onDocumentFormatting(() => {
return null;
});
connection.onDocumentColor((params: DocumentColorParams) => {
const document = fs.get(params.textDocument.uri);
return resolveDocumentColors(services.styl, newCssService, document);
});
connection.onColorPresentation((params: ColorPresentationParams) => {
const document = fs.get(params.textDocument.uri);
return getColorPresentation(newCssService, document, params);
});
connection.onRenameRequest(
(params): WorkspaceEdit => {
const edit: WorkspaceEdit = { changes: {} };
getRenameRefs(
{
context: { includeDeclaration: true },
position: params.position,
textDocument: params.textDocument
},
fs,
services.styl
).forEach(ref => {
if (edit.changes![ref.uri]) {
edit.changes![ref.uri].push({ range: ref.range, newText: params.newName });
} else {
edit.changes![ref.uri] = [{ range: ref.range, newText: params.newName }];
}
});
return edit;
}
);
connection.onSignatureHelp(
(params): Thenable<SignatureHelp> => {
const doc: string = fs.loadTextFileSync(params.textDocument.uri);
const sig = provider.getSignatureHelp(
doc,
params.position,
params.textDocument.uri,
fs,
ParameterInformation
);
return Promise.resolve(sig!);
}
);
function dedupeRefs(refs: Location[]): Location[] {
const res: Location[] = [];
refs.forEach(ref => {
if (
!res.find(
r =>
r.range.start.line === ref.range.start.line &&
r.range.start.character === ref.range.start.character &&
r.uri === ref.uri
)
) {
res.push(ref);
}
});
return res;
}
}