Skip to content

Consider improvements to the op-builder auto-complete #111

@hinerm

Description

@hinerm

Auto-complete in an IDE is a very useful way to explore a new API. My understanding is that this is part of the intent of the OpBuilder: exposing methods incrementally to guide the user to completion of an Op call.

However, this is what the OpBuilder auto-complete menu looks like in practice:
image
image
image

This is overwhelming and distracting to me. Some thoughts:

  • The acronyms, IT/OU/OT/etc... could just be written out verbosely. I can appreciate trying to save space, but when you have 60+ items in a menu it's more important to me to be able to distinguish them meaningfully.
  • Fundamentally I have two options at this step: input or inType with a variable number of arguments. All I really want is just one of each of these to be at the top of my suggestions list.
  • Because the input from Arity0 is at the top of the list, if I just hit enter my cursor will skip to the end of the parens and I won't be able to type what my actual inputs are without backtracking. I'm going to wager that more often than not we are running Ops on some sort of inputs. I would much prefer my cursor to end inside the parens and then be able to start typing my inputs.
  • I can understand the appeal of displaying all the different arities, but really I'm used to just typing params in a comma-separated way. This list of arities isn't actually tied to the Op I called so there's no correlation if most of these options make sense (and in fact, I believe most will not be applicable for a given Op).

So, I would personally prefer to just see a single-param or varargs input and inType at the top of the suggestions, potentially followed by zero-param versions. I think that would be both sufficient and more useful.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions