A language picker that floats over the code block holding the caret, so
the control is where the code is, rather than in a bar above the document.
Built on the same dropdown primitive as the rest of the chrome, so it
inherits the theme, focus ring, keyboard navigation and click-outside
behaviour instead of rendering an OS-styled <select>.
Setting a language writes the block's language attribute; the highlighter
re-tokenizes from there, and the document text never changes.
A language picker that floats over the code block holding the caret, so the control is where the code is, rather than in a bar above the document.
Built on the same dropdown primitive as the rest of the chrome, so it inherits the theme, focus ring, keyboard navigation and click-outside behaviour instead of rendering an OS-styled
<select>.Setting a language writes the block's
languageattribute; the highlighter re-tokenizes from there, and the document text never changes.