obj allRoles select: [|:item| (item value bitAnd: 1) = 1 /\ [item key beginsWith: s]] collect: [|:item| item key]
].
-m@(Method traits) editExternally &editor: editor
+m@(Method traits) reload
[
- editor `defaultsTo: (Environment at: 'EDITOR').
m sourceTree ifNotNilDo:
- [| :src fileName lineNumber |
- fileName: src source resource locator.
- lineNumber: src lineNumber.
- fileName isNotNil /\ [lineNumber isNotNil]
- ifTrue:
- [Platform run: editor ; ' +' ; (lineNumber as: String) ; ' ' ; (fileName as: String)]]
+ [| :src |
+ (src source resource as: Module) load]
+].
+
+m@(Method traits) editExternally &editor: editor &reload: reload
+[
+ editor `defaultsTo: (Environment at: 'EDITOR').
+ reload `defaultsTo: False.
+ m sourceTree
+ ifNil:
+ [warn: 'No source information available.'. False]
+ ifNotNilDo:
+ [| :src |
+ src source resource locator
+ ifNil:
+ [warn: 'File-based source information unavailable.'. False]
+ ifNotNilDo:
+ [| :fileName result |
+ result: (Platform run: editor
+ ; (src lineNumber ifNil: [''] ifNotNilDo: [| :n | ' +' ; n printString])
+ ; ' ' ; (fileName as: String)).
+ result /\ reload ifTrue: [m reload].
+ result]]
].
l resolvePathOf: file.
oldLevel: l Level.
l Level: l Level + 1.
- [file reader sessionDo: [| :input | l process: input] &mode: file Read] ensure: [l Level: oldLevel]
-
+ [file sessionDo:
+ [| :input | l process: input reader] &mode: file Read]
+ ensure: [l Level: oldLevel]
].
l@(Load traits) resolvePathOf: file@(File traits)