Skip to content

New cell type where each line is logically its own cell #9959

Description

@leoadberg

Description

Right now I iterate on some Marimo notebooks with quite expensive downstream cells. This makes it annoying to add a new import at the top or tune a config variable that might impact only a subset of the downstream cells dependent on any variable defined in the config cell.

One obvious solution I currently reach for is to split up every import and config variable into its own cell, but this is incredibly verbose and annoying to manage in the UI.

A better solution would be a new cell type that appears as a unified code editor but logically splits each line within the cell into its own underlying cell, so that modifying one line or adding a new line only impacts the cells dependent on that variable.

This feels largely doable as purely a frontend change where each cell is split on the backend and just joined visually on the frontend.

This would come with restrictions of course: no indented logic within the cell, no cell-local variables (i.e. starting with _), no redefining variables on a different line of the cell. But all of the code I keep in this structure already conforms to those standards anyway, and it'd be a huge quality of life increase!

If this feature is something the team is open to but doesn't have the bandwidth to do themselves, I'd be open to putting up a PR.

Are you willing to submit a PR? (You must receive approval from the team before submitting a PR.)

  • Yes

Alternatives

No response

Additional context

No response

Metadata

Metadata

Assignees

No one assigned
    No fields configured for Feature.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions