1
0

sample.js 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. const value = `
  2. const f = (a, b) => a + b;
  3. const result = f(2, 5);
  4. `;
  5. const editor = monaco.editor.create(document.getElementById('container'), {
  6. value,
  7. language: 'javascript'
  8. });
  9. monaco.languages.registerInlayHintsProvider('javascript', {
  10. provideInlayHints(model, range, token) {
  11. return [
  12. {
  13. kind: monaco.languages.InlayHintKind.Type,
  14. position: { column: 13, lineNumber: 4 },
  15. text: `: Number`
  16. },
  17. {
  18. kind: monaco.languages.InlayHintKind.Type,
  19. position: { column: 13, lineNumber: 2 },
  20. text: `: Number`
  21. },
  22. {
  23. kind: monaco.languages.InlayHintKind.Type,
  24. position: { column: 16, lineNumber: 2 },
  25. text: `: Number`,
  26. whitespaceBefore: true // see difference between a and b parameter
  27. },
  28. {
  29. kind: monaco.languages.InlayHintKind.Parameter,
  30. position: { column: 18, lineNumber: 4 },
  31. text: `a:`
  32. },
  33. {
  34. kind: monaco.languages.InlayHintKind.Parameter,
  35. position: { column: 21, lineNumber: 4 },
  36. text: `b:`,
  37. whitespaceAfter: true // similar to whitespaceBefore
  38. }
  39. ];
  40. }
  41. });