Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Non-argument Values from Prefix #158

Open
psionic-k opened this issue Oct 4, 2021 · 1 comment
Open

Non-argument Values from Prefix #158

psionic-k opened this issue Oct 4, 2021 · 1 comment
Labels
enhancement New feature or request

Comments

@psionic-k
Copy link
Contributor

Currently the transient-arguments ignores lisp variables and other variable types. Getting the values out of a prefix is honestly pretty painful if the expectation was to call (transient-variables 'prefix-symbol) and obtain a plist of keys and values. Even keys and suffixes would be nice. Digging the information out of transient-current-suffixes is not convenient or obvious. transient-arg-value seems appropriate only for extracting CLI style information.

@psionic-k
Copy link
Contributor Author

psionic-k commented Oct 21, 2021

I realized what needs to happen here has a bit of a relationship with flow control.

Emacs commands generally use cooperative argument passing - if the arguments are not passed in, the interactive form knows how to get them from the user.

We could use a simple expression to recover the values when launching a child prefix and then also look for "return" values when re-entering a parent prefix. I need to verify if transient-setup will re-enter the commands whenever the stack is popping.

Flow control change in #167 is related

Basically I think we can streamline cooperative argument passing between child and parent prefixes so that there is a "scope" throughout the life of transient prefix graphs. I was drawing up a few designs. There's a lot to consider about having a child set a parents switch, accumulation of values in long command graphs that might happen if, for instance, you made transient for tetris. Want to keep it clean but support reasonable user API's. Haven't decided yet.

@tarsius tarsius added the enhancement New feature or request label Sep 14, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants