Open pokey opened 11 months ago
Another potential problem here: this behaviour will likely be quite surprising with "name". If I say "clear every instance name" as a poor-man's rename, it wouldn't work, because the other instances won't be names 🤔
I am starting to get the feeling that "name", "first token", etc should downgrade to "token" for inference / instance, as they are most often the problem children for this kinda thing. They're often just used as a convenient way to target a token, rather than a semantically rich scope. Idk
Cc/ @josharian
I think the best way to answer that question is to play around with it a bit.
Which question?
Whether some scopes should be downgraded to token.
Right yeah I think that makes sense. On the first question of whether requiring "name" to be "name" for instance, I'm quite confident that would bite me
Update from meet-up:
We already do this when we detect that the input for "instance" is a token or word, but we should do it for other scopes. We should also construct a target of the right scope type. For example:
In this case,
"chuck two instances arg cap"
should give:Note how:
ccc
in= ccc +
because that is not an argumentccc
args, because it constructs args rather than untyped targetsI do wonder if this behaviour would be surprising? Would you see that
ccc
inconst ccc
as an instance of the same thing?Related:
Approach
scopeType
field toTarget
scopeType
when we find a match, just as we do for token and word targets ininstance
today