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
Implement an Objective-C++ lexer #1378
Conversation
@saagarjha Development of Rouge should involve running the automated test suite (run I've added a demo file and a visual sample that are just copies of the Objective-C demo and sample. These should be adjusted to show Objective-C++ syntax. It perhaps goes without saying but you should also check the Objective-C visual sample to make sure it's behaving as it was before the change. Hope that helps! |
5ab90a4
to
4f909d5
Compare
In addition, factor out the common Objective-C bits into a shared module
This makes the methods available to class directly, so we don't have to add them manually via reflection.
|
||
tag 'objective_cpp' | ||
title "Objective-C++" | ||
desc 'an extension of C++ uncommonly used to write Apple software' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I see what you did here 🥇
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
;)
@saagarjha Thanks for your work on this. I've merged it into master. We release new versions of Rouge on a monthly schedule so this will be included in version 3.15.0 on Tuesday 14 January 🎉 |
Thanks, I look forwards to being able to use this! |
Certain objects that were extracted from the Objective-C lexer in #1378 needed to be prefaced with a `base` variable. This included the token classes. This was not done for `Error`. This commit fixes that mistake.
I tried my hand at factoring out the common Objective-C stuff into its own module, but I don't really know Ruby so the result is just me mashing scoping operators from other languages until it stopped giving me errors. Any suggestions or comments about this approach? I am fairly sure the Objective-C++ breaks on certain "mixed" constructs so I'll look into that next. Are there testcases I should write along with this?