Open urandom opened 1 month ago
Related Issues and Documentation
(Emoji vote if this was helpful or unhelpful; more detailed feedback welcome in this discussion.)
Thanks for the report. This sounds like a bug in postfix completions.
Seems like it is this line. I don't think we have ever really established snippet best practices when placeholders are disabled. I guess it depends on how good the default placeholder values are. If we expect the user to normally want the default values, we should insert them (with no placeholder). If we expect the user to want to replace them, we should omit them and leave the cursor there so the user can type.
Personally I think we should address the usability issues with placeholders and get away from supporting a global no-placeholder mode for snippets. Turning off placeholders just doesn't make sense for most snippets. If there are still contentious uses of placeholders (e.g. func call params), we introduce specific config flags to control those individual uses.
Personally I think we should address the usability issues with placeholders and get away from supporting a global no-placeholder mode for snippets. Turning off placeholders just doesn't make sense for most snippets. If there are still contentious uses of placeholders (e.g. func call params), we introduce specific config flags to control those individual uses.
Turning off placeholders is currently more usable than having them on, at least for me. The placeholder completion results in code that is not syntactically correct - for function calls, it contains both argument names and their types. This causes a lot more work for people like me that are not used to snippet systems and their key bindings. More often than not, I end up having to manually delete the inserted types because I somehow "exited" the snippet. Perhaps if the placeholders being returned didn't contain the actual types, that would appease clumsy people like me as well. However, with signature help on, there's really no reason for me to have the placeholders in signatures in the first place.
gopls version
golang.org/x/tools/gopls v0.16.1
go env
What did you do?
I've disabled the
usePlaceholders
option, since having it enabled inserts invalid syntax, causing more work.Then I attempted to complete a
.var!
suffix completion on a function call, in order to have the variables defined.What did you see happen?
, := theFunctionThatWasCompleted()
What did you expect to see?
someVar, err := theFunctionThatWasCompleted()
Editor and settings
Zed:
Logs
No response