summaryrefslogtreecommitdiff
path: root/src/click/core.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/click/core.py')
-rw-r--r--src/click/core.py8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/click/core.py b/src/click/core.py
index 6cdba37..77a536a 100644
--- a/src/click/core.py
+++ b/src/click/core.py
@@ -2853,6 +2853,14 @@ class Option(Parameter):
value = self.flag_value
source = ParameterSource.COMMANDLINE
+ elif (
+ self.multiple
+ and value is not None
+ and any(v is _flag_needs_value for v in value)
+ ):
+ value = [self.flag_value if v is _flag_needs_value else v for v in value]
+ source = ParameterSource.COMMANDLINE
+
# The value wasn't set, or used the param's default, prompt if
# prompting is enabled.
elif (