add example for inlay hints

This commit is contained in:
hamidreza kalbasi 2021-08-27 12:53:29 +04:30
parent 14965508c7
commit 104b0cb587
4 changed files with 41 additions and 0 deletions

View file

@ -0,0 +1 @@
<div id="container" style="height:100%;"></div>

View file

@ -0,0 +1,38 @@
const value = `
const f = (a, b) => a + b;
const result = f(2, 5);
`;
const editor = monaco.editor.create(document.getElementById("container"), {
value,
language: "javascript"
});
monaco.languages.registerInlayHintsProvider('javascript', {
provideInlayHints(model, range, token) {
return [{
kind: monaco.languages.InlayHintKind.Type,
position: { column: 13, lineNumber: 4 },
text: `: Number`,
}, {
kind: monaco.languages.InlayHintKind.Type,
position: { column: 13, lineNumber: 2 },
text: `: Number`,
}, {
kind: monaco.languages.InlayHintKind.Type,
position: { column: 16, lineNumber: 2 },
text: `: Number`,
whitespaceBefore: true, // see difference between a and b parameter
}, {
kind: monaco.languages.InlayHintKind.Parameter,
position: { column: 18, lineNumber: 4 },
text: `a:`,
}, {
kind: monaco.languages.InlayHintKind.Parameter,
position: { column: 21, lineNumber: 4 },
text: `b:`,
whitespaceAfter: true, // similar to whitespaceBefore
}]
}
});