# Support \`BlockWrappers\` altering layout

**URL:** <https://discuss.codemirror.net/t/support-blockwrappers-altering-layout/9652>\
**Category:** Uncategorized\
**Created:** [January 16, 2026, 8:15pm UTC](https://discuss.codemirror.net/t/support-blockwrappers-altering-layout/9652 "2026-01-16T20:15:12Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![benniekiss](https://discuss.codemirror.net/user_avatar/discuss.codemirror.net/benniekiss/32/5333_2.png) [@benniekiss](https://discuss.codemirror.net/u/benniekiss)\
**Post date:** [January 16, 2026, 8:15pm UTC](https://discuss.codemirror.net/t/support-blockwrappers-altering-layout/9652/1 "2026-01-16T20:15:12Z")

</div>

I’m writing a plugin to render pandoc divs using `BlockWrappers`. Everything is working quite nicely, and I have not run into any issues so far.

However, I was wondering if `BlockWrappers` which alter the layout should be supported, such as by assigning styles which change the `height`, `width`, `flex`, etc.

The use case I have is that [`pandoc` provides a `.columns` class](https://pandoc.org/MANUAL.html#columns), which internally assigns `flex` style attributes to render text in columns. This almost works with the current `BlockWrapper` implementation, except for the cursor position being incorrect when clicking in the document.

[Here is an example](https://codemirror.net/try/#c=aW1wb3J0IHttaW5pbWFsU2V0dXB9IGZyb20gImNvZGVtaXJyb3IiCmltcG9ydCB7RWRpdG9yVmlldywgVmlld1BsdWdpbiwgQmxvY2tXcmFwcGVyfSBmcm9tICJAY29kZW1pcnJvci92aWV3IgoKY29uc3QgY29sdW1uc1dyYXBwZXIgPSBCbG9ja1dyYXBwZXIuY3JlYXRlKHsKICB0YWdOYW1lOiAnY29sdW1ucycsCiAgYXR0cmlidXRlczogewogICAgc3R5bGU6ICdkaXNwbGF5OiBmbGV4OyBmbGV4LXdyYXA6IHdyYXA7IGJvcmRlcjogc29saWQgMXB4IHJlZDsnCiAgfQp9KQoKY29uc3QgY29sdW1uV3JhcHBlciA9IEJsb2NrV3JhcHBlci5jcmVhdGUoewogIHRhZ05hbWU6ICdjb2x1bW4nLAogIGF0dHJpYnV0ZXM6IHsKICAgIHN0eWxlOiAnZmxleDogYXV0bzsgYm9yZGVyOiBzb2xpZCAxcHggYmx1ZTsnCiAgfQp9KQoKZnVuY3Rpb24gY3JlYXRlV3JhcHBlciAodmlldykgewogIGNvbnN0IHJhbmdlcyA9IFtdCiAgCiAgY29uc3QgZmlyc3RMaW5lID0gdmlldy5zdGF0ZS5kb2MubGluZSgzKS5mcm9tCiAgY29uc3QgbGFzdExpbmUgPSB2aWV3LnN0YXRlLmRvYy5saW5lKDEwKS50bwoKICByYW5nZXMucHVzaChjb2x1bW5zV3JhcHBlci5yYW5nZShmaXJzdExpbmUsIGxhc3RMaW5lKSkKICAKICBjb25zdCBmaXJzdENvbHVtbkZyb20gPSB2aWV3LnN0YXRlLmRvYy5saW5lKDQpLmZyb20KICBjb25zdCBmaXJzdENvbHVtblRvID0gdmlldy5zdGF0ZS5kb2MubGluZSg2KS50bwoKICByYW5nZXMucHVzaChjb2x1bW5XcmFwcGVyLnJhbmdlKGZpcnN0Q29sdW1uRnJvbSwgZmlyc3RDb2x1bW5UbykpCiAgCiAgY29uc3Qgc2VjQ29sdW1uRnJvbSA9IHZpZXcuc3RhdGUuZG9jLmxpbmUoNykuZnJvbQogIGNvbnN0IHNlY0NvbHVtblRvID0gdmlldy5zdGF0ZS5kb2MubGluZSg5KS50bwoKICByYW5nZXMucHVzaChjb2x1bW5XcmFwcGVyLnJhbmdlKHNlY0NvbHVtbkZyb20sIHNlY0NvbHVtblRvKSkKCiAgcmV0dXJuIEJsb2NrV3JhcHBlci5zZXQocmFuZ2VzLCB0cnVlKQogIAp9Cgpjb25zdCBjb2x1bW5QbHVnaW4gPSBWaWV3UGx1Z2luLmZyb21DbGFzcyhjbGFzcyB7CiAgd3JhcHBlcnMKCiAgY29uc3RydWN0b3IgKHZpZXcpIHsKICAgIHRoaXMud3JhcHBlcnMgPSBjcmVhdGVXcmFwcGVyKHZpZXcpCiAgfQp9LCB7CiAgcHJvdmlkZTogcGx1Z2luID0+IEVkaXRvclZpZXcuYmxvY2tXcmFwcGVycy5vZigodmlldykgPT4gewogICAgcmV0dXJuIHZpZXcucGx1Z2luKHBsdWdpbik/LndyYXBwZXJzID8/IEJsb2NrV3JhcHBlci5zZXQoW10pCiAgfSkKfSkKCmNvbnN0IGluaXRpYWxEb2MgPSBgXApIZXJlIEFyZSBteSBjb2x1bW5zOgoKOjo6Ojo6Cjo6OgpDb2x1bW4gMQo6OjoKOjo6CkNvbHVtbiAyCjo6Ogo6Ojo6OjoKCkhlcmUgaXMgdGV4dCBiZWxvdyB0aGUgY29sdW1ucy4KClRoZSBjdXJzb3IgcG9zaXRpb24gYmVsb3cgdGhlIGNvbHVtbnMgaXMgaW5jb3JyZWN0LApzbyBjbGlja2luZyBvbiB0aGVzZSBsaW5lcyB3aWxsIGJlIGRpZmZpY3VsdC4KYAoKbmV3IEVkaXRvclZpZXcoewogIGRvYzogaW5pdGlhbERvYywKICBleHRlbnNpb25zOiBbbWluaW1hbFNldHVwLCBjb2x1bW5QbHVnaW5dLAogIHBhcmVudDogZG9jdW1lbnQuYm9keQp9KQo=), which renders two columns in essentially the same way as pandoc. You can reproduce the cursor behavior by trying to click on the lines below the columns to place the cursor.

Is this a bug, or just unsupported behavior?

---

<div class="post-metadata">

**Author:** ![marijn](https://discuss.codemirror.net/user_avatar/discuss.codemirror.net/marijn/32/136_2.png) [@marijn](https://discuss.codemirror.net/u/marijn)\
**Post date:** [January 16, 2026, 9:02pm UTC](https://discuss.codemirror.net/t/support-blockwrappers-altering-layout/9652/2 "2026-01-16T21:02:18Z")

</div>

> [@benniekiss](#):
>
> However, I was wondering if `BlockWrappers` which alter the layout should be supported

No, they are not. The assumption that lines and block widgets are arranged strictly vertically, with no margins, remains in effect.

---

<div class="post-metadata">

**Author:** ![benniekiss](https://discuss.codemirror.net/user_avatar/discuss.codemirror.net/benniekiss/32/5333_2.png) [@benniekiss](https://discuss.codemirror.net/u/benniekiss)\
**Post date:** [January 16, 2026, 9:55pm UTC](https://discuss.codemirror.net/t/support-blockwrappers-altering-layout/9652/3 "2026-01-16T21:55:57Z")

</div>

Thanks for the quick reply, and thanks for clarifying!
