Skip to content

Commit c404a47

Browse files
committed
Speculative merge compat for mixed installs
1 parent 829eae8 commit c404a47

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

src/theme.jl

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -240,6 +240,27 @@ _mergedface(face::Face) = face
240240
_mergedface(face::Symbol) = get(Face, FACES.current[], face)
241241
_mergedface(faces::Vector) = mapfoldl(_mergedface, merge, Iterators.reverse(faces))
242242

243+
# To support mixed sysimage/external copies of the package
244+
function _mergedface(maybeface::Any)
245+
ftype = typeof(maybeface)
246+
if nameof(ftype) == :Face &&
247+
nameof(parentmodule(ftype)) == :StyledStrings &&
248+
fieldnames(ftype) == fieldnames(Face)
249+
Face(maybeface.font,
250+
maybeface.height,
251+
maybeface.weight,
252+
maybeface.slant,
253+
maybeface.foreground,
254+
maybeface.background,
255+
maybeface.underline,
256+
maybeface.strikethrough,
257+
maybeface.inverse,
258+
maybeface.inherit)
259+
else
260+
throw(MethodError(_mergedface, (maybeface,)))
261+
end
262+
end
263+
243264
"""
244265
getface(faces)
245266

0 commit comments

Comments
 (0)