diff --git a/include/argparse/argparse.hpp b/include/argparse/argparse.hpp index 7da3462..aae066b 100644 --- a/include/argparse/argparse.hpp +++ b/include/argparse/argparse.hpp @@ -945,6 +945,21 @@ public: if (tIterator != mArgumentMap.end()) { return *(tIterator->second); } + if (aArgumentName.front() != '-') { + std::string nameStr(aArgumentName); + // "-" + aArgumentName + nameStr = "-" + nameStr; + tIterator = mArgumentMap.find(nameStr); + if (tIterator != mArgumentMap.end()) { + return *(tIterator->second); + } + // "--" + aArgumentName + nameStr = "-" + nameStr; + tIterator = mArgumentMap.find(nameStr); + if (tIterator != mArgumentMap.end()) { + return *(tIterator->second); + } + } throw std::logic_error("No such argument"); }