DroppyMarkdownToolbarAction

A formatting command a droplet's toolbar can send to the host editor (DroppyKit 0.2.2).

enum DroppyMarkdownToolbarAction

The droplet renders its own formatting bar, which is presentation and belongs to the droplet, and sends intent. The host owns every mutation of the text storage, so the TextKit root-retention invariant stays host-side no matter what a droplet does.

Deliberately a closed enum, unlike DropletPermission, which became an open struct in 0.3.0 for the mirror-image reason. The direction of travel decides it: droplets only ever construct these values and hand them to the host, which owns the one exhaustive switch. Adding a case is therefore additive for every droplet (it simply never sends the new one) and breaks only the host, which ships the case and the switch in the same build. A capability string travels the other way, from an untrusted manifest into droplet and host code that both switch on it, which is why that one had to open up.

Cases

DroppyMarkdownToolbarAction.heading(_:)

case heading(Int)

Heading levels 1 through 4. The host ignores out-of-range levels.

DroppyMarkdownToolbarAction.bold

case bold

DroppyMarkdownToolbarAction.italic

case italic

DroppyMarkdownToolbarAction.underline

case underline

DroppyMarkdownToolbarAction.highlight

case highlight

DroppyMarkdownToolbarAction.bullet

case bullet

DroppyMarkdownToolbarAction.numbered

case numbered

DroppyMarkdownToolbarAction.checklist

case checklist

DroppyMarkdownToolbarAction.table

case table

DroppyMarkdownToolbarAction.indent

case indent

DroppyMarkdownToolbarAction.unindent

case unindent