# ProseMirror Flat list (Alpha)

**URL:** <https://discuss.prosemirror.net/t/prosemirror-flat-list-alpha/5191>\
**Category:** Show\
**Created:** [February 6, 2023, 2:23pm UTC](https://discuss.prosemirror.net/t/prosemirror-flat-list-alpha/5191 "2023-02-06T14:23:14Z")\
**Posts on this page:** 9\
**Page:** 2

<div class="post-metadata">

**Author:** ![Saul-Mirone](https://discuss.prosemirror.net/user_avatar/discuss.prosemirror.net/saul-mirone/32/4160_2.png) [@Saul-Mirone](https://discuss.prosemirror.net/u/Saul-Mirone)\
**Post date:** [March 24, 2023, 7:54am UTC](https://discuss.prosemirror.net/t/prosemirror-flat-list-alpha/5191/21 "2023-03-24T07:54:11Z")

</div>

Some wrapper framework of prosemirror may want to limit the schema groups. For example, in Milkdown, I expect everything under `doc` should be `block`.

---

<div class="post-metadata">

**Author:** ![ocavue](https://discuss.prosemirror.net/user_avatar/discuss.prosemirror.net/ocavue/32/2239_2.png) [@ocavue](https://discuss.prosemirror.net/u/ocavue)\
**Post date:** [March 24, 2023, 9:16am UTC](https://discuss.prosemirror.net/t/prosemirror-flat-list-alpha/5191/23 "2023-03-24T09:16:41Z")

</div>

I did add a hard coded `block` into `group`. I guess this should be good enough for almost all cases.

> <https://github.com/ocavue/prosemirror-flat-list/blob/a45842afb76fc71b1e075e02a39bdfcfba70c851/packages/core/src/schema/spec.ts#L21>

---

<div class="post-metadata">

**Author:** ![sereneinserenade](https://discuss.prosemirror.net/user_avatar/discuss.prosemirror.net/sereneinserenade/32/2541_2.png) [@sereneinserenade](https://discuss.prosemirror.net/u/sereneinserenade)\
**Post date:** [March 29, 2023, 7:50am UTC](https://discuss.prosemirror.net/t/prosemirror-flat-list-alpha/5191/24 "2023-03-29T07:50:17Z")

</div>

Hey @ocavue, just wanted to thank you for creating prosemirror-flat-list. It’s been a lot of help 💪.

---

<div class="post-metadata">

**Author:** ![reads21](https://discuss.prosemirror.net/user_avatar/discuss.prosemirror.net/reads21/32/2893_2.png) [@reads21](https://discuss.prosemirror.net/u/reads21)\
**Post date:** [November 22, 2023, 1:39pm UTC](https://discuss.prosemirror.net/t/prosemirror-flat-list-alpha/5191/25 "2023-11-22T13:39:54Z")

</div>

@ocavue : Tab seems to be still blocked . Are you planning to allow it . I tried tab on non list nodes as well in your example at [https://prosemirror-flat-list.netlify.app/](https://prosemirror-flat-list.netlify.app/) but it doesnt allow.

---

<div class="post-metadata">

**Author:** ![ocavue](https://discuss.prosemirror.net/user_avatar/discuss.prosemirror.net/ocavue/32/2239_2.png) [@ocavue](https://discuss.prosemirror.net/u/ocavue)\
**Post date:** [November 22, 2023, 1:57pm UTC](https://discuss.prosemirror.net/t/prosemirror-flat-list-alpha/5191/26 "2023-11-22T13:57:53Z")

</div>

@reads21

By default, only `Mod-[` and `Mod-]` are used. You would need to add the binding for `Tab` and `Shift-Tab` yourself if you want. Here is an example: [https://github.com/ocavue/prosemirror-flat-list/blob/b5f2400136a858f8ed5422216eef92328394c39c/packages/remirror-extension/src/extension.ts#L53-L61](https://github.com/ocavue/prosemirror-flat-list/blob/b5f2400136a858f8ed5422216eef92328394c39c/packages/remirror-extension/src/extension.ts#L53-L61)

---

<div class="post-metadata">

**Author:** ![dwzkit](https://discuss.prosemirror.net/user_avatar/discuss.prosemirror.net/dwzkit/32/4077_2.png) [@dwzkit](https://discuss.prosemirror.net/u/dwzkit)\
**Post date:** [November 24, 2023, 12:31pm UTC](https://discuss.prosemirror.net/t/prosemirror-flat-list-alpha/5191/28 "2023-11-24T12:31:47Z")

</div>

I see that the provided example([https://github.com/ocavue/prosemirror-flat-list/blob/b5f2400136a858f8ed5422216eef92328394c39c/packages/remirror-extension/src/extension.ts#L53-L61](https://github.com/ocavue/prosemirror-flat-list/blob/b5f2400136a858f8ed5422216eef92328394c39c/packages/remirror-extension/src/extension.ts#L53-L61)) is based on remirror. does it also support prosemirror? Or does the native prosemirror version require modifications to the source code through hard coding?

---

<div class="post-metadata">

**Author:** ![ViktorVaczi](https://discuss.prosemirror.net/user_avatar/discuss.prosemirror.net/viktorvaczi/32/1919_2.png) [@ViktorVaczi](https://discuss.prosemirror.net/u/ViktorVaczi)\
**Post date:** [November 26, 2023, 4:25am UTC](https://discuss.prosemirror.net/t/prosemirror-flat-list-alpha/5191/30 "2023-11-26T04:25:30Z")

</div>

It supports PM.

---

<div class="post-metadata">

**Author:** ![dwzkit](https://discuss.prosemirror.net/user_avatar/discuss.prosemirror.net/dwzkit/32/4077_2.png) [@dwzkit](https://discuss.prosemirror.net/u/dwzkit)\
**Post date:** [November 26, 2023, 2:58pm UTC](https://discuss.prosemirror.net/t/prosemirror-flat-list-alpha/5191/31 "2023-11-26T14:58:54Z")

</div>

In the ProseMirror version, I didn’t see a method to override `Mod-[` and `Mod-]` using something similar to the `createKeymap` found in the Remirror version. Therefore, I directly hard-coded the addition of Tab and Shift-Tab.

 ![图片](https://discuss.prosemirror.net/uploads/secondsite/original/2X/1/13c875db5ff171a43d498a58612ee52a9ed63411.png)

---

<div class="post-metadata">

**Author:** ![zlunar616](https://discuss.prosemirror.net/user_avatar/discuss.prosemirror.net/zlunar616/32/3672_2.png) [@zlunar616](https://discuss.prosemirror.net/u/zlunar616)\
**Post date:** [December 7, 2023, 9:52am UTC](https://discuss.prosemirror.net/t/prosemirror-flat-list-alpha/5191/32 "2023-12-07T09:52:34Z")

</div>

Hi. Did you manage to do it?

[Previous page](https://discuss.prosemirror.net/t/prosemirror-flat-list-alpha/5191.md?page=1)
