Control over Fortran file extensions recognised by ModuleManager#3469
Control over Fortran file extensions recognised by ModuleManager#3469mn416 wants to merge 6 commits into
ModuleManager#3469Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #3469 +/- ##
=========================================
Coverage 100.00% 100.00%
=========================================
Files 395 395
Lines 55199 55228 +29
=========================================
+ Hits 55199 55228 +29 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
LonelyCat124
left a comment
There was a problem hiding this comment.
@mn416 This mostly seems fine - I have one slight request to change the defaults as well. I will set the ITs running after that.
…recognised by `ModuleManager`
|
Thanks @LonelyCat124. Change made. |
|
Setting ITs running and then will proceed to merge unless they flag any issues. |
LonelyCat124
left a comment
There was a problem hiding this comment.
Ready to merge once the new release is done.
LonelyCat124
left a comment
There was a problem hiding this comment.
One minor change requested actually.
| if not isinstance(exts, set): | ||
| raise TypeError( | ||
| f"'fortran_file_exts' must be a set, but found " | ||
| f"{type(exts).__name__}") |
There was a problem hiding this comment.
Actually @mn416 one minor formatting thing - would you mind adjust this to
raise TypeErrror(
f"...."
f"...."
)
before I merge? I can't merge this until after our release anyway
Basic stuff, but I started using PSyclone in a code base with
.f95files and wondered why imports were not getting resolved. Turns out thatModuleManagerhas a limited set of harded coded file extensions that doesn't include.f95so this PR adds the ability to add/remove Fortran file extensions recognised byModuleManager. It also abstracts out a commonly used "doesn't need preprocessing" check into a method, which makes the code a bit cleaner.Edit: I believe these changes preserve existing behaviour exactly; they just introduce methods to allow modification of the default settings.