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
Add the ability to have literal class names.
This helps with, but does not fully resolve:
classDiagram
doesn't allow colons in class names #1635I have also reduced the number of shift/reduce conflicts in the parser without breaking any test cases. In order to avoid introducing more conflicts in the future I have also added a test that counts the number of conflicts. It won't remove all the existing conflicts from the mainline branch, but it will make sure new ones are not introduced without being detected.
📏 Design Decisions
We've frequently discovered while using mermaid issues with the allowed class names. We work in Ruby, so not being able to have a double colon ("::") in our class names is a big blocker to switching to mermaid. This PR allows class name literals to be enclosed in backticks, so literal class names may be used even if they contain special characters.
📋 Tasks
Make sure you
develop
branch