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