Commit Graph

122 Commits

Author SHA1 Message Date
Vladimir Prus
331ed69055 Merge branch 'develop' 2018-07-06 10:36:17 +03:00
Vladimir Prus
a2cbe31bef fix typo 2018-07-06 10:34:49 +03:00
Vladimir Prus
46ad442da1 Merge branch 'develop' 2018-06-27 22:32:29 +03:00
Eyal Rozenberg
589d55837e Fixes #1: Support for multiple long names per option
An unintrusive implementation - no existing interfaces changed, and a single addition for obtaining all of the different long names.

Notes:

* Tests added for the new functionality, and existing tests expanded to take it into account.
* It is now impossible to specify long names with commas in them (but then, that wasn't properly supported before either, more of an oversight).
* The multiple long options are not included in the usage information - just the first one of them is printed
2018-06-27 22:25:43 +03:00
Vladimir Prus
46caf622db Merge branch 'develop' 2018-03-15 22:21:23 +03:00
Kohei Takahashi
84d5b35261 Compile error with initializer list on c++03 2018-03-06 22:35:28 +03:00
Peter Dimov
ec3aded08e Add quick test target (for CI) 2017-12-02 18:38:20 +02:00
Vladimir Prus
d9ef3853c6 Merge branch 'develop' 2017-07-24 21:48:56 +03:00
Vladimir Prus
d164a20bc9 Additional test for error reporting.
Closes #30.
2017-07-24 21:48:04 +03:00
Vladimir Prus
0565d1ee16 Merge from develop for 1.65.0
- Make options with implicit value use next token, like it did
  before.
- Support boost::optional option variables.
- Fix syntax error with BOOST_NO_EXCEPTIONS
- Fix uninitlized position_key in some cases.
2017-06-24 20:06:06 +03:00
Vladimir Prus
ed72cc2f92 Add tests for the current implicit_value behaviour. 2017-06-10 22:44:09 +03:00
Vladimir Prus
7729850bb7 Make options with implicit value use next token.
This commit reverts:

    - 88dea3c6fd.
    "Stop options with implicit value from consuming separate tokens."

    - 0c01e9aadc.
    "Add testing for implicit_values and non-consuming of separate tokens."

These commits from 2014 made options with implicit_value set only
consult value in the same token. The problem is that now implicit_value,
a sematic properly, forces a particular syntax, which proved to be
confusing.
2017-06-10 22:44:09 +03:00
Edward Catmur
3277249932 Support boost::optional option variables. 2016-12-21 13:18:47 +03:00
Vladimir Prus
fae2d4c57b Merge from develop for 1.59
- Fix compilation errors, missing dllexport and warnings on
  Windows and/or MSVC (Daniela Engert, Marcel Raad)

- Fix unintialized fields (Zoey Greer)

- Stop options with implicit value from consuming separate tokens (Michael John Decker)

- Make multitoken limit be max int, not 32K (Hans Hohenfeld)

- Code formatting and documentation fixes (Jurko, Lauri Nurmi)

- Minimal support for no-rtti build (Minmin Gong)

- Don't increment environment pointer past the end (Vladimir Prus)
2015-06-09 09:54:19 +03:00
Vladimir Prus
0756d35f8b Remove more unnecessary use of boost::type_index. 2015-05-01 19:15:36 +03:00
Minmin Gong
6feeeb3b92 Using type_index to avoid RTTIs in program_options. (fixes #10347) 2015-04-30 22:10:44 +03:00
Michael John Decker
0c01e9aadc Add testing for implicit_values and non-consuming of separate tokens. 2014-12-31 02:04:17 +03:00
Vladimir Prus
145e5728d7 Unbreak cmdline_test.
There was a k-vs-j loop error introduced by a prior comment.
2014-12-30 10:15:10 +03:00
Marcel Raad
1a17f20532 Compile fix for MSVC 14
Also fixes some new variable shadowing warnings
in cmdline_test with Visual C++ 14.
2014-11-24 17:16:21 +03:00
Vladimir Prus
fda6414443 Don't use vector<>::data.
This is only required by C++ 11. Most compilers have it anyway,
but there are exceptions, like msvc 8 and msvc 9.
2013-12-19 08:09:13 +04:00
Vladimir Prus
9d7c987526 Remove tabs. 2013-12-04 09:17:17 +04:00
Vladimir Prus
b430a83dfb Fix report of error for options with dashes.
Fixes #8009.
Patch from Markus Roth.


[SVN r82805]
2013-02-10 12:07:05 +00:00
Vladimir Prus
96b365ce17 Revive exception_txt_test.
Found while working on #8009.


[SVN r82804]
2013-02-10 11:59:51 +00:00
Vladimir Prus
5cbfa80841 Allow to specify how option's value is named in help message.
Fixes #4781.


[SVN r77931]
2012-04-12 08:37:34 +00:00
Vladimir Prus
fd7b310993 Improve error reporting.
The name of option is now shown in most cases when it's feasible, and
clarify of the error messages has been improved throughout.

Patch from Leo Goodstadt.


[SVN r77827]
2012-04-08 08:42:39 +00:00
Vladimir Prus
825562ed1e Add more testscases. Addresses #4469.
[SVN r67773]
2011-01-08 10:49:06 +00:00
Marshall Clow
56d2c97ece patch tests for Sun; refs #3909
[SVN r67006]
2010-12-04 17:39:24 +00:00
Vladimir Prus
f0fdc822d4 Update the code size measurement tool
[SVN r63916]
2010-07-12 07:53:24 +00:00
Vladimir Prus
53ba9ab34f Robustify disambiguation of full/approximate matches.
Fixes #3942.


[SVN r59744]
2010-02-18 09:43:07 +00:00
Vladimir Prus
85b2b1c890 Make tests works regardless of what the current directory is.
[SVN r58606]
2009-12-31 08:34:07 +00:00
Sascha Ochsenknecht
a5e45eda5f reactive case_insensitive style for cmdline
[SVN r58273]
2009-12-10 20:25:53 +00:00
Sascha Ochsenknecht
970e377710 Enhancement to flag options as required, Fixes #2982
[SVN r58263]
2009-12-10 08:46:44 +00:00
Sascha Ochsenknecht
645adb48cb Allow passing file name to parse_config_file(), Fixes #3264
[SVN r58248]
2009-12-09 13:45:01 +00:00
Sascha Ochsenknecht
f4e7fb0348 config file parser now stores original_tokens, Fixes #2727
[SVN r58233]
2009-12-08 07:45:44 +00:00
Sascha Ochsenknecht
9a04daa2b2 Better detection of missing values on command line, Fixes #3423
[SVN r58184]
2009-12-06 09:52:53 +00:00
Sascha Ochsenknecht
5f01f7bf3f better detection of ambiguous options, see Ticket #3423
[SVN r58152]
2009-12-05 08:08:45 +00:00
Sascha Ochsenknecht
6e0f1db1fc Clean up exception classes, changes regarding to Ticket #3423
[SVN r58138]
2009-12-04 13:38:56 +00:00
Sascha Ochsenknecht
35bf26f432 Changed defaults for split_unix() function to be more compliant to unix command line style
[SVN r58134]
2009-12-04 10:15:11 +00:00
Sascha Ochsenknecht
00dadb4203 enhance split_unix() to allow unix style splitting of command line string
[SVN r58133]
2009-12-04 08:09:43 +00:00
Sascha Ochsenknecht
60966caa35 Additional parameter to allow user to specify width of column for description text, patch from Chard, Fixes #3703
[SVN r58095]
2009-12-02 13:35:54 +00:00
Sascha Ochsenknecht
6b194eed21 additional patch for Ticket #1527
[SVN r58054]
2009-11-30 13:38:14 +00:00
Sascha Ochsenknecht
b3e9b5180e add general split function, Fixes #2561
[SVN r57971]
2009-11-27 17:47:51 +00:00
Sascha Ochsenknecht
78693e8799 store empty values from config file, Fixes #1537
[SVN r57829]
2009-11-21 07:59:41 +00:00
Sascha Ochsenknecht
ccbbcab336 allow empty values in config file, Fixes #1537
[SVN r57819]
2009-11-20 16:53:10 +00:00
Sascha Ochsenknecht
249094d496 added test case, Fixes #2994
[SVN r57817]
2009-11-20 14:18:36 +00:00
Sascha Ochsenknecht
8add1551dc remove compile warnings
[SVN r57805]
2009-11-20 09:50:43 +00:00
Vladimir Prus
aaa914e9a4 Add option name to a few exception classes.
Fixes #3423. Patch from Sascha Ochsenknecht.


[SVN r57746]
2009-11-18 13:35:14 +00:00
Vladimir Prus
e1010ad09e Fix warnings.
Addresses #3603.
Patch from Sascha Ochsenknecht.


[SVN r57535]
2009-11-10 06:59:54 +00:00
Vladimir Prus
c6b373ff48 Fix wordwrapping in presense of default parameters.
Fixes #2613.
Patch from Sascha Ochsenknecht.


[SVN r57517]
2009-11-09 16:12:31 +00:00
Vladimir Prus
5a5ad8df61 Test for \t-alignment of options descriptions.
Fixes #1527.
Patch from Sascha Ochsenknecht.


[SVN r57515]
2009-11-09 15:57:51 +00:00