Skip to content

Adopt injected text infrastructure for other features #132537

@hediet

Description

@hediet

Users of IModelDecorationOptions.beforeContentClassName or IModelDecorationOptions.afterContentClassName:


Users of IThemeDecorationRenderOptions.before or IThemeDecorationRenderOptions.after:


Users of IThemeDecorationRenderOptions.beforeInjectedText or IThemeDecorationRenderOptions.afterInjectedText:


Users of IThemeDecorationInstanceRenderOptions.after:


Sample showing how we could render a color box:

image

var jsCode = [
  '"use strict";',
  "function Person(age) {",
  "	if (age) {",
  "		this.age = age;",
  "	}",
  "}",
  "Person.prototype.getAge = function () {",
  "	return this.age;",
  "};",
].join("\n");

var editor = monaco.editor.create(document.getElementById("container"), {
  value: jsCode,
  language: "javascript",
});

var decorations = editor.deltaDecorations(
  [],
  [
    {
      range: new monaco.Range(3, 6, 3, 7),
      options: {
        after: {
          content: " ",
          inlineClassName: "special-box",
          inlineClassNameAffectsLetterSpacing: true,
        }
      }
    }
  ]
);
.special-box {
  border: solid 0.1em #000;
  box-sizing: border-box;
  margin: 0.1em 0.2em 0 0.2em;
  width: 0.8em;
  height: 0.8em;
  background-color:red;
  line-height: 0.8em;
  display: inline-block;
}

Metadata

Metadata

Assignees

Labels

debtCode quality issues

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions