Skip to content(if available)orjump to list(if available)

Flowistry: An IDE plugin for Rust that focuses on relevant code

btown

Does this exist for larger/more informal dependency relationships within a function body?

For instance, if I highlight a parameter or variable foo, can I see not only all usages of foo itself, but usages of any variable that was derived from foo?

While borrow usage makes this foolproof, this type of visualization would be tremendously useful for even other types of code.

(As for Flowistry, I can see this being vital for anyone trying to maintain e.g. https://github.com/servo/servo/blob/main/components/layout/f... - perhaps the most daunting single file in a modern codebase I've ever seen! And yes, that's a 400-line function.)

sheepscreek

Just the other day I was experimenting with moving over a big chunk of a C# codebase (heavy on allocations) to Rust, and the Rust code quickly became very cluttered. C# reads better but is a bit more verbose. Rust is more compact and sometimes very dense.

To make it easier to scan through long files, I wished for an extension that could make the traits appear a few shades darker. This might be even better. Going to give it a try tonight.

yoyohello13

Looks cool, but why say 'IDE' instead of just VSCode plugin?

jryio

The author has a nice talk diving deep into the routines research and the plugin in a Rust East Coast talk here: https://youtu.be/aYmuMlzvjvc

Groxx

looks fantastic, and rust is probably a great language for this since ownership restricts effects - even if you add it to python, you can't really trust it, because at runtime you can just run up a call stack and modify memory at any time. (though I would still definitely want it, as it's usually going to be correct)

wcrichton

(Author here) That's exactly why I built this for Rust, and why it's difficult to replicate in any other language.

ttoinou

I’ve always dreamed about this + also how the data flows from the outside (who calls this function)

Couldnt we re-use data from the compiler to help with that ?

ivape

This is an interesting way to do micro context engineering. This is basically pulling in the minimum relevant code for your current concern, and then you can just sprinkle on some instructions and send off your prompt. Might work reasonably well for very small local models, or just generally cheap inferencing on the server.

I love this plugin btw.

habitue

These kinds of tools should be standard in understanding code

user-

Anyone have suggestions for similar tooling for other languages?

brundolf

Super cool! I assume it plays nice with rust-analyzer?

marcelr

this looks fantastic

would love this for typescript

fHr

Nice plugin, will try this out tomorrow!