Conversation

This Tweet is from a suspended account. Learn more
Yeah, that's what I do - feels a bit hacky though, and can't really put them in patterns. Also can't use them interactively for case splitting etc. like in Agda, Idris, Haskell, etc.
1
1
One example is function completion, where it inserts a function call with argument names pulled from the parameters (which may not exist in scope). It would be super nice if it inserted a function call with a bunch of holes that you could jump to and fill interactively… 😅
2
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
1
1
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
I mean, the proposal still seems like an improvement, but it would be neat to see more support for manipulating unfinished code. `todo!()` works sometimes, but it's limited in where it can be used, and can't be manipulated and jumped to in the editor.
2
1