Add compatibility checking for specs across contexts when grammars are activated #769
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.
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
andFirefox
.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.
The text was updated successfully, but these errors were encountered: