Commit 52e2f8b140c85b59d03553393d5a944cf912d1ed
Committed by
jarro2783
1 parent
c2c22626
Remove curly single-quotes only on Windows (#68)
This uses normal single quotes when on a Windows platform.
Showing
1 changed file
with
24 additions
and
16 deletions
include/cxxopts.hpp
| ... | ... | @@ -243,6 +243,14 @@ namespace cxxopts |
| 243 | 243 | |
| 244 | 244 | namespace cxxopts |
| 245 | 245 | { |
| 246 | +#ifdef _WIN32 | |
| 247 | + const std::string LQUOTE("\'"); | |
| 248 | + const std::string RQUOTE("\'"); | |
| 249 | +#else | |
| 250 | + const std::string LQUOTE("‘"); | |
| 251 | + const std::string RQUOTE("’"); | |
| 252 | +#endif | |
| 253 | + | |
| 246 | 254 | class Value : public std::enable_shared_from_this<Value> |
| 247 | 255 | { |
| 248 | 256 | public: |
| ... | ... | @@ -319,7 +327,7 @@ namespace cxxopts |
| 319 | 327 | { |
| 320 | 328 | public: |
| 321 | 329 | option_exists_error(const std::string& option) |
| 322 | - : OptionSpecException(u8"Option ‘" + option + u8"’ already exists") | |
| 330 | + : OptionSpecException(u8"Option " + LQUOTE + option + RQUOTE + u8" already exists") | |
| 323 | 331 | { |
| 324 | 332 | } |
| 325 | 333 | }; |
| ... | ... | @@ -328,7 +336,7 @@ namespace cxxopts |
| 328 | 336 | { |
| 329 | 337 | public: |
| 330 | 338 | invalid_option_format_error(const std::string& format) |
| 331 | - : OptionSpecException(u8"Invalid option format ‘" + format + u8"’") | |
| 339 | + : OptionSpecException(u8"Invalid option format " + LQUOTE + format + RQUOTE) | |
| 332 | 340 | { |
| 333 | 341 | } |
| 334 | 342 | }; |
| ... | ... | @@ -337,7 +345,7 @@ namespace cxxopts |
| 337 | 345 | { |
| 338 | 346 | public: |
| 339 | 347 | option_not_exists_exception(const std::string& option) |
| 340 | - : OptionParseException(u8"Option ‘" + option + u8"’ does not exist") | |
| 348 | + : OptionParseException(u8"Option " + LQUOTE + option + RQUOTE + u8" does not exist") | |
| 341 | 349 | { |
| 342 | 350 | } |
| 343 | 351 | }; |
| ... | ... | @@ -346,7 +354,7 @@ namespace cxxopts |
| 346 | 354 | { |
| 347 | 355 | public: |
| 348 | 356 | missing_argument_exception(const std::string& option) |
| 349 | - : OptionParseException(u8"Option ‘" + option + u8"’ is missing an argument") | |
| 357 | + : OptionParseException(u8"Option " + LQUOTE + option + RQUOTE + u8" is missing an argument") | |
| 350 | 358 | { |
| 351 | 359 | } |
| 352 | 360 | }; |
| ... | ... | @@ -355,7 +363,7 @@ namespace cxxopts |
| 355 | 363 | { |
| 356 | 364 | public: |
| 357 | 365 | option_requires_argument_exception(const std::string& option) |
| 358 | - : OptionParseException(u8"Option ‘" + option + u8"’ requires an argument") | |
| 366 | + : OptionParseException(u8"Option " + LQUOTE + option + RQUOTE + u8" requires an argument") | |
| 359 | 367 | { |
| 360 | 368 | } |
| 361 | 369 | }; |
| ... | ... | @@ -368,9 +376,9 @@ namespace cxxopts |
| 368 | 376 | const std::string& option, |
| 369 | 377 | const std::string& arg |
| 370 | 378 | ) |
| 371 | - : OptionParseException( | |
| 372 | - u8"Option ‘" + option + u8"’ does not take an argument, but argument‘" | |
| 373 | - + arg + "’ given") | |
| 379 | + : OptionParseException( | |
| 380 | + u8"Option " + LQUOTE + option + RQUOTE + u8" does not take an argument, but argument" | |
| 381 | + + LQUOTE + arg + RQUOTE + " given") | |
| 374 | 382 | { |
| 375 | 383 | } |
| 376 | 384 | }; |
| ... | ... | @@ -379,7 +387,7 @@ namespace cxxopts |
| 379 | 387 | { |
| 380 | 388 | public: |
| 381 | 389 | option_not_present_exception(const std::string& option) |
| 382 | - : OptionParseException(u8"Option ‘" + option + u8"’ not present") | |
| 390 | + : OptionParseException(u8"Option " + LQUOTE + option + RQUOTE + u8" not present") | |
| 383 | 391 | { |
| 384 | 392 | } |
| 385 | 393 | }; |
| ... | ... | @@ -391,9 +399,9 @@ namespace cxxopts |
| 391 | 399 | ( |
| 392 | 400 | const std::string& arg |
| 393 | 401 | ) |
| 394 | - : OptionParseException( | |
| 395 | - u8"Argument ‘" + arg + u8"’ failed to parse" | |
| 396 | - ) | |
| 402 | + : OptionParseException( | |
| 403 | + u8"Argument " + LQUOTE + arg + RQUOTE + u8" failed to parse" | |
| 404 | + ) | |
| 397 | 405 | { |
| 398 | 406 | } |
| 399 | 407 | }; |
| ... | ... | @@ -402,10 +410,10 @@ namespace cxxopts |
| 402 | 410 | { |
| 403 | 411 | public: |
| 404 | 412 | option_required_exception(const std::string& option) |
| 405 | - : OptionParseException | |
| 406 | - ( | |
| 407 | - u8"Option ‘" + option + u8"’ is required but not present" | |
| 408 | - ) | |
| 413 | + : OptionParseException | |
| 414 | + ( | |
| 415 | + u8"Option " + LQUOTE + option + RQUOTE + u8" is required but not present" | |
| 416 | + ) | |
| 409 | 417 | { |
| 410 | 418 | } |
| 411 | 419 | }; | ... | ... |