fix warning for not loaded backends
This commit is contained in:
parent
9ec268928e
commit
7b78d99d99
@ -24,7 +24,7 @@ macro init_backend(s)
|
|||||||
export $sym
|
export $sym
|
||||||
$sym(; kw...) = (default(; kw...); backend(Symbol($str)))
|
$sym(; kw...) = (default(; kw...); backend(Symbol($str)))
|
||||||
backend_name(::$T) = Symbol($str)
|
backend_name(::$T) = Symbol($str)
|
||||||
backend_package_name(::$T) = sym in _default_backends ? :Plots : Symbol("Plots", $(string(s)))
|
backend_package_name(pkg::$T) = backend_name(pkg) in _default_backends ? :Plots : Symbol("Plots", $(string(s)))
|
||||||
push!(_backends, Symbol($str))
|
push!(_backends, Symbol($str))
|
||||||
_backendType[Symbol($str)] = $T
|
_backendType[Symbol($str)] = $T
|
||||||
_backendSymbol[$T] = Symbol($str)
|
_backendSymbol[$T] = Symbol($str)
|
||||||
@ -138,7 +138,7 @@ function pickDefaultBackend()
|
|||||||
env_default = get(ENV, "PLOTS_DEFAULT_BACKEND", "")
|
env_default = get(ENV, "PLOTS_DEFAULT_BACKEND", "")
|
||||||
if env_default != ""
|
if env_default != ""
|
||||||
sym = Symbol(lowercase(env_default))
|
sym = Symbol(lowercase(env_default))
|
||||||
if sym in _backends && backend_package_name(sym) in names(Main)
|
if sym in _default_backends
|
||||||
return backend(sym)
|
return backend(sym)
|
||||||
else
|
else
|
||||||
@warn("You have set PLOTS_DEFAULT_BACKEND=$env_default but it is not supported.")
|
@warn("You have set PLOTS_DEFAULT_BACKEND=$env_default but it is not supported.")
|
||||||
@ -187,21 +187,26 @@ end
|
|||||||
Set the plot backend.
|
Set the plot backend.
|
||||||
"""
|
"""
|
||||||
function backend(pkg::AbstractBackend)
|
function backend(pkg::AbstractBackend)
|
||||||
if backend_name(pkg) in names(Main)
|
if backend_package_name(pkg) in nameof.(collect(values(Base.loaded_modules)))
|
||||||
CURRENT_BACKEND.sym = backend_name(pkg)
|
CURRENT_BACKEND.sym = backend_name(pkg)
|
||||||
warn_on_deprecated_backend(CURRENT_BACKEND.sym)
|
warn_on_deprecated_backend(CURRENT_BACKEND.sym)
|
||||||
CURRENT_BACKEND.pkg = pkg
|
CURRENT_BACKEND.pkg = pkg
|
||||||
else
|
else
|
||||||
@warn("To use $(_backendSymbol[pkg]) you have to run `using $(backend_package_name(pkg))` before.")
|
@warn("To use the `:$(backend_name(pkg))` backend, run `using $(backend_package_name(pkg))`.")
|
||||||
end
|
end
|
||||||
backend()
|
backend()
|
||||||
end
|
end
|
||||||
|
|
||||||
function backend(modname::Symbol)
|
function backend(modname::Symbol)
|
||||||
if modname in _backends
|
if modname in _backends
|
||||||
|
bpn = backend_package_name(_backend_instance(modname))
|
||||||
|
if bpn in nameof.(collect(values(Base.loaded_modules)))
|
||||||
warn_on_deprecated_backend(modname)
|
warn_on_deprecated_backend(modname)
|
||||||
CURRENT_BACKEND.sym = modname
|
CURRENT_BACKEND.sym = modname
|
||||||
CURRENT_BACKEND.pkg = _backend_instance(modname)
|
CURRENT_BACKEND.pkg = _backend_instance(modname)
|
||||||
|
else
|
||||||
|
@warn("To use the `:$modname` backend, run `using $bpn`.")
|
||||||
|
end
|
||||||
else
|
else
|
||||||
@warn("`:$modname` is not a supported Plots backend.")
|
@warn("`:$modname` is not a supported Plots backend.")
|
||||||
end
|
end
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user