Allow to import only certain parts of a library

Currently, this is what a library looks like, in our case, List utilities:

Now, say I want to import only assoc from there. I would have to manually delete every other block. This is also especially confusing when you have tons and tons of imports and can’t tell which blocks to remove. Maybe you can use DELETE BLOCK instead to skip the confirmation and delete the blocks faster, but that doesn’t change the fact that it’s awfully inconvenient.

My proposal: Checkbox menu where you can select what to import.
By default, all checkboxes are checked. Most people, will do this by muscle memory expecting all blocks to be imported. This is a mockup:


You can also right click on the empty space to select all or none, essentially mirroring Hide blocks or unused blocks. Problem solved!

I actually would love this, as I tend to import a library just for one block.

This is a frequent request. We’d actually have to do something a little more complicated, namely, import your one block and the transitive closure of its dependencies. (That is, its dependencies, and their dependencies, and so on.) I think it’s on Jens’s :tuit: list. :~)

Tracking dependencies shouldn’t be that difficult, because the export and unused blocks dialogs already do that, so the code already exists. I think the more complicated part would be actually partially loading the library without messing up the current project.

Rather than checkboxes, I would want to be able to drag blocks out of there.