I personally disable this feature (`"rust-analyzer.completion.addCallArgumentSnippets": false`), as find it more distracting than useful. Parameter info popup and completion, if done right, should work just as good as holes.
Sadly, param info in code is
Conversation
Hmm, still seems like it generates broken code though? Like, it produces:
make::use_item(make::use_tree())
rather than something like:
make::use_item(make::use_tree({! !}, {! !}, {! !}))
Same goes for `match`, where this stuff becomes even more useful!
3
Sure, the code is broken, but I don't think that by itself this means worse UX. If the ide highlights the error, provides type-driven completions for arguments, and shows popup with expected parameter types/names/docs, then I think the UX would be as nice.
1
1
I guess I think it'd be really nice to be able to run the incomplete code, providing warnings at edit/compile time, and then panicking if the incomplete code is encountered at runtime. That way you can leave code incomplete, then come back to it later more smoothly.
1
I definitely agree the adding code completion and popups would be much nicer than how many implementations of holes do it, however. It would be really cool to see this stuff working together! 😊
1
But yeah, sorry if I've been overly enthusiastic on this! I definitely understand that time is limited and getting something like this into Rust would be a challenge. And I'm very grateful for the awesome editing experience we already have, it's amazing! 🥰
1
This Tweet is from a suspended account. Learn more
Oh, more talking to there - I know how exhausting OSS can be… especially when people nag you all the time, expecting the world from you when you only have so much to give, or a different design direction. 😟
1
💕I feel it's more me pushing my secret "you don't need a structural editor if you actually put an effort into an IDE" agenda :D
1
1
Heh, I guess I'm not sure why that needs to be in conflict with holes? Like, holes _can_ be used with structured editing (you might have seen them in MPS), but they can also be used to great effect in textual languages - like in the case of Agda and Haskell.
1
But yeah, I think if effort was put into the IDE side of things, they'd be even better! Like Agda has this awkward thing where you need to send/recieve stuff to the editor server manually. Where as this could be done in a more incremental way, with live autocomplete.

