markershape fix; added require option for recipes
This commit is contained in:
parent
cf03779c5b
commit
cd25c7acb2
@ -625,7 +625,8 @@ function preprocessArgs!(d::KW)
|
||||
kw = KW()
|
||||
for k in keys(d)
|
||||
try
|
||||
default(k)
|
||||
# this should error for invalid keywords (assume they are user-defined)
|
||||
k == :markershape_to_add || default(k)
|
||||
catch
|
||||
# not a valid key... pop and add to user list
|
||||
kw[k] = pop!(d, k)
|
||||
|
||||
@ -52,11 +52,13 @@ function replace_recipe_arrows!(expr::Expr)
|
||||
|
||||
# process trailing flags, like:
|
||||
# a --> b, :quiet, :force
|
||||
quiet, force = false, false
|
||||
quiet, require, force = false, false, false
|
||||
if _is_arrow_tuple(e)
|
||||
for flag in e.args
|
||||
if _equals_symbol(flag, :quiet)
|
||||
quiet = true
|
||||
elseif _equals_symbol(flag, :require)
|
||||
require = true
|
||||
elseif _equals_symbol(flag, :force)
|
||||
force = true
|
||||
end
|
||||
@ -80,6 +82,9 @@ function replace_recipe_arrows!(expr::Expr)
|
||||
expr.args[i] = if quiet
|
||||
# quietly ignore keywords which are not supported
|
||||
:($keyexpr in supportedArgs() ? $set_expr : nothing)
|
||||
elseif require
|
||||
# error when not supported by the backend
|
||||
:($keyexpr in supportedArgs() ? $set_expr : error("In recipe: required keyword ", $k, " is not supported by backend $(backend_name())"))
|
||||
else
|
||||
set_expr
|
||||
end
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user