-
Notifications
You must be signed in to change notification settings - Fork 18
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
Some idea to allow extending MarkupNode with own cases? #3
Comments
That depends on what you want to add 😄. Could you please be more specific? |
I.e. add case superscript([MarkupNode]) and many more. |
Ok, so you want to add more delimiters. Implementing the superscript would involve the following:
After completing those steps you should be able to take text like |
I've done it in the same way, but I was wondering how to do it more flexible without modifying your code and add more cases by i.e. extensions for your classes :) |
To be honest, I did not think about a generic way to extend the parser or renderer. Doing so will probably mean not using an enum for the nodes, as swift enums cannot be extended with additional cases. In any case, it is out of the scope and was not my intention when I published this library. If you find an elegant and generic way to extend it, please do let me know. It is an interesting exercise. |
@gonzalezreal how can I add an rule which looks like "TEXT" where "**" is the new delimiter. The focus on this question is that I use two characters as delimiter. |
Hi @Kurt57, That would involve substantial changes in MarkupTokenizer.
Also it would require changing MarkupToken to accept strings as associated values instead of Finally, refactor all the code that depends on the As you can see, a lot of work 😅 |
As in the title 😄
The text was updated successfully, but these errors were encountered: