Slide 37
Slide 37 text
Minimal plugin example
function create(info: ts.server.PluginCreateInfo) {
const getQuickInfoAtPosition = new Proxy(
info.languageService.getQuickInfoAtPosition,
{
apply(delegate, self, args) {
const result = delegate.apply(self, args);
if (!result) return;
return {
...result,
displayParts: [
{ text: "" },
...result.displayParts || [],
{ text: "" },
],
} as typeof result;
},
},
);
return {
...info.languageService,
getQuickInfoAtPosition,
};
}