Solve arguments() showing empty keys when exsiting short-only option
This commit is contained in:
parent
ad2d1a6b5f
commit
c14de8a092
@ -1287,6 +1287,13 @@ namespace cxxopts
|
||||
return m_long;
|
||||
}
|
||||
|
||||
CXXOPTS_NODISCARD
|
||||
const std::string&
|
||||
essential_name() const
|
||||
{
|
||||
return m_long.empty() ? m_short : m_long;
|
||||
}
|
||||
|
||||
size_t
|
||||
hash() const
|
||||
{
|
||||
@ -2150,7 +2157,7 @@ OptionParser::parse_default(const std::shared_ptr<OptionDetails>& details)
|
||||
// TODO: remove the duplicate code here
|
||||
auto& store = m_parsed[details->hash()];
|
||||
store.parse_default(details);
|
||||
m_defaults.emplace_back(details->long_name(), details->value().get_default_value());
|
||||
m_defaults.emplace_back(details->essential_name(), details->value().get_default_value());
|
||||
}
|
||||
|
||||
inline
|
||||
@ -2174,7 +2181,7 @@ OptionParser::parse_option
|
||||
auto& result = m_parsed[hash];
|
||||
result.parse(value, arg);
|
||||
|
||||
m_sequential.emplace_back(value->long_name(), arg);
|
||||
m_sequential.emplace_back(value->essential_name(), arg);
|
||||
}
|
||||
|
||||
inline
|
||||
|
||||
Loading…
Reference in New Issue
Block a user