-
Notifications
You must be signed in to change notification settings - Fork 0
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 computed category "extensions" to show methods in other packages #68
Comments
Now that we have the Package tab again, we can see which methods are in which package. I don't think a computed The Pharo extension category is displayed for comparison. |
We are trying to get away from using categories for packaging info, however, for the Monticello and RowanHybrid package conventions, the tonel file will record a fabricated The Rowan package convention does indeed ignore the category for packaging purposes, so we could continue to get away with defining a category for Rowan convention extension methods and I assume that these methods WOULD NOT show up in the computed category. Rowan package convention is incompatible with Pharo and Monticello/RowanHybrid will have to be used for cross-platform projects. My thoughts are that we should discuss this in more detail 😄 |
Here's a first cut at a description of how we will be manipulating methods and I think that we might still want to have the computed extensions category ... but we have more information to work with .... Tonel constraintsThe method category field on disk must be defined. RowanHybrid*PACKAGE-NAME Monticello*PACKAGE-NAME ROWAN<category-name>, default ‘other’ Jadeite Method Constraints
All of the non-extension methods that were in the original package will be moved to the target package and will retain their original category. |
Will need to describe what happens when an unpackaged class with extension methods is moved to Rowan and RowanHybrid/Monticello packages |
It seems that the point of the computed extension category is not about displaying package information, but about how to deal with extension methods when the category tab is enabled, since some of the methods will not have a category defined and for those methods (in RowanHybrid and Monticello packages) we do not want to display the tonel category because we do not want users to think they can create or move a method to those categories ... remember we got here because we're trying to get out of the business of using the category for packaging information .. so I think it is "cleaner" to hide the tonel categories in the category tab than to disallow method creation or moves into the SPECIAL tonel categories... but cleaner or not is open to discussion ... With Rowan packages the tonel category is not part of the convention so we could get away with not displaying Rowan package extensions in the computed category, but if we have an 'extensions' category that does not show all extension methods I think that is odd... but this is a debatable point as well |
A "final" note ... we need to disallow the creation of categories that look like they could be interpreted as a RowanHybrid/Monticello tonel category ... |
After discussions, having a simple computed extensions category is a helpful tool. I'll add that and we can make it more feature rich in the future if desired.
|
Computed extensions category seems to be mostly working. category is purple |
In a style similar to what Pharo does, compute a category named
extensions
in the browser in the category list.It should be visually distinct from other categories and show all methods extended in other packages.
The text was updated successfully, but these errors were encountered: