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

Add compatibility checking for specs across contexts when grammars are activated #769

Open
LexiconCode opened this issue Mar 12, 2020 · 0 comments
Labels
1.0.0 Rewrite Related to the 1.0.0 rewrite. Caster Issues pertaining to primarily the Caster project. New Feature A new feature that is not currently implemented.

Comments

@LexiconCode
Copy link
Member

Currently the CCR merge process checks compatibility when adding a grammar. This would go one step further and check all grammars merger and mapping when activated.

Describe the solution you'd like
Imagine for a moment two contexts Navigation and Firefox.

Navigation has a command.
`next tab": R(Key("c-tab")) * Repeat(extra="n"),

Firefox has a command
`next tab": R(Key("c-t")) * Repeat(extra="n"),

They share the same spec but have different actions. if there was compatibility checking at grammar should always win if a global grammar has an identical spec.

This will make it easy to be consistent across all grammars without worrying about spec conflicts.

Describe alternatives you've considered
ContextAction could be used but it becomes cumbersome with two or three applications. I think it's use case is better for edge cases.

I'm currently not sure how this could be implemented but it's worth having documented in an issue.

@LexiconCode LexiconCode added New Feature A new feature that is not currently implemented. Caster Issues pertaining to primarily the Caster project. 1.0.0 Rewrite Related to the 1.0.0 rewrite. labels Mar 12, 2020
@LexiconCode LexiconCode changed the title Add compatibility checking across contexts when grammars are activated Add compatibility checking for specs across contexts when grammars are activated Mar 12, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
1.0.0 Rewrite Related to the 1.0.0 rewrite. Caster Issues pertaining to primarily the Caster project. New Feature A new feature that is not currently implemented.
Projects
None yet
Development

No branches or pull requests

1 participant