-
Notifications
You must be signed in to change notification settings - Fork 5
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
Support symex implemented as a lithium mode #22
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Checks if there is a lithium mode active, and otherwise uses evil state.
Now that Lithium supports mode "stacks," in some cases (i.e. native → foreign transition), we want the native mode to be preserved and the new one just pushed onto the mode stack. So in such cases, we do not exit the source mode before entering the target.
Don't attempt to enter any other mode, as with the mode stack, there should already be an active mode once the foreign mode has been exited (popped).
We no longer rely on the evil state as the source of truth on what the current mode is (except for evil-backed states, which currently are just the built-in evil states). But we do still rely on evil for UI feedback, to indicate visually which mode we are in, even for modes that are not evil-backed. We do this just because there is existing infrastructure for this for Evil, in the form of mode line enhancements and perhaps other things. Eventually we will likely want to move away from this, but for now, the only thing we still need to do upon exiting forreign modes is to enter the appropriate evil state for UI feedback purposes, which we do now instead of attempting to enter any particular local mode (which we don't need to do since there would still be a local mode on the stack upon foreign mode exit).
We no longer want to rely on evil as the source of truth for the "current mode."
6f99d62
into
lightweight-modal-interface
0 of 8 checks passed
1 task
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary of Changes
Support symex implemented as a lithium mode.
Once this is merged into main (note this PR is against the lithium branch which will eventually be merged to main), Rigpa will only support Symex implemented as a Lithium mode, so it will specifically need Symex's
2.0-integration
branch until that itself is merged to main.Public Domain Dedication
(Why: The freely released, copyright-free work in this repository represents an investment in a better way of doing things called attribution-based economics. Attribution-based economics is based on the simple idea that we gain more by giving more, not by holding on to things that, truly, we could only create because we, in our turn, received from others. As it turns out, an economic system based on attribution -- where those who give more are more empowered -- is significantly more efficient than capitalism while also being stable and fair (unlike capitalism, on both counts), giving it transformative power to elevate the human condition and address the problems that face us today along with a host of others that have been intractable since the beginning. You can help make this a reality by releasing your work in the same way -- freely into the public domain in the simple hope of providing value. Learn more about attribution-based economics at drym.org, tell your friends, do your part.)